Cómo configurar firewalld en CentOS 8
Firewalld es un software de administración de firewalls disponible para distribuciones de Linux que funciona como front-end para los sistemas de filtrado de paquetes de kernel de linux, este software se basa en: reglas que pueden aplicarse en tiempo de ejecución o pueden ser permanentes, zonas que son un conjunto de reglas que determinan el trafico que debe permitirse según el nivel de confianza en la red, servicios y puertos que es lo que controla el firewalld; en este blog detallaremos los pasos necesarios para su correcta configuración.
*Importante: Previamente se debe haber ingresado en modo root desde una terminal de nuestro servidor CentOS 8.
1.-Como el firewalld viene incorporada por defecto en la instalación del SO no es necesario que lo descarguemos ni que lo instalemos, así que comenzaremos por verificar el estado del firewalld con el comando systemctl status firewalld, mediante este comando podemos saber el estado del firewalld e información relevante de este.
2.-Usamos los comandos
systemctl start firewalld y
systemctl enable firewalld para iniciar y habilitar el firewalld respectivamente.
3.-Para observar la configuración predeterminada de la zona en la que nos encontramos usamos el comando
firewalld-cmd --list-all, este comando nos indicara la información general de la zona activa como son las interfaces, los servicios y demás información relacionada a la zona.
4.-Pero si queremos saber solamente el nombre de la zona que esta seleccionada de forma predeterminada usamos el comando
firewall-cmd --get-default-zone.
5.-Usamos el comando
firewall-cmd --get-active-zone para ver que zonas están activas actualmente y las interfaces asignadas a cada zona.
6.-Para ver todas las definiciones de todas las zonas usamos el comando
firewall-cmd --list-all-zones
7.-Usamos el comando
ls -l /usr/lib/firewalld/zones para listar detalladamente todas las zonas existentes.
8.-Y con el comando
cat /usr/lib/firewalld/zones/public.xml podremos observar el contenido del archivo de dicha zona elegida; este paso se puede hacer cambiando el nombre del archivo final de cualquier zona enlistada en el paso anterior para este caso usaremos el archivo public.xml
9.-Mediante el comando
firewall-cmd --list-services podremos conocer todos los servicios activos que están asociados a la zona predeterminada.
10.-Con el comando
firewall-cmd --get-services podremos enlistar todos los servicios que soporta la zona actual.
11.-Para enlistar los archivos de los servicios usamos el comando
ls -l seguido de la ruta de ubicación de los servicios del firewalld que es
/usr/lib/firewalld/services/
12.-Y con el comando
cat /usr/lib/firewalld/services/zabbix-server.xml podremos observar el contenido del archivo de dicho servicio elegido; este paso se puede hacer cambiando el nombre del archivo final de cualquier servicio enlistado en el paso anterior, para este caso usaremos el archivo zabbix-server.xml
13.-Para adicionar un servicio a la zona del firewalld usada actualmente usamos el comando
firewall-cmd --add-service=http, para este caso adicionaremos el servicio htttp, luego nos aparecerá el mensaje
success que indicara que se agrego el servicio exitosamente, verificamos esto con el comando del paso 9.
14.-Y si queremos eliminar un servicio usamos el comando
firewall-cmd --remove-service=http, y si se elimina correctamente nos aparecerá el mensaje
success por la terminal, verificamos esto con el comando del paso 9
15.-Los pasos anteriores agregaban y eliminaban servicios pero de una manera temporal, ya que cada vez que se reinicie el servidor estos cambios se perderían, para que esto no suceda agregamos el subcomando
--permanent para que el cambio se realice de forma permanente, quedando así
firewall-cmd --add-service=http --permanent el comando para agregar un nuevo servicio de forma permanente.
16.-En el paso anterior al usar el comando que enlista los servicios disponibles (paso 9) podemos observar que nuestro servicio http no aparece como activo, esto se debe a que debemos recargar el servicio firewalld mediante el comando
firewall-cmd --reload para que nos aparezcan los cambios efectuados, enlistamos nuevamente los servicios y observaremos que ahora si aparece nuestro servicio http como activo en la zona actual.
17.-El paso anterior también se puede usar para agregar nuevos puertos mediante el comando
firewall-cmd --add-port=465/tcp --permanent, que en este caso será el puerto 465/tcp, realizamos el mismo proceso de recargar el servicio firewalld con el comando
firewall-cmd --reload y podremos verificar que el puerto se agrego correctamente con el comando
firewall-cmd --list-port que nos muestra todos los puertos habilitados en nuestra zona actual
18.-Ademas de servicios y puertos el servicio firewalld también puede agregar reglas de configuración para nuestra red, mediante el comando
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.50.61" reject' podremos bloquear una dirección ip impidiendo así el acceso de nuestra red a alguna maquina en especifico.
19.-Para eliminar la regla creada en el paso anterior usamos el comando
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.50.61" reject' con lo cual la maquina cliente podrá acceder a la red con normalidad.
20.-Para finalizar reiniciamos el servicio firewalld con el comando
systemctl restart firewalld para guardar los cambios efectuados.
Comentarios
Publicar un comentario