En este tutorial, le mostraremos cómo configurar un Firewall en CentOS 7. Para aquellos que no lo sabían, FirewallD es una solución de firewall completa que administra las reglas de iptables del sistema y proporciona una interfaz D-Bus para operar en ellos. A partir de CentOS 7, FirewallD reemplaza a iptables como la herramienta de administración de firewall predeterminada.
Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo
' a los comandos para obtener privilegios de root. Le mostraré el paso a paso, configure el Firewall en CentOS 7.
Requisitos previos
- Un servidor que ejecute uno de los siguientes sistemas operativos:CentOS 7.
- Se recomienda que utilice una instalación de sistema operativo nueva para evitar posibles problemas.
- Acceso SSH al servidor (o simplemente abra Terminal si está en una computadora de escritorio).
- Un
non-root sudo user
o acceder alroot user
. Recomendamos actuar como unnon-root sudo user
, sin embargo, puede dañar su sistema si no tiene cuidado al actuar como root.
Configurar cortafuegos en CentOS 7
Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.
yum clean all yum -y update
Paso 2. Instalación de FirewallD en CentOS 7.
Firewalld está instalado por defecto en CentOS 7, pero si no está instalado en su sistema, puede ejecutar el siguiente comando para su instalación:
sudo yum install firewalld
Después de instalar FirewallD, puede habilitar el servicio y reiniciar su servidor. Tenga en cuenta que habilitar FirewallD hará que el servicio se inicie en el arranque:
sudo systemctl start firewalld sudo systemctl enable firewal sudo reboot
Podemos verificar que el servicio se está ejecutando y accesible escribiendo:
sudo firewall-cmd --state
Paso 3. Instalación y configuración de FirewallD en CentOS 7.
FirewallD usa servicios y zonas en lugar de reglas y cadenas de iptables. De manera predeterminada, las siguientes zonas están disponibles:
- soltar – Descartar todos los paquetes de red entrantes sin respuesta, solo las conexiones de red salientes están disponibles.
- bloquear – Rechazar todos los paquetes de red entrantes con un mensaje ICMP-host-prohibido. Solo las conexiones de red salientes están disponibles.
- público – Solo se aceptan conexiones entrantes seleccionadas, para uso en áreas públicas
- externo Para redes externas con enmascaramiento habilitado, solo se aceptan conexiones entrantes seleccionadas.
- DMZ – Zona desmilitarizada DMZ, de acceso público con acceso limitado a la red interna, solo se aceptan conexiones entrantes seleccionadas.
- trabajo – Para computadoras en su área local, solo se aceptan conexiones entrantes seleccionadas.
- inicio – Para computadoras en su área local, solo se aceptan conexiones entrantes seleccionadas.
- interno -Para computadoras en su red interna, solo se aceptan conexiones entrantes seleccionadas.
- de confianza – Se aceptan todas las conexiones de red.
Para enumerar todas las zonas disponibles, ejecute:
firewall-cmd --get-zones work drop internal external trusted home dmz public block
Para enumerar la zona predeterminada:
firewall-cmd --get-default-zone public
Para cambiar la zona predeterminada:
firewall-cmd --set-default-zone=dmz firewall-cmd --get-default-zone dmz
Por ejemplo, así es como puede configurar su firewall VPS con FirewallD si estaba ejecutando un servidor web, SSH en el puerto 8888 o un servidor de correo.
Primero, estableceremos la zona predeterminada en DMZ.
firewall-cmd --set-default-zone=dmz
Para agregar reglas de servicio permanentes para HTTP y HTTPS a la zona DMZ, ejecute:
firewall-cmd --zone=dmz --add-service=http --permanent firewall-cmd --zone=dmz --add-service=https --permanent
Dado que el puerto SSH se cambió a 7022, eliminaremos el servicio ssh (puerto 22) y abriremos el puerto 8888
firewall-cmd --remove-service=ssh --permanent firewall-cmd --add-port=8888/tcp --permanent
Para implementar los cambios necesitamos recargar el firewall con:
firewall-cmd --reload
Finalmente, puede enumerar las reglas con:
### firewall-cmd --list-all dmz target: default icmp-block-inversion: no interfaces: sources: services: http https imap imaps pop3 pop3s smtp smtps ports: 7022/tcp protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules:
Paso 4. Deshabilite el Firewall en CentOS 7.
Puede detener temporalmente el servicio FirewallD con el siguiente comando:
sudo systemctl stop firewalld
Para deshabilitar permanentemente el firewall en su sistema CentOS 7, siga los pasos a continuación:
sudo systemctl disable firewalld
Salida:
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
¡Felicitaciones! Ha configurado Firewall con éxito. Gracias por usar este tutorial para instalar FirewallD en el sistema CentOS 7. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de FirewallD.