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

Cómo abrir puertos en Iptables en un servidor Linux

Introducción

Iptables es un programa de utilidad de espacio de usuario que permite que un administrador del sistema configure las tablas proporcionadas por el firewall del kernel de Linux y las cadenas y reglas que almacena. Iptables casi siempre viene preinstalado en cualquier distribución de Linux. Tener un firewall configurado correctamente es muy importante para la seguridad general de su servidor.

En este artículo, le compartiremos los pasos para abrir los puertos en el firewall de Iptables en la distribución de Ubuntu y Centos

Requisito previo

Acceso Sudo al servidor Ubuntu o Centos con Iptable instalado.

Paso 1:Enumere las reglas actuales de Iptables

Conéctese a su servidor con acceso Sudo y para enumerar las reglas actuales que están configuradas para iptables, use el siguiente comando

sudo iptables -L

Podemos ver el resultado a continuación, que mostrará todas las reglas que están configuradas actualmente

root@e2e:~# iptables -L
 Chain INPUT (policy DROP)
 target     prot opt source               destination         
 ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
 ACCEPT     all  --  anywhere             anywhere            
 ACCEPT     all  --  anywhere             anywhere            
 ACCEPT     icmp --  anywhere             anywhere            
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:http
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:https
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:1167
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:zabbix-agent
 Chain FORWARD (policy DROP)
 target     prot opt source               destination         
 Chain OUTPUT (policy ACCEPT)
 target     prot opt source               destination         
 root@e2e:~# 

Paso 2:Copia de seguridad de las IPtables

Antes de continuar con la adición de reglas en Iptable, debemos hacer una copia de seguridad de las reglas de Iptable. En caso de que haya algún problema con la configuración de Iptables, podemos restaurar las reglas desde la copia de seguridad

Utilice los siguientes comandos para guardar una regla de Iptable

iptables-save > IPtablesbackup.txt

Paso 2:Agregar/Eliminar una regla de Iptable

Una vez que conocemos las reglas que están configuradas actualmente, podemos abrir un puerto en IPtables agregando una regla usando el siguiente comando.

sudo iptables -A INPUT -p tcp --dport xxxx -j ACCEPT

Nota:Reemplace xxxx con el número de puerto requerido que desea abrir

Por ejemplo, para abrir un puerto Mysql 3306 ,Necesitamos ejecutar debajo del comando.

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

Básicamente, esto le dice a Iptable que acepte la conexión a Mysql públicamente.

Puede ver lo mismo con iptables -L como se menciona en el paso 1

root@:~# iptables -L
 Chain INPUT (policy DROP)
 target     prot opt source               destination         
 ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
 ACCEPT     all  --  anywhere             anywhere            
 ACCEPT     all  --  anywhere             anywhere            
 ACCEPT     icmp --  anywhere             anywhere            
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:http
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:https
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:1167
 ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:zabbix-agent
 ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
 Chain FORWARD (policy DROP)
 target     prot opt source               destination         
 Chain OUTPUT (policy ACCEPT)
 target     prot opt source               destination         
 root@:~# 

Si desea eliminar la regla que se agregó recientemente, puede usar el siguiente comando

sudo iptables -D INPUT -p tcp --dport xxxx -j ACCEPT

Si no desea abrir el puerto públicamente, puede abrir el puerto para una sola IP.

Use el siguiente comando para abrir el puerto solo para una sola IP

sudo iptables -A INPUT -p tcp -s your_server_ip --dport xxxx -j ACCEPT

Nota:Por favor, reemplace your_server_ip por la IP requerida en el comando anterior y reemplace xxxx con el puerto requerido

Paso 3:Guardar la regla de Iptable

Una vez que hayamos agregado las reglas, debemos guardar las reglas y hacerlas permanentes. Si está usando Ubuntu, puede usar iptables-persistent y para Centos, use el comando iptables save

En Ubuntu 14.04 use los siguientes comandos para guardar/recargar las reglas de iptables

sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload

En Ubuntu 16.04 y Ubuntu 18.04 use los siguientes comandos

sudo netfilter-persistent save
sudo netfilter-persistent reload

Si está utilizando centos, utilice el siguiente comando

service iptables save

Paso 4:restaurar la copia de seguridad de Iptables

Si hay algún problema con su regla de configuración de Iptables, puede revertir los cambios con el siguiente comando y restaurar el archivo del que se hizo una copia de seguridad en el paso 2

iptables-restore < IPtablesbackup.txt 

Conclusión

Seguir el artículo anterior lo habrá ayudado a abrir/cerrar los puertos en su sistema Linux. La implementación de un firewall adecuado iptables siempre debe considerarse de alta prioridad para su configuración, ya que permite a los administradores del sistema proteger su sistema y permitir solo los puertos requeridos públicamente o restringiéndolos a una IP particular


Cent OS
  1. Cómo abrir puertos en Iptables en un servidor Linux

  2. Cómo bloquear la dirección IP en el servidor Linux

  3. Cómo bloquear la dirección IP en el servidor Linux

  4. Cómo averiguar la lista de todos los puertos abiertos en Linux

  5. Cómo abrir el puerto Http (80) en Iptables en CentOS

Cómo comprobar los puertos abiertos en Linux

Cómo encontrar y cerrar puertos abiertos en Linux

Cómo usar Netcat para escanear puertos abiertos en Linux

Cómo configurar la replicación FreeIPA en Rocky Linux/Alma Linux/Centos 8

¿Cómo comprobar los puertos abiertos en Linux?

Cómo configurar un cortafuegos en su servidor Linux