GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo bloquear un puerto usando un firewall en Linux

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

SSH ahora está bloqueado en su sistema y cualquier cliente que intente conectarse a través de SSH obtendrá un error. Puede habilitar SSH nuevamente ejecutando el mismo comando con el argumento '--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.


Linux
  1. Cómo depurar programas C en Linux usando gdb

  2. Cómo cambiar el puerto SSH en Linux

  3. Cómo instalar Vagrant en Linux

  4. Linux:¿cómo encontrar procesos usando el puerto serie?

  5. ¿Cómo actualizar R en Linux?

Cómo hacer un escaneo de puertos en Linux

Cómo configurar el cortafuegos de iptables en Linux

Cómo enumerar los sistemas de archivos en Linux usando Lfs

Cómo recortar y cambiar el tamaño de las imágenes en Linux usando Gwenview

Cómo hacer ping a un número de puerto en Linux

Cómo encriptar dispositivos de bloque usando LUKS en Linux