GNU/Linux >> Linux Esercitazione >  >> Linux

Introduzione a iptables

Questo articolo spiega come utilizzare le tabelle IP per un firewall semplice e descrive il processo di apertura delle falle nel firewall alle porte necessarie. Una tabella IP è un firewall e uno strumento di rete disponibile per tutte le distribuzioni Linux e opera analizzando i pacchetti a livello di kernel man mano che vengono ricevuti.

Per un elenco completo di comandi, parametri e altre opzioni delle tabelle IP, vedere la pagina MAN e le istruzioni per le tabelle IP.

Set di regole di base

Il comando per elencare le regole correnti è:

  sudo iptables --list

L'output predefinito è:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Lettura del set di regole

In un'installazione predefinita, vengono visualizzate tre catene predefinite , un elenco di regole, che si occupa delle tre attività principali:traffico in entrata (INPUT), traffico inoltrato (FORWARD) e traffico in uscita (OUTPUT). La cosa più importante da togliere dalla tabella sopra è che il set di regole predefinito per tutte le politiche è impostato su ACCETTO .

Norme

Le politiche disponibili e altre opzioni sono ampie. Se vuoi saperne di più su di loro, controlla la pagina man di IPtables. Questo articolo copre solo le norme più comuni:

  • Accetta passa esplicitamente il traffico fintanto che non si applicano altre regole di destinazione.

  • Rifiuta restituisce un pacchetto di errore in risposta al pacchetto abbinato. In caso contrario, è equivalente a DROP quindi è un TARGET che termina , terminando l'attraversamento della regola.

  • Lascia interrompe una connessione a un host senza alcuna comunicazione a meno che non si applichi una regola di destinazione.

Opzioni disponibili

Pagina MAN di IPtables:https://linux.die.net/man/8/iptables

Le opzioni riconosciute da iptables vieni nei seguenti gruppi:

  • Comandi specificare un'azione da eseguire.
  • Parametri imposta le specifiche delle regole per i comandi utilizzati.
  • Altre opzioni che specifichi, se necessario, per i comandi utilizzati.

Comandi firewall semplici

Consenti connessioni già connesse al tuo server.

sudo iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Consenti connessioni su ServiceNet. Richiesto da altri prodotti Rackspace Cloud come Cloud Backup e Cloud Monitoring.

sudo iptables -A INPUT -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Consenti connessioni a SSH. Puoi anche utilizzare questo comando per effettuare personalizzazioni. Il comando seguente consente tutti i tentativi di connessione TCP alla porta SSH 22 .

  sudo iptables -I INPUT 1 -p tcp  --dport 22 -j ACCEPT

Consenti connessioni provenienti solo da una determinata sottorete IP utilizzando la notazione CIDR (ClasslessInter Domain Routing). In questo esempio, blocchiamo qualsiasi indirizzo IP compreso nell'intervallo 192.168.1.0 - 192.168.1.255.

sudo iptables -I INPUT 1 -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT

Consenti connessioni a HTTP 80 o HTTPS 443 da qualsiasi connessione.

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT

Consenti connessioni per server FTP sulla porta 21 .

sudo iptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT

Modificando il criterio predefinito per negare tutte le connessioni, verranno accettate solo le connessioni consentite.

sudo iptables -P INPUT DROP

IMPORTANTE :esegui questa regola dopo aver impostato le regole di accesso per consentire le connessioni SSH in entrata.

Elenco delle porte comuni

Utilizzando i comandi precedenti, combinare e abbinare le opzioni dal seguente elenco di porte comuni per creare regole per qualsiasi server in esecuzione.

Salva il tuo set di regole

Se il server si riavvia per qualsiasi motivo o si riavvia IPTables, le modifiche andranno perse poiché le modifiche vengono archiviate nella memoria volatile. I seguenti comandi creano un file di testo normale, /etc/sysconfig/iptables , con sintassi leggibile dall'uomo. Tutte le modifiche a questo file sono attive ogni volta che iptables si riavvia.

  • Per CentOS e Fedora

    /etc/init.d/iptables save
    
  • Per il sistema operativo Ubuntu

    iptables-save > /etc/iptables.rules
    
  • Per tutte le altre distribuzioni

    iptables-save > /etc/sysconfig/iptables
    

Riepilogo

Questo articolo mostra come creare un semplice firewall per proteggere il tuo server dagli attacchi di base. Tieni presente che IPTables è uno strumento potente che avrebbe bisogno di un libro per essere esplorato completamente. Se hai bisogno di aiuto per creare più regole, consulta Easy Firewall Generator per IPTables.

  • Ubuntu IPtables Howto
  • Man IPtables

Linux
  1. Introduzione a GNU Autotools

  2. Come aprire le porte su Iptables in un server Linux

  3. Un'introduzione al comando diff

  4. Plesk:Introduzione

  5. Negare tutte le connessioni in entrata con iptables?

Un'introduzione a Virtual Machine Manager

Un'introduzione a bpftrace per Linux

Un'introduzione a Vivaldi Browser su Linux

Linguaggio di programmazione C - Introduzione

Un'introduzione all'editor vi

Un'introduzione ai fatti Ansible