- Autor | Anónimo
- Fuente |Seguridad informática y de red
- Tiempo de lanzamiento | 2021-03-02
iptables se utiliza para establecer, mantener y verificar las reglas de filtrado de paquetes IP del kernel de Linux. Como firewall bajo Linux, su función es muy poderosa, tiene 3 tablas y cada tabla tiene una cadena de reglas.
- filter es la tabla predeterminada, incluida la cadena incorporada INPUT (procesamiento de paquetes entrantes), FORWARD (procesamiento de paquetes pasados) y OUTPUT (procesamiento de paquetes generados localmente).
- Cuando se consulta la tabla nat, indica que se encuentra un nuevo grupo de conexión, que se compone de 3 cadenas integradas: PREROUTING (modificar el grupo entrante), OUTPUT (modificar el grupo local antes del enrutamiento), POSTROUTING (modificar el preparado grupo).
- La tabla mangle se usa para modificar el grupo especificado. Tiene 2 reglas integradas: PREROUTING (modificar el grupo ingresado antes de la ruta) y OUTPUT (modificar el grupo local antes de la ruta). A continuación se presenta brevemente la configuración común de iptables.
Ver reglas de iptables
Para ver la política actual de iptables, use el comando iptables-L, la vista predeterminada es el contenido de la tabla de filtros, de la siguiente manera:
root@kali:~# iptables-L
Chain INPUT(policy ACCEPT)
target prot opt source destination
f2b-sshd tcp – anywhere anywhere multiport dports ssh
Chain FORWARD(policy ACCEPT)
target prot opt source destination
Chain OUTPUT(policy ACCEPT)
target prot opt source destination
Chain f2b-sshd(1 references)
target prot opt source destination
RETURNall-anywhere anywhere
Establecer estrategia de cadena
Para la tabla de filtros, la política de cadena predeterminada es ACEPTAR. Puedes modificar la política de cadena con el siguiente comando:
root@kali:~# iptables-P INPUT DROP
root@kali:~# iptables-P FORWARD DROP
root@kali:~# iptbales-P OUTPUT DROP
La configuración del comando anterior descarta los paquetes recibidos, reenviados y enviados, e implementa una administración estricta de paquetes. Dado que tanto la recepción como el envío de paquetes están configurados para ser descartados, al configurar otras reglas, debe prestar atención a la configuración separada para INPUT y OUTPUT. Por supuesto, si confía en que esta máquina enviará paquetes, no es necesario configurar la tercera regla anterior.
Borrar reglas existentes
Puede utilizar las siguientes reglas para borrar las reglas existentes:
root@kali:~# iptables-F
Reglas de reenvío de puertos de red
Para un servidor utilizado como firewall o puerta de enlace, un puerto de red está conectado a la red pública y los paquetes de otros puertos de red se reenvían a este puerto de red para realizar la comunicación desde la red interna a la red pública. Suponiendo que eth0 está conectado a la red interna y eth1 está conectado a la red pública, las reglas de configuración son las siguientes:
root@kali:~# iptables-A FORWARD-i eth0-o eth1-j ACCEPT
Reglas de reenvío de puertos
El comando reenvía el paquete del puerto 888 al puerto 22, por lo que la conexión SSH también se puede realizar a través del puerto 888:
root@kali:~# iptables-t nat-A PREROUTING-p tcp-d 192.168.1.1 –dport 888-j DNAT--to 192.168.1.1:22
Prevención de ataques DoS
Usando el límite del módulo de extensión, también puede configurar las reglas de iptables para prevenir ataques DoS, como se muestra a continuación:
root@kali:~# iptables-A INPUT-p tcp –dport 80-m limit –limit 25/minute--limit-burst 100-j ACCEPT
- -Litmit 25 / minuto indica que el número máximo de conexiones por minuto está limitado a 25.
- --Litmit-burst 100 indica que cuando el número total de conexiones supera las 100, se activa el límite de litmit / minuto.