18 ejemplos para aprender reglas iptables en CentOS
Iptable es la herramienta de administración para el filtrado de paquetes IPv4 y NAT. Iptables se utiliza 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 coincide. Esto se llama un «objetivo», que puede ser un salto a una cadena definida por el usuario en la misma tabla.
Una regla de firewall especifica los criterios para un paquete y un objetivo. Si el paquete no coincide, la siguiente regla de la cadena es la examinada; 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 continuar en la siguiente regla de la cadena anterior.
Hay un total de 4 cadenas:
- APORTE – La cadena predeterminada se utiliza para paquetes dirigidos al sistema. Use esto para abrir o cerrar puertos entrantes y direcciones IP / subred
- PRODUCCIÓN – La cadena predeterminada se utiliza cuando los paquetes se generan desde el sistema. Use esto para abrir o cerrar puertos salientes y direcciones / subredes IP
- HACIA ADELANTE – Las cadenas predeterminadas se utilizan cuando los paquetes se envían a través de otra interfaz. Generalmente se usa cuando configura Linux como enrutador
- RH-Firewall-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
Verifique la versión de iptable:
[root@vpn ~]# iptables --version iptables v1.3.5
Verifique el estado de iptables:
[root@vpn ~]# service iptables status
Inicie iptables:
[root@vpn ~]# service iptables start Flushing firewall rules: [ OK ] Setting chains to policy ACCEPT: filter [ OK ] Unloading iptables modules: [ OK ]
Para configurar iptables para que comiencen 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 iptables
1) Restablecer todas las reglas (F) y cadenas (X), necesario si ya se han definido las reglas de iptables
#iptables -t filter -F #iptables -t filter -X
2) Mostrar el estado del firewall
#iptables -L -n -v
3) Bloqueo de paquetes nulos
#iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
4) Rechazar el 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) Agregar la interfaz localhost al filtro de firewall
#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 a los usuarios utilizar 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 el 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 el 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 el 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 las conexiones salientes establecidas reciban 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) Abra 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 una gama de puertos (por ejemplo: 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 las iptables
#service iptables save #service iptables restart