#author("2018-08-23T18:11:47+09:00","","")

#author("2018-08-23T18:12:50+09:00","","")

[[CentOS7]]

*Webページパスワード制限(htpasswd) [#qa0f5b3f]
Webページへのアクセスにユーザー名とパスワードによるアクセス制限をかける。

ここでは、https://hoge.com/secret/ 以下のWebページへユーザー名(hogehogeとする)とパスワード(hogepassとする)によるアクセス制限をかけるようにする。

なお、''htpasswd''によるユーザー名、パスワード情報はほぼ平文でネットワーク上を流れるため、盗聴に備えてSSL経由でしかアクセスできないようにする。

※Webサーバー、Webサーバー間通信内容暗号化が導入済であること

*Webサーバー設定 [#a985d65c]

|BGCOLOR(black):COLOR(white):|c
|vi /etc/httpd/conf/httpd.conf &color(lime){← Webサーバー設定ファイル編集};|
|<Directory "/var/www/html"> &br;  &br; # &br; # Possible values for the Options directive are "None", "All", &br; # or any combination of: &br; #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews &br; # &br; # Note that "MultiViews" must be named *explicitly* --- "Options All" &br; # doesn't give it to you. &br; # &br; # The Options directive is both complicated and important.  Please see &br; # http://httpd.apache.org/docs-2.0/mod/core.html#options &br; # for more information. &br; # &br;     Options Includes ExecCGI FollowSymLinks &br;  &br; # &br; # AllowOverride controls what directives may be placed in .htaccess files. &br; # It can be "All", "None", or any combination of the keywords: &br; #   Options FileInfo AuthConfig Limit &br; # &br;     AllowOverride All ← Allにする(.htaccessを許可)|
|[root@localhost ~]# systemctl reload httpd &color(lime){← Webサーバー設定反映};|

*.htpasswdファイル作成 [#ue29df31]
**.htpasswdファイルを新規作成する場合 [#u628730a]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# htpasswd -b -c -m /etc/httpd/conf/.htpasswd hogehoge hogepass &color(lime){← .htpasswdを作成してユーザーhogehogeを登録する};|
|Adding password for user hogehoge|


**既存の.htpasswdファイルへユーザーを追加する場合 [#g81451eb]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# htpasswd -b -m /etc/httpd/conf/.htpasswd hogehoge hogepass &color(lime){← 既存の.htpasswdへユーザーhogehogeを登録する};|
|Adding password for user hogehoge|

**ユーザー登録確認 [#u70979a0]
|BGCOLOR(black):COLOR(white):|c

|[root@localhost ~]# cat /etc/httpd/conf/.htpasswd &color(lime){← ユーザー登録確認};|
|hogehoge:vYwnFfo59lI/c|

*Webページパスワード制限確認 [#ve92a8d7]
**テスト用ディレクトリ、ページ作成 [#kb2dd803]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# mkdir /var/www/html/secret &color(lime){← テスト用ディレクトリ作成};|
|[root@localhost ~]# echo test > /var/www/html/secret/index.html &color(lime){← テスト用ページ作成};|

**.htaccessファイル作成 [#e3a5b5ce]
''.htpasswd''に登録してある全てのユーザー名で認証できるようにする場合
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /var/www/html/secret/.htaccess &color(lime){← テスト用ディレクトリに.htaccess作成};|
|SSLRequireSSL &br; AuthUserFile /etc/httpd/conf/.htpasswd &br; AuthGroupFile /dev/null &br; AuthName "secret page" &br; AuthType Basic &br; require valid-user|

**.htaccessファイル作成 [#b942efdf]
.htpasswdに登録してある特定のユーザー名(ここでは、認証を許可するユーザー名をhogehogeとする)でのみ認証できるようにする場合
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# vi /var/www/html/secret/.htaccess &color(lime){← テスト用ディレクトリに.htaccess作成};|
|SSLRequireSSL &br; AuthUserFile /etc/httpd/conf/.htpasswd &br; AuthGroupFile /dev/null &br; AuthName "secret page" &br; AuthType Basic &br; require user hogehoge &color(lime){← 認証を許可するユーザー名を指定};|

**ユーザー認証確認 [#h42b1e17]
-https://サーバー名/secret/にアクセスしてユーザー認証画面が表示され、ユーザー名、パスワードに''.htpasswd''ファイルへ登録したユーザー名、パスワードを入力してテストページが表示されることを確認。
-非SSL(http://サーバー名/secret/)でアクセスした場合、ユーザー認証画面が表示されずにエラーとなることを確認。
-''htpasswd''内の特定ユーザー名のみ認証を許可している場合、特定ユーザー以外ではエラーとなることを確認。


**Webページパスワード制限確認後始末 [#b64cbb02]
|BGCOLOR(black):COLOR(white):|c
|[root@localhost ~]# rm -rf /var/www/html/secret/ &color(lime){← テスト用ディレクトリ削除};|
|[root@localhost ~]# rm -f /etc/httpd/conf/.htpasswd &color(lime){← テスト用.htpasswd削除};|

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS