weareinteractive.ufw
Rol de Ansible weareinteractive.ufw
weareinteractive.ufw
es un rol de Ansible que:
- instala ufw
- configura ufw
- configura reglas de ufw
- configura el servicio
Instalación
Usando ansible-galaxy
:
$ ansible-galaxy install weareinteractive.ufw
Usando requirements.yml
:
- src: weareinteractive.ufw
Usando git
:
$ git clone https://github.com/weareinteractive/ansible-ufw.git weareinteractive.ufw
Dependencias
- Ansible >= 2.10
Variables
Aquí hay una lista de todas las variables predeterminadas para este rol, también disponibles en defaults/main.yml
.
---
# Inicia el servicio y lo habilita al arrancar el sistema
ufw_enabled: true
# Lista de paquetes a instalar
ufw_packages: ["ufw"]
# Nombre del servicio
ufw_service: ufw
# Lista de reglas a aplicar
# consulta https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html para la documentación
ufw_rules:
- rule: allow
to_port: 22
# Administrar el archivo de configuración
ufw_manage_config: false
# Objeto de configuración pasado al archivo de configuración
ufw_config:
IPV6: "yes"
DEFAULT_INPUT_POLICY: DROP
DEFAULT_OUTPUT_POLICY: ACCEPT
DEFAULT_FORWARD_POLICY: DROP
DEFAULT_APPLICATION_POLICY: SKIP
MANAGE_BUILTINS: "no"
IPT_SYSCTL: /etc/ufw/sysctl.conf
IPT_MODULES: ""
# Ruta al archivo de configuración
ufw_config_file: /etc/default/ufw
Manejadores
Estos son los manejadores que se definen en handlers/main.yml
.
---
- name: restablecer ufw
community.general.ufw:
state: reset
- name: recargar ufw
community.general.ufw:
state: reloaded
when: ufw_enabled | bool
Uso
Este es un ejemplo de playbook:
# @ver https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html#examples
---
- hosts: all
become: true
roles:
- weareinteractive.ufw
vars:
ufw_rules:
# Establecer registro
- logging: "full"
# Permitir OpenSSH
- rule: allow
name: OpenSSH
# Eliminar la regla de OpenSSH
- rule: allow
name: OpenSSH
delete: true
# Permitir acceso completo al puerto tcp 80
- rule: allow
to_port: '80'
proto: tcp
# Administrar el archivo de configuración
ufw_manage_config: true
# Objeto de configuración pasado al archivo de configuración
ufw_config:
IPV6: "yes"
DEFAULT_INPUT_POLICY: DROP
DEFAULT_OUTPUT_POLICY: ACCEPT
DEFAULT_FORWARD_POLICY: DROP
DEFAULT_APPLICATION_POLICY: SKIP
MANAGE_BUILTINS: "no"
IPT_SYSCTL: /etc/ufw/sysctl.conf
IPT_MODULES: ""
Pruebas
$ git clone https://github.com/weareinteractive/ansible-ufw.git
$ cd ansible-ufw
$ make test
Contribuciones
En lugar de una guía de estilo formal, cuida de mantener el estilo de codificación existente. Agrega pruebas unitarias y ejemplos para cualquier funcionalidad nueva o modificada.
- Haz un fork
- Crea tu rama de características (
git checkout -b mi-nueva-característica
) - Confirma tus cambios (
git commit -am 'Agregar alguna característica'
) - Empuja a la rama (
git push origin mi-nueva-característica
) - Crea una nueva solicitud de extracción
Nota: Para actualizar el archivo README.md
por favor instala y ejecuta ansible-readme
:
$ gem install ansible-readme
$ ansible-readme
Licencia
Copyright (c) We Are Interactive bajo la licencia MIT.
Instalar
ansible-galaxy install weareinteractive.ufw
Licencia
mit
Descargas
240.4k
Propietario