weareinteractive.ufw

Ansible weareinteractive.ufw Rolle

Build-Status Galaxy GitHub-Tags GitHub-Sterne

weareinteractive.ufw ist eine Ansible Rolle, die:

  • ufw installiert
  • ufw konfiguriert
  • ufw-Regeln konfiguriert
  • Dienste konfiguriert

Installation

Mit ansible-galaxy:

$ ansible-galaxy install weareinteractive.ufw

Mit requirements.yml:

- src: weareinteractive.ufw

Mit git:

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

Abhängigkeiten

  • Ansible >= 2.10

Variablen

Hier ist eine Liste aller Standardvariablen für diese Rolle, die auch in defaults/main.yml verfügbar sind.

---
# Den Dienst starten und beim Systemstart aktivieren
ufw_enabled: true

# Liste der zu installierenden Pakete
ufw_packages: ["ufw"]

# Name des Dienstes
ufw_service: ufw

# Liste der anzuwendenden Regeln
# siehe https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html für Dokumentation
ufw_rules:
  - rule: allow
    to_port: 22

# Konfigurationsdatei verwalten
ufw_manage_config: false

# Konfigurationseinstellungen für die Konfigurationsdatei
ufw_config:
  IPV6: "ja"
  DEFAULT_INPUT_POLICY: DROP
  DEFAULT_OUTPUT_POLICY: ACCEPT
  DEFAULT_FORWARD_POLICY: DROP
  DEFAULT_APPLICATION_POLICY: SKIP
  MANAGE_BUILTINS: "nein"
  IPT_SYSCTL: /etc/ufw/sysctl.conf
  IPT_MODULES: ""

# Pfad zur Konfigurationsdatei
ufw_config_file: /etc/default/ufw

Handler

Dies sind die Handler, die in handlers/main.yml definiert sind.

---

- name: ufw zurücksetzen
  community.general.ufw:
    state: reset

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

Verwendung

Dies ist ein Beispiel-Playbook:

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

- hosts: alle
  become: true
  roles:
    - weareinteractive.ufw
  vars:
    ufw_rules:
      # Logging aktivieren
      - logging: "voll"
      # OpenSSH erlauben
      - rule: allow
        name: OpenSSH
      # OpenSSH-Regel löschen
      - rule: allow
        name: OpenSSH
        delete: true
      # Allen Zugriff auf TCP-Port 80 erlauben
      - rule: allow
        to_port: '80'
        proto: tcp
    # Konfigurationsdatei verwalten
    ufw_manage_config: true
    # Konfigurationseinstellungen für die Konfigurationsdatei
    ufw_config:
      IPV6: "ja"
      DEFAULT_INPUT_POLICY: DROP
      DEFAULT_OUTPUT_POLICY: ACCEPT
      DEFAULT_FORWARD_POLICY: DROP
      DEFAULT_APPLICATION_POLICY: SKIP
      MANAGE_BUILTINS: "nein"
      IPT_SYSCTL: /etc/ufw/sysctl.conf
      IPT_MODULES: ""

Testen

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

Mitwirken

Ohne einen formalen Stilrichtlinie, achte darauf, den bestehenden Code-Stil beizubehalten. Füge Unit-Tests und Beispiele für neue oder geänderte Funktionen hinzu.

  1. Forke es
  2. Erstelle deinen Feature-Branch (git checkout -b mein-neues-feature)
  3. Committe deine Änderungen (git commit -am 'Füge ein Feature hinzu')
  4. Push zu dem Branch (git push origin mein-neues-feature)
  5. Erstelle eine neue Pull-Anfrage

Hinweis: Um die README.md-Datei zu aktualisieren, installiere und führe ansible-readme aus:

$ gem install ansible-readme
$ ansible-readme

Lizenz

Copyright (c) We Are Interactive unter der MIT-Lizenz.

Über das Projekt

Installs and configures ufw

Installieren
ansible-galaxy install weareinteractive.ufw
Lizenz
mit
Downloads
240.4k