weareinteractive.ufw

Rôle Ansible weareinteractive.ufw

Statut de construction Galaxy Tags GitHub Étoiles GitHub

weareinteractive.ufw est un rôle Ansible qui :

  • installe ufw
  • configure ufw
  • configure les règles ufw
  • configure le service

Installation

Avec ansible-galaxy :

$ ansible-galaxy install weareinteractive.ufw

Avec requirements.yml :

- src: weareinteractive.ufw

Avec git :

$ git clone https://github.com/weareinteractive/ansible-ufw.git weareinteractive.ufw

Dépendances

  • Ansible >= 2.10

Variables

Voici une liste de toutes les variables par défaut pour ce rôle, qui sont aussi disponibles dans defaults/main.yml.

---
# Démarrer le service et l'activer au démarrage du système
ufw_enabled: true

# Liste des paquets à installer
ufw_packages: ["ufw"]

# Nom du service
ufw_service: ufw

# Liste des règles à appliquer
# voir https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html pour la documentation
ufw_rules:
  - rule: allow
    to_port: 22

# Gérer le fichier de configuration
ufw_manage_config: false

# Objet de configuration passé au fichier de configuration
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: ""

# Chemin vers le fichier de configuration
ufw_config_file: /etc/default/ufw

Gestionnaires

Voici les gestionnaires qui sont définis dans handlers/main.yml.

---

- name: réinitialiser ufw
  community.general.ufw:
    state: reset

- name: recharger ufw
  community.general.ufw:
    state: reloaded
  when: ufw_enabled | bool

Utilisation

Voici un exemple de playbook :

# @see https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html#examples
---

- hosts: all
  become: true
  roles:
    - weareinteractive.ufw
  vars:
    ufw_rules:
      # Activer la journalisation
      - logging: "full"
      # Autoriser OpenSSH
      - rule: allow
        name: OpenSSH
      # Supprimer la règle OpenSSH
      - rule: allow
        name: OpenSSH
        delete: true
      # Autoriser tout accès au port tcp 80
      - rule: allow
        to_port: '80'
        proto: tcp
    # Gérer le fichier de configuration
    ufw_manage_config: true
    # Objet de configuration passé au fichier de configuration
    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: ""

Tests

$ git clone https://github.com/weareinteractive/ansible-ufw.git
$ cd ansible-ufw
$ make test

Contribuer

En l'absence d'un guide de style formel, veillez à maintenir le style de code existant. Ajoutez des tests unitaires et des exemples pour toute nouvelle fonctionnalité ou modification.

  1. Forkez-le
  2. Créez votre branche de fonctionnalité (git checkout -b ma-nouvelle-fonctionnalité)
  3. Commitez vos changements (git commit -am 'Ajout d'une fonctionnalité')
  4. Poussez vers la branche (git push origin ma-nouvelle-fonctionnalité)
  5. Créez une nouvelle Pull Request

Remarque : Pour mettre à jour le fichier README.md, veuillez installer et exécuter ansible-readme :

$ gem install ansible-readme
$ ansible-readme

Licence

Copyright (c) We Are Interactive sous la licence MIT.

À propos du projet

Installs and configures ufw

Installer
ansible-galaxy install weareinteractive.ufw
Licence
mit
Téléchargements
240.4k
Propriétaire