Basic認証の設定

このブログのパーティションを切って書いている、息子の成長日記w
サーバを再インストールした際に、認証の設定のバックアップを取り忘れたので
もう一度Basic認証を掛ける事にした。


Bashic認証で気を付けなければ行けないのは、認証パスワードを平文で送信してしまう事。
平文、つまりログインパスワードを暗号化せずに送信している事になる。
有料コンテンツの情報や個人情報などの機密情報を表示する為には決して使ってはいけない認証方式ですが、Apacheに標準で付いている機能なので、追加のモジュールなどは一切いらずに、設定が容易な事が唯一の利点かな。
【息子の成長日記】って、個人情報じゃね?
まぁ、厳密に言うとそうなのですが、画像や名前が割れたところで、被害は少ないし、
ただの親バカなブログですから(^_^;)
で、本題です。
Basic認証を行なうには、.htaccessファイルを使用しますが、その前にApacheにBasic認証を行なうよ!と指定をしなくてはなりません。
他のディストリビューションは知りませんが、Fedora Core5は初期状態だと.htaccessの使用は禁止になっています。
httpd.confを開いて、下記の項目を修正します。

Options Indexes FollowSymLinks
AllowOverride AuthConfig ←Noneから修正
Order allow,deny
Allow from all

保存後、Apacheを再起動して修正点を反映させます。
次に、.htaccessファイルを作成します。
設置する場所は、認証を掛けたい場所になります。
※.htaccessが置かれている配下は全て認証が掛かりますので気をつけて下さい(^^)
.htaccessの内容は下記になります。
AuthUserFile /etc/.htpasswd
AuthName “Haruki’s Diary”
AuthType Basic
require valid-user
上から説明すると、
1行目はパスワードファイルの置き場を指定。
2行目は認証時の説明文を指定。
3行目は認証の開始を宣言。
4行目はAuthUserFileで指定された
パスワードファイルに登録されている全てのユーザが認証後にリソースを使用できる。
といった内容です。
作成した.htaccessのパーミッションを644に変更します。
次に、パスワードファイルとして.htaccessに指定したように
/etc/.hpasswdを作成します。
中身は【アカウント名:暗号化パスワード】の書式で作成します。
【test:.UFcTA9gU3oJs】見たいな感じになります。
わざわざ設定したいパスワードを暗号文に変えて記入する・・・。
そんな事やっていたら複数アカウントを発行しなければならない時に
発狂してしまいます・・・orz
そこで、htpasswdを作成するコマンドを使用します。
htpasswd -c /etc/.htpasswd アカウント名
New password:(パスワードを入力)
Re-type new password:(パスワードを再入力)
Adding password for user test01

上記のコマンドで暗号化されたtest用のパスワードが/etc/.htpasswdに作成されました。※-c オプションは.htpasswdを新規で作成する時に使用します。
これでBasic認証の設定が完了しました。
.htaccessを設置したディレクトリに移動する際に、認証用のウィンドウが表示され、作成したアカウント/パスワードにてログイン出来れば完了です。

コメントを残す

メールアドレスが公開されることはありません。