La sicurezza è un argomento di interesse perenne per gli amministratori di sistema. E la protezione di nuovi sistemi rappresenta sempre una sfida perché non ci sono davvero standard prefissati per farlo. Sto estraendo l'elenco di misure e controlli di sicurezza di questo articolo da una varietà di fonti, tra cui esperienza personale, DISA STIG e consigli di altri amministratori di sistema e addetti alla sicurezza. Sebbene queste misure di sicurezza siano buone, sono solo un primo passo verso una migliore sicurezza del sistema. Questi otto controlli di sistema non sono in un particolare ordine di importanza.
Chiavi SSH
Configura l'autenticazione senza password utilizzando le coppie di chiavi SSH. Consulta l'articolo di Susan Lauber per le istruzioni:SSH senza password utilizzando coppie di chiavi pubblica-privata. Le password non sono una buona misura di sicurezza, non importa quanto siano lunghe o complesse. Utilizzando coppie di chiavi SSH e un'unica jump box, puoi stabilire un elevato livello di accesso sicuro ai tuoi sistemi.
Autenticazione SSH
Dopo aver impostato le coppie di chiavi SSH per l'autenticazione, dovrai configurare SSHD
per accettarli per l'accesso remoto. Il /etc/ssh/sshd_config
file è la posizione centrale per la protezione di SSHD
sui tuoi sistemi Notevoli opzioni da controllare e modificare sono:
Impostazione originale | Cambia in |
---|---|
#PermitRootLogin sì | PermitRootLogin no |
#PubkeyAuthentication sì | PubkeyAuthentication sì |
#PermitEmptyPasswords no | PermitEmptyPasswords no |
Autenticazione password sì | Autenticazione password no |
Devi riavviare SSHD
dopo aver apportato modifiche al file di configurazione in modo che le modifiche abbiano effetto.
Password NULL
Verifica che tutti gli account utilizzino una password per l'autenticazione. Non consentire a nessun account di avere una password nulla o vuota. L'impostazione di coppie di chiavi è una buona difesa contro le password nulle. Rimuovere eventuali istanze dell'opzione "nullok" in /etc/pam.d/system-auth
e /etc/pam.d/password-auth
per impedire accessi con password vuote.
Rimuovi i servizi non sicuri
Per proteggere meglio i tuoi sistemi, rimuovi tutti i servizi non protetti (quelli che inviano password in testo normale sulla rete o quelli che consentono connessioni anonime (non autenticate)). Rimuovere i seguenti pacchetti:
- server
- server rsh
- vsftpd*
- server telnet
- server tftp
I trasferimenti di file e la connettività interattiva tra i sistemi devono essere eseguiti utilizzando SSH
. Non c'è bisogno di rsh-server
, vsftpd
e telnet-server
. È necessario sostituire LDAP o Active Directory con ypserv
(NSI/NSI+). Per quanto riguarda tftp-server
, se devi usarlo, dedicagli un sistema o una macchina virtuale e installalo in un chroot
carcere per una maggiore sicurezza.
*Mentre vsftpd
crittografa le comunicazioni, questa funzione è gestita meglio da SSH/SFTP/SCP
.
Disabilita l'autenticazione basata sull'host
Rimuovere tutte le istanze di autenticazione basata su host sotto forma di .shosts
e shosts.equiv
File. L'autenticazione basata su host non è sufficiente per impedire l'accesso non autorizzato a un sistema, perché non richiede l'identificazione interattiva e l'autenticazione di una richiesta di connessione o per l'utilizzo dell'autenticazione a più fattori.
Versione SNMP e nome comunità
Utilizzare SNMP versione 3.x per l'autenticazione utente e la crittografia dei messaggi. Modifica la stringa della community predefinita da public
o private
a un valore di stringa diverso.
Inoltro X11
Assicurati che se utilizzi il protocollo X sulla tua rete che sia protetto da SSL. Modifica il /etc/ssh/sshd_config
e impostare il parametro X11Forwarding come segue:
X11Forwarding yes
Se il parametro esiste ma è commentato con un #
iniziale , quindi rimuovi il #
e riavvia SSHD.
Protezione di GNOME
Se usi GNOME sui tuoi sistemi server, proteggilo con le seguenti impostazioni in /etc/gdm/custom.conf
file. Aggiungi o modifica la riga per AutomaticLoginEnable
parametro nel [daemon]
sezione del custom.conf
file su false, come mostrato di seguito.
[daemon]
AutomaticLoginEnable=false
E aggiungi o modifica la riga per TimedLoginEnable
parametro nel [daemon]
sezione del /etc/gdm/custom.conf
file su false, come mostrato di seguito.
[daemon]
TimedLoginEnable=false
Alcuni consulenti per la sicurezza avvertono di nuovo utilizzando le interfacce utente grafiche (GUI) sui sistemi server a causa del malware che li prende di mira.
[ Migliora ulteriormente la sicurezza del tuo sistema con il software Antimalware:3 soluzioni antimalware per sistemi Linux ]
Concludi
Sebbene la sua sicurezza simile a Unix sia molto buona, Linux non è sicuro al 100% dopo un'installazione. E non esiste una sicurezza al 100%, ma puoi impostare alcuni controlli ed eseguire alcune attività di base per proteggere meglio un sistema. Sto per offrirti altri articoli come questo incentrati sulla sicurezza del sistema.
[ Vuoi saperne di più sulla sicurezza? Consulta la checklist di sicurezza e conformità IT. ]