En Linux, el firewall es esencial para controlar el tráfico de red entrante y saliente. Es muy fácil permitir o bloquear direcciones IP y puertos usando el firewall. Estos son los comandos para permitir o bloquear direcciones IP y puertos usando varios cortafuegos.
Cortafuegos
Firewalld es una herramienta de administración de firewall en el sistema operativo Linux. Se configura con archivos XML. Podemos usar la interfaz de línea de comandos de firewall-cmd para configurar y manipular las reglas del firewall.
- Permitir el tráfico entrante del puerto 80. El siguiente comando permitirá el tráfico del puerto 80.
# sudo firewall-cmd --zone=public --add-port=80/tcp
- Permitir el puerto de entrada 80 en el cortafuegos permanente.
# sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
- Denegar el puerto saliente número 25. El siguiente comando bloqueará todas las conexiones salientes del puerto 25.
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp -d 127.0.0.1 --dport=25 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport=25 -j REJECT
# firewall-cmd --reload - Denegar el número de puerto entrante 80. El siguiente comando denegará todo el tráfico del puerto 80.
# sudo firewall-cmd --remove-port=80/tcp --permanent
- Ejecute el siguiente comando para bloquear una dirección IP en Firewalld. Reemplace 173.248.192.11 con su dirección IP.
# sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='173.248.192.11' reject"
- Puerto abierto para la dirección IP específica en Firewalld. Agregue la dirección IP de origen y el puerto (3306) que desea abrir en su servidor local de Linux. Después de eso, vuelva a cargar la configuración de firewalld para aplicar los cambios.
# firewall-cmd --zone=mariadb-access --add-source=173.248.192.11 --permanent
# firewall-cmd --zone=mariadb-access --add-port=3306/tcp --permanent
# firewall-cmd --reload
Iptables
Iptables utiliza un conjunto de tablas que tienen cadenas que contienen un conjunto de reglas integradas o definidas por el usuario. Usando estas reglas, podemos filtrar el tráfico de red en máquinas Linux.
- Ejecute el siguiente comando para permitir todas las conexiones HTTP entrantes (puerto 80).
# sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
El segundo comando permite el tráfico saliente de conexiones HTTP establecidas, necesario si la política de salida no está establecida en ACEPTAR.
# sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT - Ejecute el siguiente comando para permitir múltiples puertos entrantes. El siguiente comando aceptará el tráfico de los puertos 22,53 y 80.
# /sbin/iptables -A INPUT -p tcp --match multiport --dports 22,53,80 -j ACCEPT
- Denegar el puerto entrante 80 mediante IPtables. El siguiente comando denegará todas las conexiones entrantes para el puerto 80.
# /sbin/iptables -A OUTPUT -p tcp --dport 80 -j DROP
# /sbin/service iptables save - Bloquear una dirección IP en IPtables. Reemplace 173.248.192.11 con su dirección IP.
# sudo iptables -A INPUT -s 173.248.192.11 -j DROP
- Puerto abierto para dirección IP específica en IPtables. Permitir SSH entrante desde una dirección IP o subred específica.
# sudo iptables -A INPUT -p tcp -s 173.248.192.11 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
# sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
UFW - Cortafuegos sin complicaciones
UFW también se conoce como cortafuegos sin complicaciones. Es adecuado para cortafuegos basados en host. Admite tanto IPv4 como IPv6.
- Permitir el puerto entrante 80. El siguiente comando permitirá todo el tráfico desde el puerto 80.
# sudo ufw allow 80
- Permitir múltiples puertos entrantes. El siguiente comando permitirá el tráfico entrante desde los puertos 53, 80 y 443.
# sudo ufw allow 53,80,443
- Denegar el puerto entrante 80. El siguiente comando denegará todo el tráfico entrante para los puertos 80.
# sudo ufw deny 22
- Denegar el puerto saliente 25. El siguiente comando denegará todo el tráfico saliente del puerto 25.
# sudo ufw deny out 25
- Bloquear una dirección IP en UFW. Puede bloquear cualquier dirección IP para el tráfico entrante en su máquina.
# sudo ufw deny from 173.248.192.11
- Puerto abierto para dirección IP específica en UFW. El siguiente comando abrirá el puerto 80 para la dirección IP mencionada. Puede reemplazarlo con su dirección IP.
# sudo ufw allow from 173.248.192.11 to any port 80