LoginSignup
135
137

More than 5 years have passed since last update.

Basic認証設定

Posted at

任意の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認証というのがあるみたい。。。後日調べてまとめてみようと思います。

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

135
137
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
135
137