Basic認証設定

  • 69
    Like
  • 0
    Comment
More than 1 year has passed since last update.

任意のURLに入ろうとしたときにアクセス制限をかけたい、ということで今回はBasic認証について調べてまとめました。

<環境>
CentOS 6.4
Apache 2.2.15

Basic認証とは

サイトやディレクトリへのアクセス制限方法のひとつ。限定されたユーザにのみサイトやページへのアクセスを許可したい場合に用いられる。

BASIC認証への道

ユーザへのパスワード発行

htpasswdコマンドを使ってユーザにパスワードを発行します。今回は初めて設定するということで以下のコマンドを使用しました。

htpasswd -c -b /etc/httpd/conf/.htpasswd ユーザ名 パスワード

オプション -c : 新しいパスワードファイルを作成する。既存ファイルがあった場合は上書きされる。

オプション -b : パスワードを対話式ではなくコマンドライン引数として入力できるようにする。

*すでにhtpasswdファイルがある場合かつそれに追記したい場合はオプション -c を外してください。

特定サイトへのBasic認証設定

エディタでApacheの設定ファイル /etc/httpd/conf/httpd.conf を開いてください。ここではviを使います。

vi /etc/httpd/conf/httpd.conf

そして最終行に下記を記述してください。

<Directory "/var/www/phpMyAdmin/">
      AuthUserFile /etc/httpd/conf/.htpasswd
      AuthGroupFile /dev/null
      AuthName "Basic Auth"
      AuthType Basic
      Require valid-user
</Directory>

上記例では phpMyAdmin にアクセスしようとしたときにBASIC認証が行われるように設定しました。

最後に、Apacheを再起動してください。

/etc/init.d/httpd restart

これでphpMyAdminのBasic認証設定が完了しました。

これで大丈夫!かと思ったらBasic認証は盗聴や改竄が簡単にできてしまうという欠点があるらしいです。これを防ぐためにDigest認証というのがあるみたい。。。後日調べてまとめてみようと思います。

最後までお読みいただきありがとうございました。