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

環境
Ubuntu 24.04
Apache2

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

使用例
[/var/www/html/auth-pam] ディレクトリ配下を認証対象として設定します。
1.ライブラリをインストール
# 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
# a2ensite auth-pam

4.apache2を再起動します
# systemctl reload apache2

5.テストページ作成
# 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%; font-size: 40px; text-align: center;">
Test Page for PAM Auth Sample
</p>
</body>
<html> <body> <p style="width: 100%; font-size: 40px; text-align: center;"> Test Page for PAM Auth Sample </p> </body>
<html>
<body>
<p style="width: 100%; font-size: 40px; text-align: center;">
Test Page for PAM Auth Sample
</p>
</body>

 

IT

Posted by arkgame