Konfigurace HTML
Jelikož jsme aktualizovali repozitáře již při konfiguraci klienta, tak jen nainstalujeme nginx:
apt install nginx-full
Vytvoříme si složku test_radius, do které budou mít přístup jen uživatelé v RADIUS databázi, a změníme vlastníka složky pro uživatele www-data:
mkdir /var/www/html/test_radius chown www-data.www-data /var/www/html/test_radius -R
Následně přidáme do konfiguračního souboru default požadavek na PAM autentizaci pro přístup do chráněné složky:
nano /etc/nginx/sites-available/default location /test_radius { auth_pam "Secure area"; auth_pam_service_name "nginx"; }
Aby pro autentizaci použival nginx RADIUS, tak musíme vytvořit soubor nginx ve složce pam.d, kam přidáme autentizaci pomocí RADIUSu i klasického systémového účtu:
nano /etc/pam.d/nginx auth sufficient pam_unix.so account required pam_unix.so auth sufficient pam_radius_auth.so
Vytvoříme skupinu shadow a autorizujeme nginx, aby mohl číst její data (díky tomu bude možné se přihlásit i pomocí Linuxových účtů):
groupadd shadow usermod -a -G shadow www-data chown root:shadow /etc/shadow chmod g+r /etc/shadow
Přidáme do chráněné složky .html soubory, restartujeme nginx a autentizace je hotová:
service nginx restart
Konfigurace FTP
Nainstalujeme potřebné balíčky pro FTP server:
apt install vsftpd
Následně upravíme konfigurační soubor vsftpd.conf dle uvážení. V našem případě zakážeme přihlašování anonymních uživatelů, povolíme zapisování souborů a uzamkneme uživatele v domovském adresáři:
nano /etc/vsftpd.conf anonymous_enable=NO write_enable=YES chroot_local_user=YES
Nakonec obdobně jako u HTML upravíme soubor vsftpd ve složce pam.d a přidáme následující:
nano /etc/pam.d/vsftpd auth sufficient pam_radius_auth.so
Nakonec restartujeme službu a máme hotovo:
service vsftpd restart