hudecof.ferm
Gestión de Ferm / iptables
Este rol gestiona iptables usando un script de ferm.
Como es muy difícil escribir una plantilla genérica para iptables, este rol simplemente mueve fragmentos de configuración definidos por el usuario a el servidor y genera el conjunto de reglas usando iptables.
Requerimientos
- ansible: 2.1
- Redhat/CentOS: EPEL
- Ubuntu: repositorio multiverse
Variables del Rol
Variables basadas en el SO
Algunas variables dependen del sistema operativo. Estas variables se encuentran en los archivos vars/os-<OS>.yml
.
Variables Genéricas
ferm_directory
: directorio de configuración de ferm, por defecto /etc/fermferm_service_state
: si el servicio de ferm debe iniciarseferm_service_enabled
: si el servicio de ferm debe activarse en la secuencia de inicio
Reglas del Firewall
ferm_rules_directory
: dónde buscaré los archivos de reglas del firewall, por defecto en el directorio de plantillas del playbookferm_net_mngt
: lista de redes de gestión, por defecto permite cualquier redferm_domains
: a qué versión IP generar las reglas, por defecto IPv4 y IPv6ferm_rules
: lista de reglas a aplicar. por defecto solo permite SSH e ICMP
El poder del motor de plantillas y del motor ferm para generar reglas para IPv4 y IPv6. La parte difícil de escribir las reglas sigue siendo tu responsabilidad, pero tienes todo bajo control.
Ejemplo
Variables de host/grupo
ferm_rules_directory: {{ playbook_dir }}/files/ferm
ferm_rules:
- vars
- reglas_por_defecto
- seguimiento_de_conexión
- entrada_icmp
- gestión
- servicio_zabbix-agent
En este caso, debes crear los siguientes archivos
{{ playbook_dir }}/files/ferm/rules/vars.conf.j2
{{ playbook_dir }}/files/ferm/rules/default_rules.conf.j2
...
Debes reescribir las ferm_rules
en group_var o host_vars para cada grupo o servidor según sea necesario.
playbook
Por ejemplo, las variables ferm
en tu group_vars/all
podrían ser
- hosts: ferm
roles:
- hudecof.ferm
Dependencias
Ninguna
Licencia
BSD
Información del Autor
Peter Hudec
ansible-galaxy install hudecof.ferm