[17] httpd – mod_authnz_pam
24 stycznia 2022Skonfiguruj moduł [mod_authnz_pam] aby użytkownicy systemowi mogli korzystać z podstawowej autentykacji.
[1] Login i hasło są przesyłane otwartym tekstem, dlatego też wykorzystamy SSL/TSL aby zabezpieczyć komunikację: Certyfikat SSL – Let’s Encrypt.
[2] Zainstaluj [mod_authnz_pam].
[root@vlsr01 ~]# dnf install mod_authnz_pam [root@vlsr01 ~]# mcedit /etc/httpd/conf.modules.d/55-authnz_pam.conf #odkomentuj LoadModule authnz_pam_module modules/mod_authnz_pam.so
[3] Skonfiguruj podstawową autoryzację + PAM. Przykładowo skonfigurujemy Basic Authentication dla katalogu [/var/www/html/auth-pam].
[root@vlsr01 ~]# mcedit /etc/httpd/conf.d/authnz_pam.conf #dodaj na końcu pliku <Directory "/var/www/html/auth-pam"> SSLRequireSSL AuthType Basic AuthName "PAM Authentication" AuthBasicProvider PAM AuthPAMService httpd-auth Require valid-user </Directory> [root@vlsr01 ~]# mcedit /etc/pam.d/httpd-auth #stwórz nowy 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@vlsr01 ~]# mcedit /etc/httpd/conf.d/denyusers #stwórz nowy #wpisz użytkowników, którzy nie będą mogli przejść procesu autentykacji root zabronionyuser administrator [root@vlsr01 ~]# chgrp apache /etc/httpd/conf.d/denyusers [root@vlsr01 ~]# chmod 640 /etc/httpd/conf.d/denyusers #zezwól httpd czytać [shadow] [root@vlsr01 ~]# chgrp apache /etc/shadow [root@vlsr01 ~]# chmod 440 /etc/shadow [root@vlsr01 ~]# systemctl restart httpd #stwórz testową stronę [root@vlsr01 ~]# mkdir /var/www/html/auth-pam [root@vlsr01 ~]# mcedit /var/www/html/auth-pam/index.html <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Strona testowa BASIC AUTHENTICATION + PAM </div> </body>
[4] Jeśli jest zainstalowany i działa SELinux, zmień jego politykę.
[root@vlsr01 ~]# setsebool -P httpd_mod_auth_pam 1
[5] Dostęp do strony testowej z dowolnego komputera klienckiego z przeglądarką internetową. Następnie wymagane jest uwierzytelnienie, jako użytkownik systemu operacyjnego.
[6] Jest w porządku, jeśli uwierzytelnianie przebiegło pomyślnie, a strona testowa jest wyświetlana normalnie.