Exemplos de iptables (Galego)

Actualizado o domingo, 19 de xuño de 2016

Iptables é un sistema de firewall ligado ao kernel de Linux. Ao contrario do que pode parecer Iptables non son como un servidor que o iniciamos ou paramos, houbo algunha vulnerabilidade que un DDoS permitiu, pero sempre será máis eficaz que as aplicacións que escoitan nun certo porto TCP. Iptable está integrado co kernel, é parte do sistema operativo. Podemos crear, modificar, eliminar todo tipo de regras, aquí propoñeremos algúns exemplos.

Restablecer as regras de firewall de iptables

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

Ver o estado do seu firewall e as regras da lista
Escriba o seguinte comando como root:

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

Eliminar regras de firewall

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

pode ser eliminado por número de regra

iptables -D INPUT 4

ou especifique unha regra que coincide con

iptables -D INPUT -s 202.54.1.1 -j DROP

Establece as políticas predeterminadas de firewall a Eliminar todo o tráfico:

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

Só ten que bloquear o tráfico entrante

para eliminar todos os paquetes de entrada / enviados, pero permiten o tráfico saínte, o tipo :

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

Eliminar enderezos de rede privada na interface pública (asumindo eth1 como público interface)

bloque IP:

iptables -A INPUT -s 192.168.1.5 -j DROPiptables -A INPUT -s 192.114.71.13 -j DROP

Gardar regras:

iptables-save > /root/iptables.fw

en CentOS / Rhel / Fedora Linux,:

service iptables save

RESULTAR Regras :

iptables-restore < /root/iptables.fw

Restaurar en CentOS / RHEL / Fedora Linux:

service iptables restart

pode Recarga as regras automaticamente ao reiniciar o servidor:

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

en CentOS pode gardar as regras para recargalas Automáticamente:

/etc/sysconfig/iptables

Permitir todo o tráfico de loopback e eliminar todo o tráfico a 127/8 que non usa LO0

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

Eliminar calquera paquete TCP que non se iniciou coa bandeira activa

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

Aceptar todas as conexións entrantes establecidas

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

Eliminar calquera paquete non válido que non pode ser Identificado

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

bloquear o tráfico ao dominio de Facebook.com, miramos a IP de Facebook.com e despois o seu intervalo IPS

Creamos a regra para non permitir o acceso

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

tamén por nome de dominio, pero non é 100% efectivo.

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

Permitir conexións entrantes ao porto 21 dun IP 11.22.33.44

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

permitir todo o tráfico entrante SSH

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

permitir a saída SSH

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

Permitir tráfico 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

permitir https saíntes.

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

Combinar regras 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

negar Todas as conexións entrantes ao porto 21.

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

Eliminar a primeira regra de entrada

Bloom. Permitir ou permitir a solicitude ICMP 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:

### ** Asumiu que a política de entrada por defecto está definida para caer ** ######## ## ## iptables -a entrada -p -p ICMP -ICMP-Type Echo-Reply -j Acepta Iptables -a entrada -P icmp -Icmp-Tipo de destino: inaccesible -j aceptar o tempo de IPTables -A tempo -J acepta
## ** Todo o noso servidor para responder a ping ** ## Iptables -a entrada -P icmp -Icmp-type echo-petición -j acepta

iptables -a entrada -p icmp -Icmp-tipo eco-petición -j aceptar iptables -a saída -p icmp – ICMP- Tipo eco-reply -j acepta

Permitir PING de dentro a fuera.

iptables -a saída -p ICMP -Icmp-tipo echo-petición -j acepta iptables -a entrada – p icmp -Imp-type echo-reply -j acepta

Permitir tráfico DNS saliente.

iptables -a saída -p udp -o eth0 -dport 53 -j aceptar iptables -a entrada – P udp -i eth0 -sport 53 -j acepta

Abrir un rango de puertos de entrada

iptables -a entrada -m State State ne ne ne W -m TCP -P TCP DPT 7000: 7010 -J Aceptar

Abrir un rango de IPs

## só acepta a conexión a TCP Port 80 (Apache) IP IP está entre 192.168 .1.100 e 192.168.1.200 ## iptables -A entrada -P TCP destino-Port 80 -M iprange src-Range 192.168.1.100-192.168.1.200 J ACCEPT

## NAT Exemplo ## iptables – T nat -a postruting -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 entrada -P TCP Syn DPORT 22 -M Connlimit -connlimit-enriba 3 -j rexeitar

Limitar el número de conexiones HTTP a 20:

iptables -p tcp syt dport 80 – m Connlimit Connlimit-Arriba 20 Connlimit-Máscara 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 entrada -m Mac-Mac-fonte 00: 0F: EA: 91 : 04: 08 -J caída
## * só acepta o tráfico para o porto TCP # 22 de Mac 00: 0F: EA: 91: 04: 07 * ## Iptables -a entrada -P TCPdestinación-Port 22 -m Mac Mac-fonte 00: 0f: EA: 91: 04: 07 -J Aceptar

%%%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 entrada -p -p tcp dport 80 -m límite límite 25 / minuto -Limit-Burst 100 -j acepta

%%%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 prerrouting -p tcp -d 192.168.102.37 DPport 422 -j dnat a 192.168.102.37:22 Iptables -a entrada -i Eth0 -p TCP DPORT 422-MT Estado Estado novo, establecido -J aceptar Iptables -a saída -o eth0 -p TCPSport 422 -m Estado Estado establecido -J Aceptar

Logar y eliminar paquetes:

iptables -a entrada -i ETH1 -S 10.0.00/8 -J Log -log-prefix “IP_SPOOF A:” Iptables -a entrada -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 entrada -i ETH1 -S 10.0.0.0/8 -m límite límite 5 / m Limit-Burst 7 – j log -log-prefix “ip_spoof a:” iptables -a entrada -i eth1 -s 10.0.00/8 -j gota

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

iptables -n Rexistro

Luego todas las conexiones entrantes vayan por la cadena LOGGING

iptables -a entrada -j Rexistro de rexistro

IV id = ”

iptables -a rexistro de límite de rexistro 2 / min -j prefixo de rexistro de rexistro” Packet Iptables caeu: “-Log-nivel 7

Y los bloqueamos:

Iptables -a exceso de rexistro -J

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

## Open Port SSH TCP Port 22 ## Iptables -a entrada – m State State New-M TCP -P TCP DPORT 22 -J Acepta Iptables -a Input -s 192.168.10/24 -m State State New -p TCP DPORT 22 -J Aceptar

## APERA CUPS (servizo de impresión) UDP / TCP Port 631 para usuarios de LAN ## Iptables -a entrada -s 192.168.1.0/2 -p udp -m UDP -DPORT 631 -J Acepta Iptables -a entrada -S 192.168.10/2 -p TCP -m TCP -Dport 631 -J Acepta

## Permitir Time Sync a través de NTP para usuarios de LAN (Open UDP Port 123) ## Iptables -a entrada -S 192.168.10/24 -m Statestate New -p UDP DPORT 123 -J Aceptar

## Open TCP PORT 25 (SMTP) para todos ## Iptables -a entrada -m State State New -p TCP DPORT 25 -J Acepta

  1. Portos de servidor DNS Aberto para todos ##

iptables -a entrada -m State State New -p UDP DPORT 53 -J Aceptar Iptables -a entrada -m State State New -p TCPDPort 53 -j acepta

## Abra http / https (Apache) Porto do servidor a todos ## Iptables -a entrada -m State State New -p TCP DPORT 80 -J Acepta Iptables -a entrada -M State State New -p TCP DPORT 443 -J Aceptar

## Open TCP Port 110 (POP3) para todos ## Iptables -a entrada -m State State New -p TCP DPORT 110 -J Aceptar

## Open TCP Porto 143 (IMAP) para todos ## Iptables -a entrada -m State State New -p TCP DPORT 143 -J Aceptar

## Open Access to samba f Ile Server para usuarios de LAN só ## Iptables -a Input -s 192.168.1.0/24 -m State State New -p TCP DPORT 137 -J Acepta Iptables -a Input -s 192.168.10/24 -m State State New -p TCP DPORT 138 -J Acepta Iptables -a Input -S 192.168.10/24 -m State State New -p TCP DPORT 139 -J Acepta Iptables -a Input -S 192.168.10/200 -m State State New -p TCP DPORT 445 -j acepta

## Open Acceso ao servidor proxy para usuarios de LAN só ## Iptables -a entrada de entrada 192.168.10/0/200 -m State State New -p TCP DPORT 3128 -J Aceptar

## Open Access ao servidor MySQL para usuarios de LAN só ## Iptables -i Input -P TCP -Dport 3306 -j acepta ///

Deixa unha resposta

O teu enderezo electrónico non se publicará Os campos obrigatorios están marcados con *