Sicurezza di rete
Da Linux@P2P Forum Italia.
Indice |
Premessa
Spesso si parla della sicurezza intrinseca dei sistemi GNU\Linux o meglio Unix-based. La sicurezza di questi sistemi non scende dal cielo come manna divina ne se aprite il kernel troverete dentro un amministratore di sistema che lo gestisce per voi. I sistemi GNU\Linux sono più sicuri perchè sono strutturati in maniera diversa rispetto a Windows ma soprattutto perchè di default offrono degli strumenti che opportunamente gestiti garantiscono una sicurezza fuori dal comune. Il concetto di sicurezza cambia rispetto a windows quindi: non servono anti-virus , anti-spyware e robaccia varia ma è necessaria una corretta gestione e conoscenza del sistema.
Sicuri in rete
Al giorno d'oggi le minacce più importanti provengono dalla rete. La prima cosa da fare è attivare un buon firewall se non si usa quello integrato del router. Io consiglio di gestire con iptables netfilter che è il migliore su piazza. La seconda cosa da fare forse più importante è una corretta gestione dei servizi che comunicano con la rete.
Internet socket
Il primo passo è conoscere quei servizi che comunicano con l'esterno (Socket internet ovvero socket di dominio internet). Per farlo daremo questo comando da root:
# netstat --inet -pan
Questo comando vi restituirà un output come questo:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:8118 0.0.0.0:* LISTEN 5200/privoxy tcp 0 0 87.**.117.31:47471 192.**6.224.132:6667 ESTABLISHED 5460/pidgin tcp 0 0 87.**.117.31:55588 207.**.110.60:1863 ESTABLISHED 5460/pidgin
Come vedete il comando è molto potente vi permette di vedere i servizi che comunicano con l'esterno quindi il nome del servizio (Program name) , l'identificativo del demone attivo nel sistema (PID) , lo stato del servizio (State) (Attenzione quando vedete connessioni ESTABLISHED perchè equivale ad un collegamento diretto con un altro host) e l'indirizzo ip del pc\server cui il servizio è collegato (Foreign Address). Il mio consiglio è quello di limitare questi servizi perchè spesso sono demoni che partono all'avvio del pc e lasciano delle porte open nello stesso. Da queste porte qualunque malintenzionato può accedere con un exploit e prendere il completo controlo del sistema. Per visualizzare le porte open del propio pc diamo il comando dopo aver installato nmap (su Arch Linux basta dare il comando # pacman -S nmap ).
# nmap 127.0.0.1
Abbiamo detto meglio limitare i servizi attivi bene dopo aver individuato quelli attivi che magari non ci interessano disattiviamoli in modo che non partano all'avvio. Su Arch Linux basta editare la riga DAEMONS=(...) del file /etc/rc.conf premettendo un semplice "!" al demone da disabilitare.
Gestire demoni attivi
Se propio non possiamo fare a meno di avere degli inet socket aperti perchè magari a mo di server dobbiamo erogare un servizio a qualcuno o anche a noi stessi meglio gestirli in modo adeguato. E GNU\Linux ci permette di farlo in modo semplicissimo. Dobbiamo prendere in considerazione due files del sistema: /etc/hosts/allow e /etc/hosts.deny. Con il primo decidiamo a quali hosts concedere l'uso di un determinato servizio, con il secondo a quali hosts negare l'uso del servizio. Per concedere ad esempio l'uso del demone privoxy all'host xxx.xxx.yyy aggiungeremo la seguente riga al file /etc/hosts/allow
privoxy : xxx.xxx.yyy
La stessa riga la aggiungeremo al file /etc/hosts.deny per ottenere l'effetto contrario. Ricordiamo che il sistema legge in ordine prima hosts.allow e poi hosts.deny. Se voglimo negare l'uso di tutti i servizi a chiunque basta editare hosts.deny aggiungendo la riga :
ALL:ALL