weareinteractive.ufw
Rôle Ansible weareinteractive.ufw
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.
- Forkez-le
- Créez votre branche de fonctionnalité (
git checkout -b ma-nouvelle-fonctionnalité
) - Commitez vos changements (
git commit -am 'Ajout d'une fonctionnalité'
) - Poussez vers la branche (
git push origin ma-nouvelle-fonctionnalité
) - 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.
Installer
ansible-galaxy install weareinteractive.ufw
Licence
mit
Téléchargements
240.4k
Propriétaire