weareinteractive.ufw

Rola Ansible weareinteractive.ufw

Status budowy Galaxy Tagi GitHub Gwiazdki GitHub

weareinteractive.ufw to rola Ansible, która:

  • instaluje ufw
  • konfiguruje ufw
  • ustawia reguły ufw
  • konfiguruje usługi

Instalacja

Używając ansible-galaxy:

$ ansible-galaxy install weareinteractive.ufw

Używając requirements.yml:

- src: weareinteractive.ufw

Używając git:

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

Zależności

  • Ansible >= 2.10

Zmienne

Oto lista wszystkich domyślnych zmiennych dla tej roli, które są również dostępne w defaults/main.yml.

---
# Rozpoczyna działanie usługi i włącza ją podczas uruchamiania systemu
ufw_enabled: true

# Lista pakietów do zainstalowania
ufw_packages: ["ufw"]

# Nazwa usługi
ufw_service: ufw

# Lista reguł, które mają być zastosowane
# patrz https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html w celu uzyskania dokumentacji
ufw_rules:
  - rule: allow
    to_port: 22

# Zarządzanie plikiem konfiguracyjnym
ufw_manage_config: false

# Obiekt konfiguracji przekazywany do pliku konfiguracyjnego
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: ""

# Ścieżka do pliku konfiguracyjnego
ufw_config_file: /etc/default/ufw

Obsługa

Oto zestaw handlerów zdefiniowanych w handlers/main.yml.

---

- name: resetuj ufw
  community.general.ufw:
    state: reset

- name: przeładuj ufw
  community.general.ufw:
    state: reloaded
  when: ufw_enabled | bool

Użycie

Oto przykład playbooka:

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

- hosts: all
  become: true
  roles:
    - weareinteractive.ufw
  vars:
    ufw_rules:
      # Ustaw logging
      - logging: "full"
      # Zezwól na OpenSSH
      - rule: allow
        name: OpenSSH
      # Usuń regułę OpenSSH
      - rule: allow
        name: OpenSSH
        delete: true
      # Zezwól na cały ruch na porcie tcp 80
      - rule: allow
        to_port: '80'
        proto: tcp
    # Zarządzaj plikiem konfiguracyjnym
    ufw_manage_config: true
    # Obiekt konfiguracji przekazywany do pliku konfiguracyjnego
    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: ""

Testowanie

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

Wkład

W zamiast formalnego przewodnika po stylu, staraj się zachować istniejący styl kodowania. Dodawaj testy jednostkowe i przykłady dla każdej nowej lub zmienionej funkcji.

  1. Forkuj projekt
  2. Utwórz gałąź funkcji (git checkout -b my-new-feature)
  3. Zatwierdź swoje zmiany (git commit -am 'Dodaj jakąś funkcję')
  4. Wypchnij do gałęzi (git push origin my-new-feature)
  5. Utwórz nowe zgłoszenie Pull Request

Uwaga: Aby zaktualizować plik README.md, zainstaluj i uruchom ansible-readme:

$ gem install ansible-readme
$ ansible-readme

Licencja

Copyright (c) We Are Interactive na licencji MIT.

O projekcie

Installs and configures ufw

Zainstaluj
ansible-galaxy install weareinteractive.ufw
Licencja
mit
Pobrania
240.4k
Właściciel