Un cortafuegos es un sistema de seguridad para redes basado en software o, en algunos casos, basado en hardware. Supervisa automáticamente el flujo de entrada y salida de tráfico en el sistema y bloquea ciertos tipos de flujo de datos según las reglas, que están preconfiguradas.
En Linux, Cortafuegos y UFW son dos de los software de firewall más populares. Se utilizan para todo tipo de bloqueo de tráfico; desde el bloqueo de un determinado sitio web hasta el bloqueo de un servidor específico.
Hoy aprenderemos a usar estos dos Firewalls para bloquear un puerto específico en Linux.
Lista de puertos abiertos en Linux
Ejecute el siguiente comando para encontrar puertos abiertos en Linux:
$ ss -tuln | grep LISTEN

Como ejemplo, intentaremos bloquear el puerto 22 (que usa SSH) usando ambos cortafuegos.
Bloquear un puerto usando Firewalld
Cortafuegos no está disponible en las distribuciones de Linux por defecto y se puede instalar desde repositorios oficiales.
Instálelo en Debian , Ubuntu y distribuciones similares ejecutando:
$ sudo apt install firewalld
Instálelo en RedHat , Fedora , CentOS, y distribuciones similares ejecutando:
$ sudo yum install firewalld
Verifique si el Firewall se ha iniciado ejecutando:
$ sudo service firewalld status

Ahora, la sintaxis para bloquear un puerto usando Firewalld es:
$ sudo firewall-cmd --remove-port=22/tcp --permanent $ sudo firewall-cmd --remove-port=22/udp --permanent

En primer lugar, 'firewall-cmd ' es el comando para Firewalld; como Cortafuegos por sí mismo se ejecuta como un demonio de escucha en segundo plano. En segundo lugar, 22 es el puerto a bloquear y 'tcp ' y 'udp ' son el protocolo de nivel de transporte que se bloqueará en ese puerto. La bandera '--permanent
’ mantiene el puerto bloqueado incluso después de un reinicio.
Ejecute lo siguiente para que estos cambios tengan lugar:
$ sudo firewall-cmd --reload
--add-port
' en lugar de eliminar.
$ sudo firewall-cmd --add-port=22/tcp --permanent $ sudo firewall-cmd --add-port=22/udp --permanent
Bloquear un puerto usando el cortafuegos UFW
UFW significa cortafuegos sin complicaciones y está disponible de forma predeterminada en las distribuciones de Linux. En primer lugar, habilite UFW con el siguiente comando:
$ sudo ufw enable

Bloquee un puerto con el siguiente comando:
$ sudo ufw deny 22

Todo SSH las conexiones se bloquearán ahora. Acceso al sistema a través de SSH resultará en una 'Conexión rechazada error.
Para habilitar SSH de nuevo, ejecuta:
$ sudo ufw allow 22
Conclusión
En este artículo, aprendimos cómo bloquear un puerto usando dos cortafuegos en Linux:Cortafuegos y UFW . Hay muchas más opciones para bloquear el tráfico usando estos firewalls; incluido el bloqueo de solo conexiones entrantes pero permitiendo conexiones en curso, etc.
Todas estas opciones se explican en las respectivas páginas de manual a las que se puede acceder con 'man firewall-cmd ' y 'hombre ufw '. Muchas gracias por leer y háganos saber sus pensamientos en los comentarios a continuación.