Apache httpd : Basic 認証 + PAM2022/03/16 |
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 systemctl restart httpd |
[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 reload 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] | 任意のクライアントコンピューターで Web ブラウザーを起動し、作成したテストページにアクセスします。すると設定通り認証を求められるので、OS のユーザーで認証します。 |
[6] | 正常に認証が成功して、テストページが表示されれば OK です。 |
Sponsored Link |