Il tuo server cloud ha bisogno di un firewall?

0
145
Shutterstock/Anatolir

Un firewall è un'utilità di rete che viene eseguita sul tuo server e impedisce agli estranei di utilizzare determinate porte. Questo lo rende un utile strumento di sicurezza per impedire agli aggressori di accedere a processi che non dovrebbero. Il tuo server ne ha bisogno?

Apri solo le porte di cui hai bisogno, firewall per il resto

I servizi che esegui sul tuo server si connettono al mondo esterno tramite porte. Ogni porta ha un numero e il servizio ascolterà le connessioni su quel numero di porta. Questo non è sempre un rischio per la sicurezza, poiché spesso avrai bisogno di porte aperte per consentire agli utenti di accedere al tuo servizio.

Le porte 80 e 443 sono le porte predefinite per HTTP e HTTPS. Se stai eseguendo un server web, questi devono essere aperti. La porta 22 sarà probabilmente aperta su qualsiasi nuova installazione di Linux, poiché è la porta SSH predefinita. Puoi chiudere questa porta, ma dovrai spostare SSH su un'altra porta (che è comunque una buona idea).

Senza un firewall in atto, a qualsiasi servizio che avvia una connessione sarà consentito l'accesso a qualsiasi porta per impostazione predefinita. È meglio definire le regole per evitare che ciò accada e per garantire che sul sistema non sia in esecuzione nulla di imprevisto. Questo è esattamente ciò che fa un firewall—definisce le regole su come i processi sul tuo server possono comunicare con il mondo esterno.

Per controllare quali porte sono attualmente aperte sul tuo sistema, puoi eseguire:

sudo netstat -plnt

Oppure, se vuoi un output più conciso:

sudo netstat -plnt | grep “ASCOLTA” | awk '{print $4 “t” $7}' Annuncio

Questi comandi elencheranno ogni porta aperta, insieme a quale processo sta utilizzando quella porta. Netstat mostra solo il PID e il nome file del processo, quindi se hai bisogno del percorso completo dovrai passare il PID al comando ps. Se hai bisogno di scansionare le porte senza accedere al server, puoi usare l'utility lato client nmap.

Tutto ciò che non è specificamente utilizzato per ospitare un servizio dovrebbe essere chiuso con un firewall.

Se tutto ciò che è in esecuzione sul tuo sistema dovrebbe essere aperto, potresti non aver bisogno di un firewall. Ma senza uno, qualsiasi porta inutilizzata potrebbe facilmente essere aperta da un nuovo processo che installi. Dovrai assicurarti che tutti i nuovi servizi non debbano essere bloccati.

Non eseguire il tuo Servizi su IP pubblici in primo luogo

Un firewall è un ottimo strumento di sicurezza, ma alcuni servizi non dovrebbero essere accessibili a tutto il mondo. Se una porta deve essere aperta, quel servizio è vulnerabile agli attacchi di forza bruta e ad altri spiacevoli problemi. Ma puoi evitare che ciò accada bloccando le connessioni al tuo cloud privato virtuale.

I database ne sono il primo esempio. Un database come MySQL deve avere una porta aperta per le connessioni amministrative. Ma se l'unica cosa che parla con il database è il tuo server web (e tu, quando fai la manutenzione), dovresti mantenere MySQL privato e consentirgli di parlare solo con il server web. Se hai bisogno di accedervi, puoi SSH al server web e accedere al resto della rete da lì.

Come configurare un firewall< /h2>

Se stai utilizzando un servizio di hosting gestito come Amazon Web Services o Digital Ocean, il tuo provider potrebbe avere un firewall che puoi gestire da un'interfaccia web. Se questa è un'opzione, dovresti configurare il tuo firewall in questo modo.

Pubblicità

AWS, in particolare, ti obbliga a utilizzare il loro firewall, che è gestito con gruppi di sicurezza. Le porte sono tutte chiuse per impostazione predefinita (salvo per la porta 22), quindi dovrai aprirle manualmente dalla loro interfaccia. Puoi modificare i gruppi di sicurezza per qualsiasi istanza in esecuzione dalla console di gestione EC2 e modificare le regole in entrata.

AWS ti consente di specificare l'origine della regola, in modo che tu possa ad esempio bloccare SSH solo sul tuo indirizzo IP personale o rendere privata la connessione tra il tuo server di database e il server web.

RELAZIONATO: Guida per principianti a iptables, Linux Firewall

Se utilizzi altri provider come Linode o un normale hosting, dovrai configurare tu stesso il firewall. Per questo, il metodo più semplice consiste nell'utilizzare l'utilità iptables.

Se stai utilizzando un server Windows, dovrai configurare il Windows Firewall dal nome appropriato, cosa che puoi fare da la console di gestione di Windows o utilizzando netsh.