Sicurezza di un server di file e di stampa Samba
Modalità di sicurezza di Samba
Esistono due livelli di sicurezza disponibili al protocollo CIFS (Common Internet Filesystem): a livello utente e a livello condivisione. L'implementazione della modalità di sicurezza di Samba consente una maggiore flessibilità, fornendo quattro modi per implementare la sicurezza a livello utente e uno per quella a livello condivisione.
-
security = user: richiede a client di fornire nome utente e password per collegarsi alla condivisione. Gli account di Samba sono separati da quelli di sistema, ma il pacchetto libpam-smbpass consente di sincronizzare utenti e password con il database degli utenti di Samba.
-
security = domain: questa modalità consente al server Samba di apparire ai client Windows come «Primary Domain Controller» (PDC), «Backup Domain Controller» (BDC) oppure «Domain Member Server» (DMS). Per maggiori informazioni, consultare Samba come controller di dominio.
-
security = ADS: consente al server Samba di unirsi a un dominio «Active Directory» come membro nativo. Per maggiori informazioni, consultare Integrare Samba con Active Directory.
-
security = server: questa modalità non dovrebbe essere usata per motivi di sicurezza. Per maggiori informazioni, consultare la sezione Server Security della guida di Samba.
-
security = share: consente ai client di collegarsi alle condivisioni senza fornire nome utente e password.
La modalità di sicurezza scelta dipende dal proprio ambiente di lavoro e da cosa si vuole ottenere col server Samba.
Livello di sicurezza utente
Questa sezione spiega come riconfigurare i server di file e di stampa Samba, come spiegato in Server di file Samba e Server di stampa Samba, affinché richieda l'autenticazione.
Per prima cosa, installare il pacchetto libpam-smbpass che consente di sincronizzare gli utenti di sistema col database degli utenti di Samba:
sudo apt-get install libpam-smbpass
Se è stato scelto il task Server Samba durante l'installazione, il pacchetto libpam-smbpass è già installato.
Aprire il file /etc/samba/smb.conf e nella sezione [share] modificare:
guest ok = no
Riavviare Samba affinché le nuove impostazioni abbiano effetto:
sudo restart smbd sudo restart nmbd
Ora, collegandosi alle directory o alle stampanti condivise, verranno richiesti il nome utente e la password.
Se si sceglie di mappare un drive di rete alla condivisione, selezionare la casella di spunta “Reconnect at Logon” affinché sia possibile inserire nome utente e password solo una volta, almeno finché la password non viene cambiata.
Profilo AppArmor Samba
Ubuntu è dotato del modulo di sicurezza AppArmor, che fornisce un controlli di acceso. Il profilo predefinito di AppArmor per Samba deve essere adattato alla propria configurazione. Per maggiori informazioni sull'uso di AppArmor, consultare AppArmor.
All'interno del pacchetto apparmor-profiles sono disponibili dei profili predefiniti di AppArmor per /usr/sbin/smbd e /usr/sbin/nmbd, i binari dei demoni di Samba. Per installare il pacchetto, da un terminale digitare:
sudo apt-get install apparmor-profiles apparmor-utils
Questo pacchetto contiene profili per molti altri binari.
I profili per smbd e nmbd sono, in modo predefinito, nella modalità complain, consentendo a Samba di lavorare senza dover modificare il profilo e registrando solamente gli errori. Per impostare il profilo smbd in modalità enforce e per far funzionare Samba come di consueto, il profilo deve essere modificato per rispecchiare le directory da condividere.
Modificare il file /etc/apparmor.d/usr.sbin.smbd aggiungendo informazioni alla sezione [share] dall'esempio del server di file:
/srv/samba/share/ r, /srv/samba/share/** rwkix,
Ora impostare il profilo in modalità enforce e ricaricarlo:
sudo aa-enforce /usr/sbin/smbd cat /etc/apparmor.d/usr.sbin.smbd | sudo apparmor_parser -r
Dovrebbe essere possibile leggere, scrivere ed eseguire i file nella directory condivisa come di consuetudine e il binario smbd dovrebbe avere accesso solo ai file e le directory configurati. Assicurarsi di aggiungere una voce per ogni directory che viene configurata alla condivisione. Tutti gli errori verranno registrati in /var/log/syslog.
Risorse
-
Per delle configurazioni più dettagliate riguardo Samba, consultare Samba HOWTO Collection
-
La guida è disponibile anche in formato cartaceo.
-
Il libro Using Samba di O'Reilly è un'altra buona lettura.
-
Il capitolo 18 della «Samba HOWTO Collection» è dedicato alla sicurezza.
-
Il libro Using Samba di O'Reilly è un'altra buona lettura.
-
La pagina su Samba della documentazione.