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

Cómo habilitar y usar firewalld en CentOS 7

Introducción

A veces es necesario deshabilitar el firewall en CentOS para fines de prueba. Por razones de seguridad, es obligatorio ejecutar un firewall en un servidor de producción. No podemos enfatizar lo suficiente la importancia de una herramienta de administración de firewall configurada correctamente.

En este tutorial, aprenda a habilitar y usar firewalld en CentOS 7.

Requisitos previos

  • Un usuario con privilegios sudo
  • Acceso a una línea de comando (Ctrl-Alt-T)
  • Una máquina CentOS 7

Cómo comprobar el estado del cortafuegos

Comience iniciando su servidor CentOS 7 y verificando si firewalld se está ejecutando. Para hacerlo, abre la terminal (CTRL-ALT-T) y ejecuta el siguiente comando:

sudo systemctl status firewalld

Hay varios resultados que puede recibir.

Activo:activo (en ejecución)

Si el resultado dice Active: active (running) , el cortafuegos está activo. Si no está seguro de si el administrador de firewall se inició después de reiniciar el sistema, considere emitir el siguiente comando:

sudo systemctl enable firewalld

Ese comando configura el sistema para iniciar el firewall después de cada reinicio del servidor.

Activo:inactivo (muerto)

Si la salida dice Active: inactive (dead) , el cortafuegos no se está ejecutando. Continúe con Cómo habilitar e iniciar firewalld sección del artículo.

Cargado:enmascarado (/dev/null; malo)

El resultado podría indicar que el servicio está inactivo y enmascarado. Consulte la imagen a continuación para obtener más detalles.

Aquí, el servicio firewalld se enmascara con un enlace simbólico. Los administradores pueden enmascarar el servicio para que otros paquetes de software no lo activen automáticamente. DEBES desenmascara el servicio antes de habilitarlo.

Para desenmascarar el servicio firewalld, ejecute el siguiente comando:

sudo systemctl unmask --now firewalld

El resultado debe indicar que se eliminó el enlace simbólico.

Ahora puede continuar con Cómo habilitar e iniciar firewalld sección del artículo.

Cómo habilitar e iniciar firewalld

Para habilitar el firewall en CentOS 7, ejecute el siguiente comando como sudo:

sudo systemctl enable firewalld

Después de habilitar el firewall, inicie el servicio firewalld:

sudo systemctl start firewalld

Cuando el sistema ejecuta el comando, no hay salida. Por lo tanto, es aconsejable verificar si el cortafuegos se ha activado correctamente.

Compruebe el estado del cortafuegos con:

sudo systemctl status firewalld

El resultado debe indicar que firewalld está activo y ejecutándose.

Zonas de cortafuegos

Firewalld establece "zonas" y clasifica todo el tráfico entrante en dichas zonas. Cada zona de red tiene su propio conjunto de reglas según las cuales acepta o rechaza el tráfico entrante.

En otras palabras, las zonas gobiernan qué paquete está permitido y cuál no funciona. Este enfoque brinda más flexibilidad en comparación con iptables, ya que puede configurar diferentes zonas para las redes específicas a las que está conectado su dispositivo.

Para ver una lista completa de todas las zonas disponibles, escriba:

sudo firewall-cmd  --get-zones

Para una instalación nueva, lo más probable es que obtenga el siguiente resultado:

Output
block dmz drop external home internal public trusted work

Esas son las zonas preconfiguradas. Para verificar qué zona está configurada como predeterminada, ejecute el siguiente comando:

sudo firewall-cmd --get-default-zone

Firewalld ha proporcionado una lista de todas las zonas preconfiguradas y descripciones de zonas. La lista a continuación está ordenada según el nivel de confianza, desde el menos confiable hasta el más confiable.

drop :El nivel más bajo de confianza. Todas las conexiones entrantes se interrumpen sin respuesta y solo son posibles las conexiones salientes.

block :similar al anterior, pero en lugar de simplemente interrumpir las conexiones, las solicitudes entrantes se rechazan con un mensaje icmp-host-prohibited o icmp6-adm-prohibited.

public :representa redes públicas que no son de confianza. No confía en otras computadoras, pero puede permitir conexiones entrantes seleccionadas caso por caso.

external :Redes externas en caso de que esté utilizando el cortafuegos como puerta de enlace. Está configurado para enmascaramiento de NAT para que su red interna siga siendo privada pero accesible.

internal :El otro lado de la zona externa, utilizado para la parte interna de una puerta de enlace. Las computadoras son bastante confiables y algunos servicios adicionales están disponibles.

dmz :Usado para computadoras ubicadas en una DMZ (computadoras aisladas que no tendrán acceso al resto de su red). Solo se permiten ciertas conexiones entrantes.

work :Utilizado para máquinas de trabajo. Confía en la mayoría de las computadoras en la red. Es posible que se permitan algunos servicios más.

home :Un entorno hogareño. Por lo general, implica que confía en la mayoría de las otras computadoras y que se aceptarán algunos servicios más.

trusted :Confíe en todas las máquinas de la red. La más abierta de las opciones disponibles y debe usarse con moderación.

Verificar zona de cortafuegos activa

Para verificar qué zona está activa, escriba:

sudo firewall-cmd --get-active-zones

La salida indica la zona activa así como las interfaces de red gobernadas por ella. Si no lo configura de otra manera, la zona predeterminada es la única zona activa.

Reglas de zona de cortafuegos

Para ver qué reglas están asociadas con la zona predeterminada, ejecute el siguiente comando:

sudo firewall-cmd --list-all

Consideremos todos los elementos enumerados y definámoslos:

target: Predeterminado indica que la zona es una zona predeterminada. También puede indicar que una zona está activa. En el ejemplo anterior, la zona pública no está activa, ya que no tiene ninguna interfaz de red asociada.

icmp-block-inversion: Este es un elemento opcional que invierte el manejo del bloque icmp.

interfaces :Todas las interfaces de red regidas por esta zona.

sources :Fuentes para esta zona (direcciones IP).

services :Muestra los servicios permitidos. En el ejemplo anterior, es ssh dhcpv6-client. Para obtener una lista completa de los servicios disponibles a través de firewalld, ejecute firewall-cmd --get-services comando.

ports :Una lista de puertos permitidos a través del firewall. Es muy útil para permitir servicios que no están definidos en firewalld.

masquerade :Si no hay ninguno, el enmascaramiento de IP está deshabilitado. Cuando está habilitado, permite el reenvío de IP. Esto significa que su servidor actuaría como un enrutador.

forward-ports :Muestra una lista de todos los puertos reenviados.

source-ports :enumera todos los puertos de origen y los protocolos relacionados con esta zona.

icmp-blocks :muestra el tráfico icmp bloqueado.

rich rules :Una lista de todas las reglas avanzadas asociadas a la zona.
Para obtener una lista de reglas asociadas a una zona específica, agregue --zone= parámetro a --list-all dominio. Por ejemplo,

sudo firewall-cmd --zone=work --list-all

El comando anterior generará una lista de reglas asociadas al trabajo zona.

Cómo cambiar la zona de una interfaz

Es fácil reasignar otra zona a una interfaz de red. Usa la --zone marcar para especificar la zona y luego agregar --change-interface bandera para especificar la interfaz de red.

sudo firewall-cmd --zone=home --change-interface=eth1

Verifique si los cambios surtieron efecto:

firewall-cmd --get-active-zones

Firewalld debería haber aplicado la zona de inicio en todo el tráfico que llega a través de eth1 interfaz de red.

Advertencia :Al cambiar la zona de una interfaz, puede afectar el estado de los servicios activos. Por ejemplo, si está trabajando a través de SSH y mueve una interfaz de red a una zona que no es compatible con el servicio SSH, su conexión podría caerse. Además, no podrá iniciar sesión.

Cambiar la zona de cortafuegos predeterminada

Puede cambiar fácilmente la zona predeterminada. Usa el --set-default-zone bandera para indicar qué zona desea configurar como predeterminada. En el siguiente ejemplo, estableceremos la zona de trabajo como predeterminada.

sudo firewall-cmd --set-default-zone=work

Al cambiar la zona predeterminada, debería recibir un mensaje que indique que el cambio se realizó correctamente. Para obtener más detalles, consulte la imagen de arriba.

También puede verificar la modificación ejecutando este comando:

sudo firewall-cmd --get-default-zone

La salida debería mostrar que la zona de trabajo es de hecho la predeterminada.


Cent OS
  1. Cómo deshabilitar o apagar Firewalld en CentOS 7

  2. Cómo deshabilitar el firewall en CentOS 8 Linux

  3. Cómo configurar el cortafuegos en CentOS 7

  4. Cómo configurar un firewall usando FirewallD en CentOS 8

  5. Cómo usar iptables en lugar de firewalld en CentOS/RHEL 7 y 8

Cómo instalar y usar Curl en CentOS 8

Cómo instalar y usar Terraform en CentOS 8

Cómo detener y deshabilitar el firewall en CentOS 8

Cómo instalar y usar Firewalld en CentOS / RHEL

Cómo instalar y usar TermRecord en CentOS 8

Cómo instalar y usar Traceroute en CentOS 7