htaccessでパスワード認証

ここにはまだApache2の記事を掲載していないのですが、実は今のサーバにはApache2を設定してあり、ちょこちょこ運用しています。

特定のディレクトリ内にアクセスされたくない場合や、自動転送などさせたい方法として、.htaccessというファイルを使って制限する方法があります。

ここでは、htaccessとhtpasswdでできる簡易パスワード認証を記録します。
SSL認証と違い、認証時の暗号化はされないので、過信はしてはいけません。

Apache2の構成なのですが、現在はユーザごとに区分されています。これの詳しい記事は後日。

/home/ユーザ名/public_html/ ※ディレクトリ
http://アドレス/~ユーザ名 ※HTTPアクセス時

まず、制限をかけたいディレクトリに移動し、.htaccessファイルを作成します。

# cd /home/ユーザ名/public_html
# vi .htaccess
AuthName "User Authentication Required!" ※ここは好きな名前でよい
AuthType Basic ※ベーシック認証
Require valid-user ※登録ユーザのみ可
AuthUserFile /home/haohao/.htpasswd ※.htpasswdのパス

次に、.htpasswdを作成しますが、基本的に外部から読まれない場所に作成したほうがよいです。よく見かけるコマンドはhtpasswdですが、Apache2だからなのか、コマンドがhtpasswd2となっていますので注意してください。

# cd ../ ※Web公開ディレクトリ外に移動
# htpasswd2 -c .htpasswd ユーザ名
New password: パスワード入力
Re-type new password: 確認入力
Adding password for user

これで、一応パスワード認証が適用されます。

先ほども言いましたが、今回の例はベーシック認証なのでパケットの盗聴をされるとパスワードを読まれる可能性があるので、過信しないでください。

暗号化を行うダイジェスト認証もありますが、対応するブラウザがあるらしいので、そこまでいくならSSL認証を検討したほうがよいかもしれません(そういうものではないのかな)。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中