Debian 11.2にBasic認証とPAMを設定する方法

環境
OSバージョンを確認します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# cat /etc/debian_version
11.2
# cat /etc/debian_version 11.2
# cat /etc/debian_version
11.2

apache2バージョンを確認します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# apache2 -v
Server version: Apache/2.4.53 (Debian)
Server built: 2022-03-14T16:28:35
# apache2 -v Server version: Apache/2.4.53 (Debian) Server built: 2022-03-14T16:28:35
# apache2 -v
Server version: Apache/2.4.53 (Debian)
Server built: 2022-03-14T16:28:35

操作方法
認証対象ディレクトリ /var/www/html/auth-pam

1.PAMモジュールをインストールします

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# apt -y install libapache2-mod-authnz-external pwauth
# apt -y install libapache2-mod-authnz-external pwauth
# apt -y install libapache2-mod-authnz-external pwauth

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

3.PAM配置ファイルを設定します
# nano /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>

4.設定内容を反映します

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:
systemctl reload apache2
# a2ensite auth-pam Enabling site auth-pam. To activate the new configuration, you need to run: systemctl reload apache2
# a2ensite auth-pam
Enabling site auth-pam.
To activate the new configuration, you need to run:
  systemctl reload apache2

5.apache2を再起動します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# systemctl restart apache2
# systemctl restart apache2
# systemctl restart apache2

 

Debian 11

Posted by arkgame