Linux è sicuro? Forse.
Ma se facciamo qualcosa per renderlo ancora più sicuro, è meglio.
Vediamo quindi di migliorare la nostra linux box coniugando flessibilità e sicurezza.
Questo tutorial è pensato per un PC con 2 interfacce di rete, una ethernet, e una wireless.
E’ un PC client, quindi non fa da gateway verso altri pc, e si connette ad internet attraverso una delle suddette interfacce.
Permettere l’accesso tramite shell SSH
SSH è un protocollo che permette di accedere (previa autenticazione) alla linea di comando di un pc. Quindi io posso, da un qualsiasi posto (si, ok, quasi), accedere al mio computer, che si può trovare anche dall’altra parte del mondo, e svolgere operazioni, come lanciare programmi, leggere/modificare/creare files… Tutto da linea di comando.
Capite che è una figata, ma “regala” l’accesso a tutto quanto, se configurato male.
Cominciamo con l’installare il server:
sudo apt-get install openssh-server
Ora modifichiamo il file di configurazione, per renderlo un po’ più sicuro:
sudo gedit /etc/ssh/sshd_config
Cambiamo la riga in cui c’è PermitRootLogin, decommentiamola (togliendo il #) e modifichiamola in:
PermitRootLogin no
Aggiungiamo anche la riga:
AllowUsers vostroutente
Impostare un firewall
Mi sono scritto uno script che utilizzo come firewall, e che condivido con voi.
Questo firewall vi protegge da attacchi di spoofing, pacchetti malformati, servizi in ingresso non consentiti, brute force attacks sul servizio SSH, e altre amenità.
Le policy che utilizzo sono:
– verso l’esterno consenti tutto, in modo da darmi flessibilità ogni volta che mi serve un servizio diverso;
– verso l’ingresso blocca tutto, eccetto quello che specifico esplicitamente (vedi file)
Il file da scaricare è iptables.conf ed è abbastanza commentato, quindi risulterà semplice modificarlo ed adattarlo per le proprie esigenze.
Una volta scaricato, spostiamolo nel percorso corretto:
sudo mv /percorso/per/il/file/iptables.conf /etc/
Diamogli i giusti permessi:
sudo chmod 700 /etc/iptables.conf
Ora scarichiamo questo script per il relativo caricamento: iptables.sh, e diamo:
sudo mv /percorso/per/il/file/iptables.sh /etc/init.d/iptables
Diamogli i giusti permessi:
sudo chmod 766 /etc/init.d/iptables
Ora è giunto il momento di dargli una sistemata:
Si presuppone una conoscenza base di concetti come indirizzi IP, maschere di rete, gateway, porte.
sudo gedit /etc/iptables.conf
Una volta adattato alle nostre esigenze, facciamo in modo che si carichi automaticamente anche all’avvio:
sudo update-rc.d iptables defaults
Da ora in poi sarà possibile attivare o disattivare il firewall con un:
sudo /etc/init.d/iptables start
oppure
sudo /etc/init.d/iptables stop
(o ancora, restart, per riavviarlo, tipo quando fate delle modifiche al file di configurazione)
Se avete problemi, o non capite come adattarlo alle vostre esigenze, basta un fischio 🙂