GNU/Linux >> Tutoriales Linux >  >> Cent OS

18 ejemplos para aprender las reglas de Iptable en CentOS

Iptable es la herramienta de administración para el filtrado de paquetes IPv4 y NAT. Iptables se usa para configurar, mantener e inspeccionar las tablas de reglas de filtrado de paquetes IPv4 en el kernel de Linux. Se pueden definir varias tablas diferentes. Cada tabla contiene una serie de cadenas integradas y también puede contener cadenas definidas por el usuario. Cada cadena es una lista de reglas que pueden coincidir con un conjunto de paquetes. Cada regla especifica qué hacer con un paquete que coincida. Esto se denomina 'objetivo', que puede ser un salto a una cadena definida por el usuario en la misma tabla.

Una regla de firewall especifica criterios para un paquete y un objetivo. Si el paquete no coincide, se examina la siguiente regla de la cadena; si coincide, la siguiente regla se especifica mediante el valor del objetivo, que puede ser el nombre de una cadena definida por el usuario o uno de los valores especiales ACCEPT, DROP, QUEUE o RETURN.

  • ACEPTAR significa dejar pasar el paquete.
  • DROP significa dejar caer el paquete al suelo
  • QUEUE significa pasar el paquete al espacio de usuario
  • RETORNO significa dejar de atravesar esta cadena y reanudar en la siguiente regla de la cadena anterior.

Hay un total de 4 cadenas:

  • ENTRADA - La cadena predeterminada se utiliza para los paquetes dirigidos al sistema. Use esto para abrir o cerrar puertos entrantes y direcciones IP/subred
  • SALIDA - La cadena predeterminada se usa cuando los paquetes se generan desde el sistema. Use esto para abrir o cerrar puertos salientes y direcciones IP/subredes
  • ADELANTE - Las cadenas predeterminadas se utilizan cuando los paquetes se envían a través de otra interfaz. Por lo general, se usa cuando configura Linux como enrutador
  • Cortafuegos-RH-1-ENTRADA - Esta es una cadena personalizada definida por el usuario. Es utilizado por las cadenas INPUT, OUTPUT y FORWARD.

Instalación de Iptables

Podemos instalar iptables mediante el siguiente comando.

[root@vpn ~]# yum install iptables -y

Compruebe la versión de iptable:

[root@vpn ~]# iptables --version
iptables v1.3.5

Verifique el estado de las iptables:

[root@vpn ~]# service iptables status

Iniciar iptables:

[root@vpn ~]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]

Para configurar el inicio de iptables en el arranque:

[root@vpn ~]# chkconfig iptables on

El archivo de configuración predeterminado de CentOS es /etc/sysconfig/iptables. Son los scripts del sistema los que activan el firewall al leer este archivo

Reglas de IPtable

1) Restablecer todas las reglas (F) y cadenas (X), necesario si ya se han definido reglas de iptables

#iptables -t filter -F
#iptables -t filter -X

2) Mostrar estado del cortafuegos

#iptables -L -n -v

3) Bloqueo de paquetes nulos

#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

4) Rechazar ataque SYN -FLOOD

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

5) Rechazar un paquete de reconocimiento

#iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

6) Adición de la interfaz localhost al filtro del cortafuegos

#iptables -A INPUT -i lo -j ACCEPT

7) Permitir el tráfico del servidor web

#iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

8) Permitir que los usuarios utilicen servidores SMTP

#iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

9) Permitir que los usuarios lean el correo electrónico en su servidor

permitir tráfico POP3

#iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

permitir tráfico POP3

#iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

10) Permitir tráfico ssh

#iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

permitir el tráfico al puerto SSH si proviene de una fuente

#iptables -A INPUT -p tcp -s YOUR_IP_ADDRESS -m tcp --dport 22 -j ACCEPT

11) Permitir que cualquier conexión saliente establecida reciba respuestas del servidor

#iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

12) Bloquear una dirección IP

#iptables -A INPUT -s IP_ADDRESS -j DROP

13) Bloquear un puerto para una dirección IP específica

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j DROP

14) Abrir un puerto para una dirección IP específica

#iptables -A INPUT -p tcp -s IP_ADDRESS --dport PORT -j ACCEPT

15) Permitir impresora para una dirección IP específica

#iptables -A INPUT -s IP_ADDRESS -p udp -m udp --dport 631 -j ACCEPT

16) Abrir DNS

#iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

17) Abrir puerto MYSQL

#iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

18) Abra un rango de puertos (p. ej.:7000-7100)

#iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7100 -j ACCEPT

Después de configurar todas las reglas, debe guardar las reglas y reiniciar iptables

#service iptables save

#service iptables restart

Cent OS
  1. Cómo bloquear un puerto específico en CentOS 8 como 22

  2. 6 ejemplos útiles de comandos journalctl en CentOS / RHEL 7 (hoja de referencia)

  3. Cómo eliminar reglas duplicadas en la base de datos de políticas de enrutamiento en CentOS/RHEL

  4. CentOS / RHEL 6:Cómo guardar las reglas de iptables

  5. CentOS / RHEL:Cómo agregar reglas de iptable

26 ejemplos de comandos DNF en Fedora / CentOS / RHEL

5 ejemplos del comando Netcat (nc) en Linux

Cómo migrar las reglas de iptables de CentOS/RHEL 6 a CentOS/RHEL 7 firewalld

Ejemplos de comandos KVM Virsh en CentOS y RHEL

CentOS / RHEL:cómo hacer que las reglas de iptable persistan en los reinicios

CentOS / RHEL:guía de solución de problemas de iptables