Apache2 Basic 認証 と PAMを設定する方法

環境
Ubuntu 24.04

概要
特定のページに対してアクセス制限をかけ、OS のユーザーで認証するように設定します。

操作方法
1.pwauthをインストールします
# apt -y install libapache2-mod-authnz-external pwauth

2.設定ファイルを編集します
# vi /etc/apache2/sites-available/auth-pam.conf
# 新規作成

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
<Directory /var/www/html/auth-pam>
SSLRequireSSL
AuthType Basic
AuthName "PAM Authentication"
AuthBasicProvider external
AuthExternal pwauth
require valid-user
</Directory>
AddExternalAuth pwauth /usr/sbin/pwauth SetExternalAuthMethod pwauth pipe <Directory /var/www/html/auth-pam> SSLRequireSSL AuthType Basic AuthName "PAM Authentication" AuthBasicProvider external AuthExternal pwauth require valid-user </Directory>
AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe
<Directory /var/www/html/auth-pam>
    SSLRequireSSL
    AuthType Basic
    AuthName "PAM Authentication"
    AuthBasicProvider external
    AuthExternal pwauth
    require valid-user
</Directory>

3.ディレクトリを作成します
# mkdir /var/www/html/auth-pam

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# a2ensite auth-pam
Enabling site auth-pam.
To activate the new configuration, you need to run:
service apache2 reload
# systemctl reload apache2
# a2ensite auth-pam Enabling site auth-pam. To activate the new configuration, you need to run: service apache2 reload # systemctl reload apache2
# a2ensite auth-pam
Enabling site auth-pam.
To activate the new configuration, you need to run:
  service apache2 reload
# systemctl reload apache2

4.テストページを作成する
# vi /var/www/html/auth-pam/index.html

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<html>
<body>
<p style="width: 100%;text-align: center;">
Test Page 66 for PAM Auth
</p>
</body>
</html>
<html> <body> <p style="width: 100%;text-align: center;"> Test Page 66 for PAM Auth </p> </body> </html>
<html>
<body>
<p style="width: 100%;text-align: center;">
Test Page 66 for PAM Auth
</p>
</body>
</html>

クライアントコンピューターで Web ブラウザーを起動し、作成したテストページにアクセスします。
http://ホスト名/auth-pam/

IT

Posted by arkgame