weareinteractive.ufw

Rol de Ansible weareinteractive.ufw

Estado de la construcción
Galaxy
Etiquetas de GitHub
Estrellas de GitHub

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.

  1. Haz un fork
  2. Crea tu rama de características (git checkout -b mi-nueva-característica)
  3. Confirma tus cambios (git commit -am 'Agregar alguna característica')
  4. Empuja a la rama (git push origin mi-nueva-característica)
  5. 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.

Acerca del proyecto

Installs and configures ufw

Instalar
ansible-galaxy install weareinteractive.ufw
Licencia
mit
Descargas
240.4k
Propietario