Quella che segue è la descrizione delle varie caratteristiche di sicurezza che ogni livello introduce nel sistema. Queste caratteristiche sono di diversi tipi:
permessi sui file,
messaggi di avviso,
controlli di sicurezza periodici:
sui file: suid root, scrivibili, senza proprietario,
controllo delle porte attive, NIC in modalità promiscua,
file delle password
connessioni a X,
controllo delle porte in ascolto,
servizi disponibili,
password di avvio,
client autorizzati.
Caratteristica \ Livello | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
controllo generale di sicurezza | sì | sì | sì | sì | ||
umask per gli utenti | 002 | 002 | 002 | 002 | 077 | 077 |
umask per root | 002 | 002 | 002 | 002 | 002 | 077 |
shell senza password | sì | |||||
autorizzati a connettersi al display X | tutti | locale | locale | nessuno | nessuno | nessuno |
utenti nel gruppo audio | sì | sì | sì | |||
. in $PATH | sì | sì | ||||
avvisi nel file /var/log/security.log | sì | sì | sì | sì | sì | |
avvisi direttamente su tty | sì | sì | sì | sì | ||
avvisi in syslog | sì | sì | sì | sì | ||
avvisi inviati via e-mail a root | sì | sì | sì | sì | ||
controllo dei file suid root | sì | sì | sì | sì | ||
controllo MD5 dei file suid root | sì | sì | sì | sì | ||
controllo file scrivibili | sì | sì | sì | |||
controllo permessi | sì | sì | sì | |||
controllo file gruppo suid | sì | sì | sì | |||
controllo file senza proprietario | sì | sì | sì | |||
controllo promiscuità | sì | sì | sì | |||
controllo porte in ascolto | sì | sì | sì | |||
controllo integrità file passwd | sì | sì | sì | |||
controllo integrità file shadow | sì | sì | sì | |||
controllo sicurezza del sistema ogni giorno a mezzanotte | sì | sì | sì | |||
registra tutti gli eventi del sistema anche su /dev/tty12 | sì | sì | sì | |||
solo root può usare ctrl-alt-del | sì | sì | ||||
i servizi sconosciuti sono disabilitati | sì | sì | ||||
password di avvio (grub/LILO) | sì | sì | ||||
accetta connessioni da | tutti | tutti | tutti | tutti | locale | nessuno |
Notate che sei dei dieci controlli periodici possono individuare cambiamenti nel sistema. Essi memorizzano la configurazione del sistema al momento dell'ultimo controllo (un giorno prima) in alcuni file nella directory /var/log/security/, e vi avvisano di eventuali cambiamenti avvenuti nel frattempo. Questi controlli sono:
controllo file suid root
controllo MD5 dei file suid root
controllo file scrivibili
controllo file gruppo suid
controllo file senza proprietario
controllo porte in ascolto
"NFS filesystems globally exported" ("filesystem NFS esportati globalmente"): viene considerato un'impostazione poco sicura, dato che non esistono restrizioni su chi può montare quei filesystem.
"NFS mounts with missing nosuid" ("mount NFS senza nosuid"): questi filesystem sono esportati senza l'opzione nosuid, che impedisce ai programmi suid di funzionare sul sistema.
"Host trusting files contain + sign" ("i file dei permessi degli host contengono il segno +"): significa che uno dei file /etc/hosts.equiv, /etc/shosts.equiv e /etc/hosts.lpd contiene nomi di computer a cui è consentita la connessione senza che venga effettuata un'autenticazione completa.
"Executables found in the aliases files" ("trovati eseguibili nei file degli alias"): è un avviso che riporta i nomi di eventuali eseguibili incontrati nei due file /etc/aliases e /etc/postfix/aliases.
Imposta semplicemente umask per gli utenti normali al valore corrispondente al livello di sicurezza.
La stessa cosa, ma per root.
L'accesso alle console è consentito senza richiedere una password.
tutti: chiunque da qualsiasi luogo può aprire una finestra X sul vostro schermo.
locale: solo le persone connesse a localhost possono aprire una finestra X sul vostro schermo.
nessuno: nessuno può farlo.
Tutti gli utenti sono membri dei gruppi audio e cdrom. Questo significa che tutti gli utenti hanno accesso ad alcuni privilegi speciali riguardanti la scheda audio, etc.
L'elemento . viene aggiunto nella variabile d'ambiente $PATH, agevolando l'esecuzione di programmi situati nella directory di lavoro attuale (ciò rappresenta, entro certi limiti, anche una falla di sicurezza).
Tutti gli avvisi generati da MSEC vengono registrati nel file di nome /var/log/security.log.
Tutti gli avvisi generati da MSEC vengono stampati direttamente sulla console attuale.
Gli avvisi di MSEC vengono redirezionati verso il servizio syslog.
Gli avvisi generati da MSEC vengono anche inviati via e-mail a root.
Controlla se nel sistema sono stati cancellati o creati nuovi file suid root. Se questo è avvenuto, viene generato un avviso con la lista dei file in questione.
Controlla la firma MD5 di ogni file suid root presente nel sistema. Se la firma è cambiata, significa che è stata fatta una modifica al programma, forse una back door. Viene quindi generato un avviso.
Controlla se i file del sistema sono modificabili da chiunque. Se è così, genera un avviso contenente la lista dei file a rischio.
Controlla i permessi di alcuni file speciali come .netrc o i file di configurazione degli utenti. Controlla anche i permessi delle directory base degli utenti. Se questi permessi sono troppo deboli, o se i proprietari sono insoliti, viene generato un avviso.
Controlla se nel sistema sono stati cancellati o creati nuovi file del gruppo suid. Se questo è avvenuto, viene generato un avviso con la lista dei file in questione.
Questo controllo cerca i file i cui utenti o gruppi proprietari sono sconosciuti al sistema. Se simili file vengono trovati, viene automaticamente impostato come proprietario l'utente/gruppo nessuno.
Questo controllo esamina tutte le schede Ethernet per sapere se esse sono in modalità "promiscua". Questa modalità permette alla scheda di intercettare tutti i pacchetti da essa ricevuti, anche quelli non diretti a lei. Questo può significare che uno sniffer è in funzione sulla vostra macchina. Va sottolineato che questo controllo è impostato per essere eseguito a intervalli di un minuto..
Genera un avviso con un elenco di tutte le porte in ascolto.
Controlla che ogni utente abbia una password (e non una vuota o facile da indovinare), e verifica che essa sia mascherata.
Controlla che ogni utente contenuto nel file shadow abbia una password (e non una vuota o facile da indovinare).
Tutti i controlli precedenti saranno effettuati ogni giorno a mezzanotte. Questo meccanismo si basa sull'aggiunta di uno script cron nel file crontab.
Tutti i servizi non compresi in /etc/security/msec/init-sh/server.4 per il livello 4 o server.5 per il livello 5 saranno disabilitati. Non saranno eliminati, ma, semplicemente, non vengono avviati durante il caricamento di un runlevel. Se doveste avere bisogno di alcuni di essi, vi basterà aggiungerli nuovamente con il programma chkconfig (potreste anche doverli riavviare con gli script init in /etc/rc.d/init.d).
Si hanno due diversi comportamenti, in base al bootloader da voi utilizzato:
All'avvio, grub vi chiederà la password solo se passate manualmente dei parametri al kernel. Questo permette al vostro sistema di riavviarsi da solo, senza necessità di intervento da parte di un operatore, impedendo comunque a persone non autorizzate di riavviare la macchina in modo insolito (ad esempio in modalità fail safe).
Vi permette di impostare una password per LILO. Impedisce ad altre persone (inesperte) di riavviare il sistema ma, d'altra parte, il sistema non sarà in grado di riavviarsi da solo.
tutti: qualsiasi computer può connettersi alle porte aperte.
locale: solo localhost può connettersi alle porte aperte.
nessuno: nessun computer può connettersi alle porte aperte.
Indietro | Partenza | Avanti |
Impostazione del livello di sicurezza | Risali | Gli assistenti per la configurazione di una LAN |