GNU/Linux >> Tutoriales Linux >  >> AlmaLinux

Cómo permitir el puerto a través del firewall en AlmaLinux

firewalld es el programa de firewall predeterminado que viene preinstalado en Red Hat Enterprise Linux y sus distribuciones derivadas de Linux, como AlmaLinux.

De manera predeterminada, el firewall está activado, lo que significa que un número muy limitado de servicios puede recibir tráfico entrante. Esta es una buena característica de seguridad, pero significa que el usuario debe tener los conocimientos suficientes para configurar el firewall siempre que instale un nuevo servicio en el sistema, como HTTPD o SSH, por ejemplo. De lo contrario, las conexiones de Internet no podrán acceder a estos servicios.

En lugar de deshabilitar el firewall en AlmaLinux por completo, podemos permitir ciertos puertos a través del firewall, lo que permite que las conexiones entrantes lleguen a nuestros servicios. En esta guía, veremos cómo permitir un puerto a través del firewall en AlmaLinux. Siéntase libre de seguir si acaba de instalar AlmaLinux o migró de CentOS a AlmaLinux.

En este tutorial aprenderás:

  • Cómo permitir un puerto o servicio a través del firewall en AlmaLinux
  • Cómo recargar el cortafuegos para que los cambios surtan efecto
  • Cómo verificar qué puertos y servicios están abiertos en el firewall
  • Cómo cerrar un puerto después de haberlo configurado como abierto
  • Ejemplos de comandos para permitir los puertos más comunes a través del firewall

Permitir un puerto a través del firewall en AlmaLinux

Cómo permitir un puerto a través del firewall en AlmaLinux

Siga las instrucciones paso a paso a continuación para permitir puertos o servicios a través de firewalld en AlmaLinux. También verá cómo comprobar los puertos abiertos que ha configurado firewalld.

  1. Al verificar si hay puertos de firewall abiertos en RHEL 8/CentOS 8 Linux, es importante saber que los puertos de firewall se pueden abrir de dos maneras diferentes principales. En primer lugar, el puerto del cortafuegos se puede abrir como parte de un servicio preconfigurado. Tome este ejemplo donde abrimos el puerto para HTTP al public zone.
    # firewall-cmd --zone=public --add-service=http --permanent
    

    Por supuesto, agregar el servicio HTTP a firewalld es el equivalente a abrir el puerto 80 .

  2. En segundo lugar, los puertos se pueden abrir directamente como puertos personalizados predefinidos por el usuario. Tome este ejemplo donde abrimos el puerto 8080 .
    # firewall-cmd --zone=public --add-port 8080/tcp --permanent
    

    Dado que 8080 no tiene un servicio asociado, es necesario que especifiquemos el número de puerto en lugar de un nombre de servicio si queremos abrir este puerto.

  3. Para verificar qué puertos de servicio están abiertos, ejecute el siguiente comando.
    # firewall-cmd --zone=public --list-services
    cockpit dhcpv6-client http https ssh
    

    Los servicios anteriores (cabina, DHCP, HTTP, HTTPS y SSH) tienen abiertos sus números de puerto correspondientes.

  4. Para verificar qué números de puerto están abiertos, use este comando.
    # firewall-cmd --zone=public --list-ports
    20/tcp 8080/tcp
    

    Los puertos anteriores, 20 y 8080 , están abiertos al tráfico entrante.

  5. Después de que haya permitido sus puertos y servicios a través del firewall, necesitaremos volver a cargar firewalld para que los cambios surtan efecto. Todas las reglas con --permanent La opción ahora se convertirá en parte de la configuración del tiempo de ejecución. Las reglas sin esta opción se descartarán.
    # firewall-cmd --reload
    
  6. También podemos ver una lista de todos los servicios y puertos abiertos usando --list-all option.
    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens160
      sources: 
      services: cockpit dhcpv6-client http ssh
      ports: 443/tcp
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules:
    
  7. Tenga en cuenta que firewalld funciona con zonas. Según la zona que utilicen sus interfaces de red, es posible que deba agregar su puerto permitido a esa zona en particular. El primer paso anterior muestra cómo agregar una regla a la zona "pública". Para ver las reglas para esa zona específicamente, continúe usando --zone= sintaxis.
    # firewall-cmd --list-all --zone=public
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens160
      sources: 
      services: cockpit dhcpv6-client http ssh
      ports: 443/tcp
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules:
    
  8. En caso de que necesite cerrar uno de los puertos abiertos previamente configurados, puede usar la siguiente sintaxis de comando. En este ejemplo, cerramos el puerto para HTTPS.
    # firewall-cmd --zone=public --permanent --remove-service=https
    

Eso es todo al respecto. Para obtener más información sobre firewalld y firewall-cmd Comando de Linux, consulte nuestra guía dedicada sobre la introducción a firewalld y firewall-cmd.

Ejemplos de puertos comunes

Use los comandos a continuación como una guía de referencia fácil para permitir que algunos de los servicios más comunes atraviesen el firewall en AlmaLinux.

  1. Permitir HTTP a través del cortafuegos.
    # firewall-cmd --zone=public --add-service=http --permanent
    
  2. Permitir HTTPS a través del cortafuegos.
    # firewall-cmd --zone=public --add-service=https --permanent
    
  3. Permitir MySQL a través del cortafuegos.
    # firewall-cmd --zone=public --add-service=mysql --permanent
    
  4. Permitir SSH a través del cortafuegos.
    # firewall-cmd --zone=public --add-service=ssh --permanent
    
  5. Permitir DNS a través del cortafuegos.
    # firewall-cmd --zone=public --add-service=dns --permanent
    
  6. Permitir PostgreSQL a través del cortafuegos.
    # firewall-cmd --zone=public --add-service=postgresql --permanent
    
  7. Permitir telnet a través del cortafuegos.
    # firewall-cmd --zone=public --add-service=telnet --permanent
    

Pensamientos finales

En esta guía, vimos cómo permitir un puerto o servicio a través del firewall en AlmaLinux. Esto implicó usar el comando firewall-cmd asociado con firewalld, lo que facilita el proceso una vez que conocemos la sintaxis correcta que se debe usar. También vimos múltiples ejemplos para permitir muchos de los servicios más comunes a través del firewall. Recuerda prestar especial atención a la zona en la que aplicas tus nuevas reglas.


AlmaLinux
  1. Cómo configurar un cortafuegos con UFW en Ubuntu 18.04

  2. Cómo actualizar AlmaLinux

  3. Cómo configurar un firewall con UFW en Ubuntu 18.04

  4. Cómo configurar un cortafuegos con UFW en Debian 9

  5. Cómo ejecutar ssh en varios puertos

Cómo abrir un puerto en Ubuntu 20.04

Cómo bloquear un puerto usando un firewall en Linux

Cómo abrir o cerrar puertos en AlmaLinux 8 o Rocky Firewall

Cómo instalar el cortafuegos CSF en AlmaLinux 8

¿Cómo permitir puertos en WHM Firewall y CSF Firewall a través de SSH?

Cómo exponer o publicar el puerto Docker

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema AlmaLinux
    Software cortafuegos
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios