Este artículo proporciona información básica sobre cómo usar su firewalld
cortafuegos de software Este firewall es la solución de firewall predeterminada para las distribuciones de Linux® basadas en RHEL® 7 y CentOS® 7.
Nota :Si necesita realizar cambios en su firewall en un servidor RackConnect®, debe hacerlo a través de su administrador de firewall dedicado.
Requisitos
Debe tener los siguientes requisitos previos:
- Comprensión básica de Secure Shell (SSH®)
- Sudo o acceso administrativo a su servidor
- Un servidor en la nube que no sea de RackConnect que ejecute RHEL 7 o CentOS 7
¿Qué es firewalld?
El firewalld
El servicio es la solución de firewall de software predeterminada y más común utilizada en RHEL y CentOS 7. Es un contenedor en iptables
que usa una sintaxis diferente para aplicar nuevas reglas.
¿Cómo funciona firewalld?
El firewalld
El servicio utiliza zonas para controlar el acceso al cortafuegos. Las zonas son conjuntos de reglas preconstruidas para varios niveles de confianza. Es probable que tenga una zona para una ubicación o escenario determinado, como home
, public
o trusted
. Diferentes zonas habilitan diferentes servicios de red y tipos de tráfico entrante mientras niegan todo lo demás. Después de habilitar firewalld
por primera vez, public
es la zona predeterminada.
Estos son algunos ejemplos de zonas:
Zona | Qué hace |
---|---|
public | Este es el externo zona o zona orientada a Internet. No confías en las conexiones que se originan en el mundo exterior y solo permites servicios específicos. |
internal | Esto es tradicionalmente el interior de la red detrás del cortafuegos. |
dmz | Esta zona es para uso en computadoras ubicadas en una DMZ (zona desmilitarizada). Solo ciertas conexiones entrantes pueden acceder a la red interna restringida. |
drop | Tráfico destinado al drop la zona se cae sin ninguna respuesta. Usa esto como un agujero negro para direcciones IP maliciosas. |
trusted | trusted acepta todas las conexiones. Utilice esta zona con moderación. |
Habilitar y verificar el estado de firewalld
Antes de comenzar, debe asegurarse de que firewalld
se está ejecutando en su servidor. Puede verificar con el siguiente comando:
firewall-cmd --state
Si se inicia el servicio, debería recibir un resultado que indica que el servicio se está ejecutando.
Si el servicio no se está ejecutando, puede iniciarlo ejecutando el siguiente comando:
systemctl start firewalld
También puede habilitar firewalld
para iniciar en el arranque ejecutando el siguiente comando:
systemctl enable firewalld
Zonas en firewalld
Antes de agregar reglas, debe revisar su configuración predeterminada en firewalld
.
Para verificar la zona predeterminada en firewalld
, puede ejecutar el siguiente comando:
firewall-cmd --get-default-zone
De forma predeterminada, esta zona está configurada como public
. Puede ver otras zonas usando el siguiente comando:
firewall-cmd --get-zones
Este comando enumera las zonas disponibles en firewalld
.
Como se señaló anteriormente, las diferentes zonas en firewalld
tienen diferente funcionalidad. Puede especificar las conexiones del controlador de zona y ethernet para tener más control sobre el acceso a su servidor, pero para los propósitos de Rackspace, use la configuración predeterminada y modifique el public
zona.
Básico firewalld
anatomía de la regla
Cuando escribes un firewalld
regla, necesita algunos elementos básicos en la regla.
-
Especifique el comando.
-
Especifique la zona y cambie.
-
Establecer persistencia.
Poniendo todo eso junto, obtienes algo como el siguiente ejemplo:
firewall-cmd --zone=public --add-source=127.0.0.1 --permanent
Este comando habilita el acceso desde la IP 127.0.0.1
al public
zona. Hay otras banderas disponibles, pero esta es la construcción básica de un firewalld
regla.
Bandera permanente y reglas enriquecidas
La bandera permanente puede establecer la persistencia de las reglas y habilitar el ajuste fino de las reglas mediante el uso de reglas enriquecidas .
Bandera permanente
El uso de la bandera permanente no activa la regla en la configuración en ejecución. Para asegurarse de que la regla persista, debe agregar la regla una segunda vez con la marca permanente.
Ejemplo de bandera permanente:
firewall-cmd --add-source=12.345.67.89 --zone=trusted --permanent
Reglas ricas
Las reglas enriquecidas ofrecen más control al tener opciones granulares personalizadas. Las reglas enriquecidas pueden configurar el registro, el enmascaramiento, el reenvío de puertos y la limitación de velocidad.
Ejemplo de reglas enriquecidas:
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.45.69.78" port port="11" protocol=tcp accept' --permanent
Nota :Una mezcla de reglas ricas y reglas regulares puede llevar a una configuración desordenada. Usar solo reglas enriquecidas para ciertas reglas, como el acceso SSH, puede ayudar a mantener limpia su configuración.
Ejemplos de comandos
Finalmente, aquí hay algunos ejemplos de firewalld
comandos.
Comando | Qué hace |
---|---|
firewall-cmd --add-source=12.345.67.89 --zone=trusted | Este comando acepta tráfico desde la IP especificada a la zona de confianza. |
firewall-cmd --zone=drop --add-source=12.345.67.89/24 | Este comando descarta el tráfico del rango de IP especificado. |
firewall-cmd --zone=public --add-service=ssh | Este comando permite el tráfico a través de SSH en la zona pública. |
firewall-cmd --zone=public --list-all | Este comando enumera todas las especificaciones establecidas para la zona, como fuentes, servicios, reglas enriquecidas, etc. |
firewall-cmd --add-rich-rule='rule family=ipv4 source address="123.456.789.123" port port="22" protocol=tcp accept' --permanent | Este comando agrega una regla enriquecida para permitir el acceso desde la IP especificada en el puerto 22 sobre TCP en el public zona. |
Lecturas adicionales
Este documento solo rasca la superficie de las posibilidades con firewalld
. Puedes revisar el man
página para firewalld
o revise la documentación oficial de firewalld
en https://firewalld.org/documentation/man-pages/firewall-cmd.html.