Alejandro Ll.L. - SysAdmin

Habilitar servicios y puertos firewall linux – Ansible

Sobre mi:

aficionada_pila86@icloud.com

@jandrollama

Este artículo explora cómo habilitar servicios y gestionar el firewall en sistemas Linux utilizando Ansible, integrando conceptos como la administración de servicios a través del módulo de Ansible y la configuración declarativa de firewalls mediante el módulo ansible.posix.firewalld. Se abordan tanto la puesta en marcha y habilitación de servicios, como la aplicación de reglas de firewall seguras, basándose en prácticas recomendadas y experiencias reales sobre la automatización con Ansible.

Gestión de Servicios con Ansible

 

Utilizar Ansible para administrar servicios en Linux permite iniciar, detener y habilitar servicios de forma declarativa. Con el módulo ansible.builtin.service se puede asegurar que, por ejemplo, un servidor web como Apache (httpd) se encuentre activo y configurado para arrancar automáticamente en cada reinicio. Un ejemplo de tarea es:

- name: Iniciar y habilitar el servicio httpd

ansible.builtin.service:

name: httpd

state: started

enabled: yes



Esta tarea garantiza la administración idempotente del servicio, asegurando que el servicio siempre esté en el estado deseado sin intervención manual.

Configuración del Firewall con Ansible

Administrar el firewall en sistemas Linux mediante Ansible no solo mejora la seguridad, sino que facilita la gestión de cambios en tiempo real. En distribuciones que utilizan firewalld, el módulo ansible.posix.firewalld permite abrir o cerrar puertos y habilitar servicios de forma declarativa. Un ejemplo de configuración para abrir el servicio HTTP es:

– name: Abrir el servicio HTTP en la zona pública

ansible.posix.firewalld:

service: http

state: enabled

permanent: yes

immediate: yes


Este bloque se encarga de añadir la regla necesaria en el firewall y aplicar los cambios de forma inmediata y permanente. Además, en escenarios donde se deben manejar cambios realizados fuera de Ansible (reglas "rogue"), es clave recrear la configuración de firewall en cada ejecución, asegurando que solo las reglas definidas en el playbook sean activas.

Ejemplo Completo de Playbook

A continuación se presenta un playbook que combina la administración de servicios y la configuración del firewall en un servidor Linux. Este ejemplo es útil tanto para entornos de producción como para pruebas:

- name: Configurar servidor web seguro con Ansible

hosts: webservers

become: yes

vars:

http_port: 80

tasks:

– name: Instalar el paquete firewalld

ansible.builtin.package:

name: firewalld



state: present

 

– name: Iniciar y habilitar firewalld

ansible.builtin.systemd:

name: firewalld

state: started

enabled: yes

– name: Abrir el servicio HTTP en la zona pública

ansible.posix.firewalld:

service: http

state: enabled

permanent: yes

immediate: yes

- name: Iniciar y habilitar el servicio httpd (Apache)

ansible.builtin.service:

name: httpd

state: started

enabled: yes

Este playbook se encarga de instalar y configurar firewalld, abrir el puerto para el servicio HTTP en la zona pública y, finalmente, asegurar que el servicio web esté funcionando y configurado para iniciarse automáticamente.

Consideraciones y Buenas Prácticas

  • Gestión de reglas no autorizadas: Es recomendable definir las reglas de firewall de forma completa y recrearlas en cada ejecución para evitar la persistencia de reglas agregadas manualmente fuera de Ansible1.
  • Interacción con servicios externos: Tareas como la configuración del firewall en entornos con contenedores (por ejemplo, Docker) pueden complicar las cosas, ya que Docker puede crear sus propias reglas. Se recomienda segmentar las configuraciones en zonas personalizadas para evitar conflictos.
  • Validación y pruebas: Siempre se debe probar el playbook en un entorno de laboratorio antes de pasarlo a producción para evitar interrupciones en los servicios críticos4.

Implementar estas prácticas con Ansible permite no solo automatizar y asegurar la configuración del servidor, sino también mejorar la eficiencia operativa de un administrador de sistemas, reduciendo riesgos y simplificando la gestión de cambios en entornos Linux.En resumen, utilizar Ansible para habilitar servicios y configurar firewall en Linux brinda una solución robusta y reproducible que mejora tanto el rendimiento como la seguridad de los sistemas, integrando prácticas recomendadas recogidas de la experiencia colectiva de la comunidad.

Conocimientos y experiencia

Técnicos

Dominio de sistemas operativos, especialmente Linux y Windows Server

Comprensión profunda de redes, incluyendo protocolos como DNS, DHCP y VPN

Tecnologías

Servidores Web: Apache , NGINX, , tomcat…

Gestion de base de Datos: MySql, MsSQL, Oracle…

Automatización

Conocimientos en PowerShell y Shell

Bases para automatizar y gestionar mediante Ansible y Terraform

Proyectos

En construcción

Lorem ipsum dolor sit amet consectetur adipiscing.

En construcción

Lorem ipsum dolor sit amet consectetur adipiscing.

El Auge del TLP

Crisis Silenciosa

Conoce Tailandia

Organiza el viaje a Asia sin complicaciones

He trabajado con...

logicalis-spain-logo-Alejandro- Llamazares-lopez
BBVA-spain-logo-Alejandro- Llamazares-Lopez
Equinix-spain-logo-Alejandro- Llamazares-Lopez

Phone

(+34) 6XX XX XX XX52-6258

Copyright © 2025 Divi. All Rights Reserved.