Mandrake Linux 8.2: Manuale di riferimento | ||
---|---|---|
Indietro | Capitolo 12. msec – gli strumenti di Mandrake per la sicurezza | Avanti |
Quella che segue è la descrizione delle varie caratteristiche di sicurezza che ogni livello introduce nel sistema. Queste caratteristiche possono essere di due tipi: di rinforzo del sistema, nel qual caso vengono apportate modifiche al sistema stesso, o di controllo periodico, per le quali ciò non avviene.
Le caratteristiche del primo tipo, infatti, modificano i permessi, i proprietari e i gruppi dei file e delle directory del sistema, in base al livello di sicurezza impostato.
Esse modificano anche i file di configurazione per adeguarli al livello selezionato, e riavviano eventuali programmi che ne abbiano bisogno per poter rendere attive le modifiche effettuate. Le funzioni di rinforzo del sistema si riattivano ogni ora, e tutte le modifiche vengono registrate in syslog.
Caratteristica \ Livello | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
umask per gli utenti | 002 | 002 | 002 | 002 | 077 | 077 |
umask per root | 002 | 002 | 002 | 002 | 002 | 077 |
accesso senza password | sì | |||||
autorizzati a connettersi al server X | tutti | locale | locale | nessuno | nessuno | nessuno |
il server X riceve connessioni da | tutti | tutti | tutti | tutti | locale | locale |
timeout della shell | nessuno | nessuno | nessuno | nessuno | 3600 | 900 |
su solo da membri del gruppo wheel | sì | |||||
dimensione della cronologia della shell | 10 | 10 | ||||
sulogin in runlevel 1 | sì | sì | ||||
proibisci elenco utenti nei display manager | sì | sì | ||||
ignora echo ICMP | sì | sì | ||||
ignora messaggi di errore ICMP simulati | sì | sì | ||||
login di root diretto | sì | sì | sì | sì | ||
abilita libsafe | sì | sì | ||||
proibisci agli utenti at e crontab | sì | sì | ||||
scadenza password (in giorni) | 60 | 30 | ||||
proibisci autologin | sì | sì | sì | |||
consenti "issue" (disegno per login in modo testo) | tutti | tutti | tutti | locale | locale | nessuno |
. 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ì | ||
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ì | ||||
accetta connessioni da | tutti | tutti | tutti | tutti | locale | nessuno |
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 di X sul vostro schermo.
locale: solo le persone connesse a localhost possono aprire una finestra X sul vostro schermo.
nessuno: nessuno può farlo.
tutti: il server X riceve connessioni via TCP.
locale: il server X riceve connessioni da socket UNIX.
Se l'utente è inattivo per un certo numero di secondi, la shell termina.
Solo i membri del gruppo wheel sono autorizzati a usare su per assumere l'identità di root.
È il numero di comandi che rimangono memorizzati al termine di una sessione della shell.
sulogin serve a proteggere l'accesso all'initlevel di un singolo utente (è necessario digitare la password di root per ottenere l'accesso).
Impedisce che sia mostrato l'elenco degli utenti presenti sul sistema in KDM e GDM.
Non risponde alle richieste di ping.
Evita di gestire i messaggi di errore ICMP simulati.
Consente il login di root senza usare il programma su.
Abilita la protezione libsafe (solo se è installato il pacchetto libsafe).
Gli utenti non possono usare i programmi at e crontab, mentre root può usarli. Se volete darne l'autorizzazione solo ad alcuni utenti, aggiungeteli rispettivamente in /etc/at.allow e /etc/cron.allow.
Le password scadono dopo un certo numero di giorni; gli utenti devono cambiare la propria password prima della data di scadenza se non vogliono che i loro account siano disattivati.
Non è possibile usare il programma autologin.
Se impostato su nessuno, non sarà mostrato alcun disegno in nessun login in modo testo. Con locale, viene mostrato il disegno solo sulla console locale. Se impostato su tutti, il disegno viene mostrato in tutti i tipi di login.
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 dalla verifica quotidiana vengono registrati nel file di nome /var/log/security.log.
Tutti gli avvisi generati dalla verifica quotidiana vengono mostrati direttamente sulla console dell'utente root.
Gli avvisi generati dalla verifica quotidiana vengono indirizzati verso il servizio syslog.
Gli avvisi generati dalla verifica quotidiana vengono anche inviati via email a root.
Durante l'installazione di un pacchetto, i servizi vengono aggiunti tramite chkconfig --add <servizio> solo se il nome del servizio è presente nel file /etc/security/msec/server.
tutti: tutti i computer possono connettersi alle porte aperte.
locale: solo localhost può connettersi alle porte aperte.
nessuno: nessun computer può connettersi alle porte aperte.
Questa protezione è garantita dal pacchetto tcp wrapper. Se volete consentire l'accesso a un servizio quando questo non è consentito a nessuno, usate il file /etc/hosts.allow. Ad esempio, se volete consentire connessioni ssh provenienti da qualsiasi luogo, aggiungete la seguente linea in /etc/hosts.allow:
sshd: ALL |
Se il livello di sicurezza è superiore a 0, i controlli vengono effettuati ogni notte.
Caratteristica \ Livello | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
controllo generale di sicurezza | 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 integrità dal database RPM | sì | sì | sì |
Notate che sette dei dodici controlli periodici possono rilevare eventuali cambiamenti nel sistema. Essi memorizzano la configurazione del sistema al momento dell'ultimo controllo (un giorno prima) e vi avvisano di eventuali cambiamenti avvenuti nel frattempo nei file contenuti nella directory /var/log/security/. Questi controlli sono:
controllo file suid root
controllo MD5 dei file suid root
controllo file scrivibili
controllo file suid
controllo file senza proprietario
controllo porte in ascolto
controllo integrità dal database RPM
"NFS filesystems globally exported" ("filesystem NFS esportati globalmente"): viene considerata 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 o /etc/hosts.lpd contiene nomi di host 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.
Controlla se nel sistema sono stati cancellati o creati nuovi file suid root. Se questo è avvenuto, viene generato un avviso con l'elenco 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 sgid. 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).
Controlla che nessun file dei pacchetti installati sia stato modificato, e verifica che nessun pacchetto sia stato installato, rimosso o aggiornato dall'ultima volta che è stata effettuata la verifica.