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