Apache httpd : Basic 認証 + PAM2021/03/15 |
|
mod_authnz_pam をインストールして、Basic 認証の際に、OS のユーザーで認証できるよう設定します。
|
|
| [1] |
Basic 認証の際のパスワードは平文で送信されるため、事前に SSL/TLS の設定を実施しておきます。
|
| [2] | [mod_authnz_pam] をインストールします。 |
|
[root@www ~]#
dnf -y install mod_authnz_pam
[root@www ~]#
vi /etc/httpd/conf.modules.d/55-authnz_pam.conf # コメント解除 LoadModule authnz_pam_module modules/mod_authnz_pam.so |
| [3] | Basic 認証 + PAM の設定です。 例として [/var/www/html/auth-pam] ディレクトリを認証対象として設定します。 |
|
[root@www ~]#
vi /etc/httpd/conf.d/authnz_pam.conf # 最終行に追記
<Directory "/var/www/html/auth-pam">
SSLRequireSSL
AuthType Basic
AuthName "PAM Authentication"
AuthBasicProvider PAM
AuthPAMService httpd-auth
Require valid-user
</Directory>
[root@www ~]#
vi /etc/pam.d/httpd-auth # 新規作成 auth required pam_listfile.so item=user sense=deny file=/etc/httpd/conf.d/denyusers onerr=succeed auth include system-auth account include system-auth
[root@www ~]#
vi /etc/httpd/conf.d/denyusers # 新規作成 # httpd からの認証を禁止するユーザーを記述 root user01 user02
[root@www ~]#
chgrp apache /etc/httpd/conf.d/denyusers [root@www ~]# chmod 640 /etc/httpd/conf.d/denyusers # httpd が shadow を read できるようアクセス権変更 [root@www ~]# chgrp apache /etc/shadow [root@www ~]# chmod 440 /etc/shadow
[root@www ~]#
systemctl restart httpd # テストページ作成 [root@www ~]# mkdir /var/www/html/auth-pam [root@www ~]# vi /var/www/html/auth-pam/index.html <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Test Page for PAM Authentication </div> </body> </html> |
| [4] | SELinux を有効にしている場合は、ポリシーの許可設定が必要です。 |
|
[root@www ~]# setsebool -P httpd_mod_auth_pam on |
| [5] | 任意のクライアント PC で Web ブラウザを起動し、作成したテストページにアクセスします。すると設定通り認証を求められるので、OS のユーザーで認証します。 |
|
| [6] | 正常に認証が成功して、テストページが表示されれば OK です。 |
|
| Sponsored Link |
|
|