GNU/Linux >> Linux Esercitazione >  >> Linux

Procedura:proteggere il tuo server Ubuntu o Debian con IPTables

Introduzione

In questo tutorial, tratteremo come eseguire alcune modifiche di base a IPTables che aiuteranno notevolmente a proteggere il tuo server. Questo viene fatto su una nuova installazione di Ubuntu 14.04 a 64 bit nel nostro Cloud. Questo può essere fatto anche su qualsiasi versione del nostro sistema operativo Ubuntu 12.04 e Debian. Tutti i nostri comandi vengono eseguiti come root e la modifica dei file avviene tramite vi. Se stai utilizzando un altro utente per farlo, avrai bisogno dell'accesso sudo. Puoi utilizzare qualsiasi editor di file che desideri.

Proteggi il tuo server Cloud con IPTables

Sfortunatamente, il nostro Ubuntu 14.04 o 12.04 non viene fornito con IPTables già installato. In Debian, IPTables è già installato, quindi puoi saltare questo. Quindi il nostro primo passo con Ubuntu è installare IPTables. Per fare ciò, esegui semplicemente:

apt-get install iptables

Dopo aver installato IPTables, puoi verificarlo eseguendo:

iptables –L

Questo elencherà tutte le regole in esecuzione e verificherà per te che hai installato iptables e che funzioni. Al momento, è solo vuoto ma puoi vedere i tre tipi di catene disponibili.

Successivamente, installeremo il pacchetto iptables-persistent. Ciò che fa è che scriverà le nostre attuali regole IPTables in un nuovo file (/etc/iptables/rules.v4) e gestirà automaticamente l'applicazione delle nostre regole al riavvio. Abbastanza utile!

/etc/iptables/rules.v4

Quando inserisci il file, dovrebbe apparire come l'immagine sopra. Ci sono alcune cose che vorremo aggiungere prima della nostra prima regola personalizzata. Questa sarebbe una regola per l'interfaccia di loopback e una per il traffico già stabilito. Puoi vederli qui sotto. La prima regola personalizzata che aggiungeremo consentirà l'accesso SSH al nostro server. Vorremo aggiungere le regole sopra la riga COMMIT poiché COMMIT delimita la fine del nostro set di regole INPUT, FORWARD e OUTPUT. Per scoprire cosa significano tutti i segmenti IPTables e maggiori informazioni su di essi, consulta la nostra sezione IPTables.

-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Nota:se disponi di una porta SSH personalizzata come quella impostata nel tutorial Modifica della porta SSH in Ubuntu, dovrai modificare la 22 in modo che sia la porta SSH configurata. Nel nostro caso 3389

/etc/iptables/rules.v4

Le tue regole dovrebbero essere simili all'immagine sopra. Ora, prima di finire qui, ci sono altre due cose che dobbiamo cambiare. Dove dicono le regole:

:INPUT ACCEPT and :FORWARD ACCEPT

Vorremo fargli avere:

:INPUT DROP and :FORWARD DROP

Ciò che fa è dire a IPTables di bloccare e rilasciare tutto il traffico che non va alle porte specificate per consentire il passaggio. Ciò impedirà alle persone di tentare di introdursi utilizzando i servizi in esecuzione a meno che tu non abbia aperto tali porte al pubblico.

Quando hai finito, dovrebbe essere simile a quanto sopra. Una volta lì, salva il file e chiudilo. L'ultima cosa che dobbiamo fare è caricare queste nuove regole nelle attuali IPTables. Per fare ciò, esegui semplicemente:

iptables-restore < /etc/iptables/rules.v4

Per verificare che le nostre regole siano a posto, esegui semplicemente lo stesso comando di prima:

iptables –L

Dovresti vedere qualcosa di simile alla pagina sottostante.

/etc/iptables/rules.v4

Dopo questo, è tutto! Le tue nuove regole sono in vigore immediatamente e rimarranno durante i riavvii. Se vuoi diventare più restrittivo con le tue tabelle IP, in particolare l'accesso a SSH, puoi fare quanto segue per ogni indirizzo IP che dovrebbe essere consentito. Ciò comporta la modifica della regola SSH e l'aggiunta di altro. Laddove afferma la regola SSH che abbiamo identificato in precedenza, vuoi cambiarla in:

-A INPUT -s IPADDR –m tcp –p tcp --dport 3389 –j ACCEPT

Dove IPADDR è il tuo indirizzo IP a cui desideri avere accesso SSH al tuo server. Se non hai impostato una porta SSH personalizzata, vorresti che rimanesse 22 e non 3389.

Per consentire ad esempio porte specifiche per l'accesso Web al tuo sito Web, tutto ciò che devi fare è conoscere/trovare la porta su cui viene eseguito il servizio (o su cui l'hai configurato) e il suo protocollo (TCP o UDP) e consentirlo. Ad esempio, accesso al sito Web:

-A INPUT -m tcp -p tcp --dport 80 -j ACCEPT

E ora Internet ha accesso al web hosting che stai facendo.

Tieni presente che quando aggiungi nuove regole alle sezioni INPUT o FORWARD, è un'ottima pratica mantenere le nuove regole raggruppate insieme a regole simili. INGRESSI con INGRESSI e AVANTI con AVANTI. Dovrai anche assicurarti che tutte le regole che aggiungi che consentono il passaggio di una nuova porta siano elencate SOPRA qualsiasi istruzione di rifiuto per quella serie di regole. Se sono elencate dopo le righe di rifiuto, le regole non avranno effetto.

Per vedere l'output di ciò che IPTables sta facendo e/o bloccando con le sue regole, puoi eseguire quanto segue. Stamperà le regole che hai e qualsiasi cosa saggia sui pacchetti sull'interruzione delle connessioni o sul lasciarle passare.

iptables -L -vn

Per scoprire cosa significano tutti i segmenti IPTables e maggiori informazioni su di essi, consulta la nostra sezione IPTables (link).

Nota:se utilizzi i servizi cloud di Atlantic.Net, puoi sempre accedere al tuo server tramite il nostro visualizzatore VNC nel portale cloud se ti blocchi.


Linux
  1. Come installare Puppet 6.x su Ubuntu 18.04 / Ubuntu 16.04 e Debian 9

  2. Come installare il server SSH su Ubuntu/Debian con OpenSSH

  3. Protezione del tuo VPS basato su Ubuntu/Debian utilizzando il firewall IPTABLES/Netfilter

  4. Come aggiungere un IP aggiuntivo al tuo server Ubuntu 18.04

  5. Come proteggere il tuo server Ubuntu con CSF Firewall

Come aggiungere un IP aggiuntivo al tuo server Ubuntu o Debian Cloud

Come bloccare il tuo server CentOS con IPtables

Come configurare un server Seafile con Nginx su Ubuntu 18.04

Come configurare un server FTP con ProFTPD in Ubuntu 18.04

Come configurare un server di posta con Modoboa su Ubuntu 20.04

Come configurare un firewall sul tuo server Linux