Utilizzare sempre un gestore di pacchetti (come apt-get su Debian), per scaricare ed installare i pacchetti di aggiornamento sul sistema. Prestare molta attenzione durante l’aggiornamento automatico sui server di produzione.
Installare nmap per determinare i canali di comunicazione possibili. Inizia con qualcosa di semplice come:
# nmap 192.168.1.1
L’utilizzo di una password adeguata e’ il primo passo per garantire la protezione dei vostri server. Scegliere accuratamente una password per tutti gli utenti registrati sul vostro server e’ necessario al fine di evitare accessi non autorizzati. Se un utente malintenzionato dovesse impossessarsi della vostra password potrebbe facilmente accedere al vostro server. Per migliorare il livello di sicurezza dei vostri server vi consigliamo di disabilitare eventuali account non utilizzati utilizzando il comando : /usr/bin/passwd -l.
Vi consigliamo inoltre di disabilitare programmi e servizi non utilizzati che potrebbero rappresentare una possibile porta d’accesso al vostro server.
La sicurezza del Kernel
Esistono diverse possibilita’ di configurazione del Kernel che permettono di aumentare la sicurezza grazie all’utilizzo del psudo-filsystem /proc. Alcuni files contenuti nella directory /proc/sys sono direttamente legati alla sicurezza. Queste sono alcune delle opzioni disponibili in /proc/sys/net/ipv4:
icmp_echo_ignore_all: Disabilita tutte le richieste ICMP ECHO. Questo farà in modo che il kernel ignori semplicemente tutti i messaggi di ping (conosciuti anche come messaggi ICMP di tipo 0).
icmp_echo_ignore_broadcasts: Questo disattiva la risposta ai broadcast ICMP, prevenendo gli attacchi Smurf. L’attacco Smurf consiste nell’invio di un messaggio ICMP di tipo 0 (ping) all’indirizzo broadcast di una rete. Di solito l’aggressore utilizza un indirizzo sorgente contraffatto
ip_forward: Assicurarsi che l’IP forwarding sia disattivato. Questa funzione serve solo per un nodo avente più connessioni di rete. Si raccomanda di attivare o disattivare questa flag prima di tutte le altre, in quanto essa attiva/disattiva altre flag.
ip_masq_debug: Enable or disable debugging of IP masquerading.
tcp_syncookies:Protegge da attacchi di tipo SYN.
rp_filter: Attivare il reverse filtering del percorso. Questo aiuta ad essere sicuri che i pacchetti utilizzino indirizzi sorgente regolari, rifiutando automaticamente i pacchetti in arrivo se la voce nella tabella di instradamento che indica il loro indirizzo sorgente non corrisponde all’interfaccia di rete su cui stanno essi arrivando.
secure_redirects: Non accettare pacchetti ICMP rediretti. Le redirezioni ICMP possono essere usate per alterare le tabelle di instradamento, con conseguenze potenzialmente negative.
log_martians: Registra i pacchetti con un indirizzo non valido nel log del kernel.
accept_source_route: Non accettare pacchetti da fonte instradata. Gli aggressori possono usare l’instradamento delle fonti per generare traffico che sembra avere origine all’interno della rete, ma che in realtà viene instradato all’indietro lungo il percorso da cui è venuto, cosicché gli aggressori possono compromettere la rete
Per garantire la sicurezza dei pacchetti di aggiornamenti distribuiti viene utilizzato il comando md5sum. Il comando md5sum permette di calcolare una chiave a 128-bit che dipende direttamente dal contenuto del file a cui e’ applicata e viene utilizzato per confrontare che il valore indicato sia realmente valido o stabilire se il contenuto del file originale e’ stato cambiato. Il comando si utilizza con la seguente sintassi:
# md5sum package-name
La stringa restituita dal comando puo’ essere confrontata con la chiave MD5 pubblicata da chi distribuisce il pacchetto garantendo un buon livello di sicurezza.
I permessi dei files
È importante assicurarsi che i vostri file di sistema non siano aperti da utenti e gruppi che non dovrebbero fare manutenzione di sistema. I file SUID e SGID sono un potenziale rischio, e dovrebbero essere tenuti d’occhio. Visto che questi programmi danno speciali privilegi all’utente che li esegue, è necessario assicurarsi che non vengano istallati programmi insicuri. Un trucco molto diffuso fra i cracker è sfruttare programmi con SUID-root, quindi lasciare un programma SUID a fare da backdoor per entrare la prossima volta, anche se il buco originale viene chiuso. Trovate tutti i programmi SUID/SGID sul vostro sistema, e tenete appunti su cosa sono, così da essere al corrente di qualsiasi cambiamento che potrebbe indicare un eventuale intrusore. Usate questo comando per trovare tutti i programmi con SUID/SGID sul vostro sistema:
root# find / -type f \( -perm -04000 -o -perm -02000 \)
La distribuzione Debian esegue un job ogni sera per determinare quali file con SUID esistano. Quindi li compara con quelli della sera precedente. Potete cercare questo log in /var/log/setuid*. Potete togliere i permessi SUID o SGID da un programma sospetto con chmod, quindi rimetterli se pensate che siano assolutamente necessari. # I file scrivibili da tutti, soprattutto i file di sistema, possono essere un buco nella sicurezza se un cracker accede al vostro sistema e li modifica. Inoltre, le directory scrivibili da tutti sono pericolose: permettono a un cracker di aggiungere o cancellare file come vuole. Per trovare tutti i file di libera scrittura sul vostro sistema, usate il comando:
root# find / -perm -2 ! -type l -ls
e assicuratevi di sapere perché quei file sono scrivibili. Durante l’uso normale alcuni file saranno liberamente scrivibili, inclusi alcuni da /dev, e i link simbolici, da cui il ! -type l che li esclude dal comando find.