Esempi di iptables

Aggiornato domenica 19 giugno 2016

iptables è un sistema firewall collegato al kernel Linux. Contrariamente a ciò che può sembrare Iptables non è come un server che lo avvizziamo o si fermiamo, c’è stata una vulnerabilità che un DDOS consentito, ma sarà sempre più efficace delle applicazioni che ascoltano in una determinata porta TCP. Iptable è integrato con il kernel, fa parte del sistema operativo. Possiamo creare, modificare, eliminare tutti i tipi di regole, qui proponiamo alcuni esempi.

Reset Iptables firewall Regole

iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPTiptables -Fiptables -t nat -F

Visualizza lo stato delle regole del firewall e della lista
digitare il seguente comando come root:

iptables -L -n -viptables -n -L -v --line-numbers iptables -L INPUT -n -viptables -L OUTPUT -n -v --line-numbers

le regole del firewall Elimina

iptables -L INPUT -n --line-numbersiptables -L OUTPUT -n --line-numbersiptables -L OUTPUT -n --line-numbers | lessiptables -L OUTPUT -n --line-numbers | grep 202.54.1.1

può essere cancellato dallo regola numero

iptables -D INPUT 4

o specificare una regola che le partite

iptables -D INPUT -s 202.54.1.1 -j DROP

impostare i criteri del firewall di default Per eliminare tutto il traffico:

iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROPiptables -L -v -n

solo bloccare il traffico in entrata

Per eliminare tutti i pacchetti in entrata / Inviati, ma consentire il traffico in uscita, tipo :

iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPTiptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPTiptables -L -v -n

indirizzi di rete privata eliminare nella interfaccia pubblica (Assumendo ETH1 come pubblico Interfaccia)

Blocca IP:

Salva regole:

iptables-save > /root/iptables.fw

in Centos / Rhel / Fedora Linux,:

Regole Ripristina :

iptables-restore < /root/iptables.fw

Ripristina in Centos / Rhel / Fedora Linux:

service iptables restart

Puoi ricaricare le regole automaticamente al riavvio del server:

vi /etc/rc.local
# Reload IPTABLES Rules automatically on restart/sbin/iptables-restore < /root/iptables.fw

In CentOS è possibile salvare le regole per ricaricarle automaticamente:

/etc/sysconfig/iptables

Consenti tutto il traffico di loopback, ed eliminare tutto il traffico a 127/8 che non utilizza lo0

iptables -A INPUT -i lo -j ACCEPTiptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

Elimina qualsiasi pacchetto TCP che non è stato avviato con il flag SYN attivo

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

accettare tutte le connessioni in entrata stabilite

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Rimuovi qualsiasi pacchetto non valido che non può essere Identificato

iptables -A INPUT -m state --state INVALID -j DROPDrop all inbound telnet trafficiptables -I INPUT -p tcp --dport 23 -j DROPDrop all outbound web trafficiptables -I OUTPUT -p tcp --dport 80 -j DROPDrop all outbound traffic to 192.168.0.1iptables -I OUTPUT -p tcp --dest 192.168.0.1 -j DROPAllow all inbound web trafficiptables -I INPUT -p tcp --dport 80 -j ACCEPTAllow inbound port traffic for localhostiptables -I INPUT -s 12.0.0.1 -p tcp --dport 2003 -j ACCEPTAllow inbound HTTPS traffic from 10.2.2.4iptables -I INPUT -s 10.2.2.4 -p tcp -m tcp --dport 443 -j DROPDeny outbound traffic to 192.2.4.0-192.2.4.255iptables -I OUTPUT -d 192.2.4.6.0/24 -j DROP

il traffico Blocca al dominio Facebook.com, si cerca nella IP di Facebook.com e poi i tuoi IPS varia

host -t a www.facebook.comwhois 69.171.228.40 | grep CIDR

creare la regola di non permettere l’accesso

iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP

anche dal nome di dominio, ma non è efficace al 100%.

iptables -A OUTPUT -p tcp -d www.facebook.com -j DROPiptables -A OUTPUT -p tcp -d facebook.com -j DROP

Consenti connessioni in ingresso sulla porta 21 da un 11.22.33.44 IP

iptables -A INPUT -p tcp -m state --state NEW --dport 21 --source 11.22.33.44

Consenti tutto SSH traffico in entrata

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

Consenti SSH in uscita

iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

Consenti traffico HTTP

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

Consenti in uscita HTTPS.

iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT

Unire regole con multipport

iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

Nega tutte le connessioni in ingresso sulla porta 21.

iptables -A INPUT -p tcp -m state --state NEW --dport 21 -j DROP

Elimina la prima regola di ingresso

fioritura Quear o consentire ICMP richiesta ping

iptables -A INPUT -p icmp --icmp-type echo-request -j DROPiptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT/// A continuación sólo acepta tipo limitado de peticiones ICMP:

### ** presume che la politica di input predefinita destinato a ridursi ** ######## ## ## IPTABLES -A INPUT -P ICMP -ICMP-TYPE echo-reply -j ACCEPT IPTABLES -A INPUT -P ICMP -ICMP-TYPE DESTATION-UNREACHABLE -j ACCEPT IPTABLES -A INPUT -P ICMP -ICMP-TYPE TEMPO -Exceeded -j ACCEPT
## ** Tutto il nostro server per rispondere ai ping ** ## iptables -A ingresso -p ICMP -ICMP-TYPE echo-request -j ACCEPT

iptables -A ingresso -p ICMP -ICMP-TYPE echo-request -j ACCEPT iPTABLES -A OUTPUT -P ICMP – ICMP- TIPO echo-reply -j ACCEPT

Permitir PING de dentro a fuera.

iptables -a uscita -p ICMP -ICMP-TYPE echo-request -j ACCEPT iptables -A ingresso – P ICMP -ICMP-TYPE echo-reply -j ACCEPT

Permitir tráfico DNS saliente.

iptables -a uscita -P UDP -O ETH0 -DPORT 53 -j ACCEPT iptables -A INPUT – P udp -i eth0 -sport 53 -j accetta

Abrir un rango de puertos de entrada

iptables -a input -m status state ne W -M TCP -P TCP DPT 7000: 7010 -J Accetta

Abrir un rango de IPs

## Accetta solo la connessione a TCP Port 80 (Apache) IP è tra 192.168 .1.100 e 192.168.1.200 ## Iptables -a input -P -P -P TCP Destinazione-Porta 80 -M Iprange src-range 192.168.1.100-192.168.1.200 -J accetta

## Esempio NAT ## Iptables – T na nat -a postruruting -j snat -to-source 192.168.1.20-192.168.1.25

%%%Restringir el número de conexiones concurrentes a un servidor por IP%%%Puedes utilizar el módulo connlimit para crear estas restricciones. Permitir 3 conexiones SSH por cliente:

iptables -a ingresso -P TCP SYN DPORT 22 -M Connlimit -connlimit-sopra 3 -J Rifiuta

Limitar el número de conexiones HTTP a 20:

iptables -p TCP Syn Dport 80 – M ConnLimit Connlimit-sopra 20 Connlimit-Mask 24 -J Drop

Donde:* --connlimit-above 3 : Match if the number of existing connections is above 3.* --connlimit-mask 24 : Group hosts using the prefix length. For IPv4, this must be a number between (including) 0 and 32.%%%Eliminar o aceptar paquetes desde una MAC Address

Iptables -a Input -m Mac -Mac-source 00: 0F: EA: 91 : 04: 08 -j Drop
## * Accetta solo il traffico per la porta TCP # 22 da Mac 00: 0F: EA: 91: 04: 07 * ## Iptables -a Input -p TcpDestination-Port 22 -m Mac MAC-Sorgente 00: 0F: EA: 91: 04: 07 -J Accetta

%%%Prevenir ataques DoS* -Limit 25/minute : Limita a sólo 25 conexiones por minuto.* -Limit-burst 100: Indica que el valor de limit/minute será forzado sólo después del número de conexiones en este nivel

Iptables -a Input -P -P TCP DPORT 80 -M Limit 25 / minuto -limit-burst 100 -j accetta

%%%Permitir redirección de puertos.* Ejemplo puerto 422 redirigimos al 22, con lo que podemos tener conexiones al puerto 22 y al puerto 422 por ssh.

iptables -t nat -a prereuting -p tcp -d 192.168.102.37 DPORT 422 -J DNAT a 192.168.102.37:22 Iptables -a input -i eth0 -p TCP DPORT 422 -M State State Nuovo, Fondata -J Accetta Iptables -a Uscita -O ETH0 -P TCPSport 422 -M State State Fined -J accetta

Logar y eliminar paquetes:

iptables -a input -i eth1 -s 10.0.0.0/8 -j registro -log-prefisso “ip_spoof A:” iptables -a input -i eth1 -s 10.0.0.0 / 8 -J Drop

Logar y eliminar paquetes limitando el número de entradas repetidas en el LOG

Iptables -a Input -I -I ETH1 -S 10.0.0/8 -m Limite limite 5 / M Limit-Brush 7 – j log -log-prefisso “ip_spoof a:” iptables -a ingresso -i eth1 -s 10.0.0.0/8 -j Drop

Sacar en el log los paquetes caídos.* Primero creamos una cadena llamada LOGGING:

iptables -n Registrazione

Luego todas las conexiones entrantes vayan por la cadena LOGGING

iptables -a ingresso -J logging

iptables -a logging -m limite limite 2 / min -j log-prefisso “Iptables Packet Dropped:” -log-level 7

Y los bloqueamos:

iptables -a logging -j Drop

%%%Listado de reglas ejemplo para puertos TCP/UDP comunes:* Replace ACCEPT with DROP to block port:

## Apri Porta SSH TCP Porta 22 ## Iptables -a Input – m State State New -m TCP -P TCP DPORT 22 -J Accetta Iptables -A Input -s 192.168.1.0/24 -m State State New -P TCP DPORT 22 -J ACCETTO

## APERTA CUPS (Servizio di stampa) PORTA UDP / TCP 631 per utenti LAN ## iptables -a input -s 192.168.1.0/24 -P UDP -M UDP -Dport 631 -J Accetta Iptables -A Input -s 192.168.1.0/24 -P TCP -M TCP -Dport 631 -J Accetta

## Consenti Time Sync Via NTP per utenti LAN (Apri PORT UDP 123) ## Iptables -a Input -s -s 192.168.1.0/24 -M StatoState New -P UDP Dport 123 -J Accetta

## Apri la porta TCP 25 (SMTP) per tutti ## Iptables -a Input -M State State New -P TCP Dport 25 -J Accetta

  1. Apri porte del server DNS per tutti ##

Iptables -a Input -M State State New -P UDP Dport 53 -J Accetta Iptables -A Input -M State State New -P TCPDport 53 -J Accetta

## Apri http / https (Apache) Porta server a tutti ## iptables -a Input -M State State New -P TCP Dport 80 -J Accetta Iptables -A Input -M State State New -P TCP Dport 443 -J Accetta

## Apri TCP Port 110 (POP3) per tutti ## iptables -a Input -m State State New -P TCP Dport 110 -J Accetta

## Apri la porta TCP 143 (IMAP) per tutti ## Porta TCP iptables -a input -m State State New -P TCP Dport 143 -J Accetta

## Aprire l’accesso a Samba f Ile Server per gli utenti LAN solo ## Iptables -a Input -s -s 192.168.1.0/24 -m State State New -P TCP Dport 137 -J Accetta Iptables -A Input -s 192.168.1.0/24 -m State State New -P TCP DPORT 138 -J Accetta Iptables -a input -s -s 192.168.1.0/24 -m State State New -P TCP Dport 139 -J Accetta iptables -A Input -s 192.168.1.0/24 -m State State New -P TCP Dport 445 -J Accetta

## Aprire l’accesso al server proxy solo per gli utenti LAN solo ## iptables -a input -s -s 192.168.1.0/24 -m State State New -P TCP Dport 3128 -J Accetta

## Aprire l’accesso a MySQL Server per gli utenti LAN Solo ## Iptables -i Input -P TCP -Dport 3306 -J Accetta ///

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *