Spec-Zone.ru › Ansible

Модуль community.general.ufw – Управление брандмауэром с помощью UFW

Примечание

Этот модуль входит в коллекцию community.general (версия 9.5.0).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

Чтобы использовать его в playbook, укажите: community.general.ufw.

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры

Описание

  • Управление брандмауэром с помощью UFW.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • ufw пакет
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

comment

string

Добавить комментарий к правилу. Требуется версия UFW >=0.35.

default

aliases: policy

string

Изменить политику по умолчанию для входящего или исходящего трафика.

Варианты:

  • "allow"
  • "deny"
  • "reject"

delete

boolean

Удалить правило.

Если delete=true и задано значение для insert, то insert игнорируется.

Варианты:

  • false ← (default)
  • true

direction

string

Выбрать направление для правила или команды политики по умолчанию. Взаимоисключающее с interface_in и interface_out.

Варианты:

  • "in"
  • "incoming"
  • "out"
  • "outgoing"
  • "routed"

from_ip

aliases: from, src

string

Исходный IP-адрес.

По умолчанию: "any"

from_port

string

Исходный порт.

insert

integer

Вставить соответствующее правило как правило под номером NUM.

Обратите внимание, что ufw нумерует правила, начиная с 1.

Если delete=true и задано значение для insert, то insert игнорируется.

insert_relative_to

string

Позволяет интерпретировать индекс в insert относительно позиции.

zero интерпретирует номер правила как абсолютный индекс (т. е. 1 — это первое правило).

first-ipv4 интерпретирует номер правила относительно индекса первого правила IPv4 или относительно позиции, где находилось бы первое правило IPv4, если бы его сейчас не было.

last-ipv4 интерпретирует номер правила относительно индекса последнего правила IPv4 или относительно позиции, где находилось бы последнее правило IPv4, если бы его сейчас не было.

first-ipv6 интерпретирует номер правила относительно индекса первого правила IPv6 или относительно позиции, где находилось бы первое правило IPv6, если бы его сейчас не было.

last-ipv6 интерпретирует номер правила относительно индекса последнего правила IPv6 или относительно позиции, где находилось бы последнее правило IPv6, если бы его сейчас не было.

Варианты:

  • "first-ipv4"
  • "first-ipv6"
  • "last-ipv4"
  • "last-ipv6"
  • "zero" ← (default)

interface

aliases: if

string

Указать интерфейс для правила. Направление (входящее или исходящее), используемое для интерфейса, зависит от значения direction. См. interface_in и interface_out для маршрутизируемых правил, которым необходимо указать как входной, так и выходной интерфейс. Взаимоисключающее с interface_in и interface_out.

interface_in

aliases: if_in

string

added in community.general 0.2.0

Указать входной интерфейс для правила. Это взаимоисключающее с direction и interface. Однако оно совместимо с interface_out для маршрутизируемых правил.

interface_out

aliases: if_out

string

added in community.general 0.2.0

Указать выходной интерфейс для правила. Это взаимоисключающее с direction и interface. Однако оно совместимо с interface_in для маршрутизируемых правил.

log

boolean

Логировать новые соединения, соответствующие этому правилу

Варианты:

  • false ← (default)
  • true

logging

string

Включает/выключает ведение журнала. Зарегистрированные пакеты используют средство syslog LOG_KERN.

Варианты:

  • "on"
  • "off"
  • "low"
  • "medium"
  • "high"
  • "full"

name

aliases: app

string

Использовать профиль, расположенный в /etc/ufw/applications.d.

proto

aliases: protocol

string

Протокол TCP/IP.

Варианты:

  • "any"
  • "tcp"
  • "udp"
  • "ipv6"
  • "esp"
  • "ah"
  • "gre"
  • "igmp"

route

boolean

Применить правило к маршрутизируемым/перенаправляемым пакетам.

Варианты:

  • false ← (по умолчанию)
  • true

rule

string

Добавить правило брандмауэра

Варианты:

  • "allow"
  • "deny"
  • "limit"
  • "reject"

state

string

enabled перезагружает брандмауэр и включает его при загрузке.

disabled разгружает брандмауэр и отключает его при загрузке.

reloaded перезагружает брандмауэр.

reset отключает и сбрасывает брандмауэр до значений по умолчанию.

Варианты:

  • "disabled"
  • "enabled"
  • "reloaded"
  • "reset"

to_ip

aliases: dest, to

string

Адрес IP-адреса назначения.

По умолчанию: "any"

to_port

aliases: port

string

Порт назначения.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в check_mode и возвращать прогноз статуса изменения без изменения целевого объекта.

diff_mode

Поддержка: нет

Вернёт детали изменений (или, возможно, необходимых изменений в check_mode), когда используется режим сравнения.

Примечания

Примечание

  • См. man ufw для получения дополнительных примеров.

Примеры

- name: Allow everything and enable UFW
  community.general.ufw:
    state: enabled
    policy: allow

- name: Set logging
  community.general.ufw:
    logging: 'on'

# Sometimes it is desirable to let the sender know when traffic is
# being denied, rather than simply ignoring it. In these cases, use
# reject instead of deny. In addition, log rejected connections:
- community.general.ufw:
    rule: reject
    port: auth
    log: true

# ufw supports connection rate limiting, which is useful for protecting
# against brute-force login attacks. ufw will deny connections if an IP
# address has attempted to initiate 6 or more connections in the last
# 30 seconds. See  http://www.debian-administration.org/articles/187
# for details. Typical usage is:
- community.general.ufw:
    rule: limit
    port: ssh
    proto: tcp

# Allow OpenSSH. (Note that as ufw manages its own state, simply removing
# a rule=allow task can leave those ports exposed. Either use delete=true
# or a separate state=reset task)
- community.general.ufw:
    rule: allow
    name: OpenSSH

- name: Delete OpenSSH rule
  community.general.ufw:
    rule: allow
    name: OpenSSH
    delete: true

- name: Deny all access to port 53
  community.general.ufw:
    rule: deny
    port: '53'

- name: Allow port range 60000-61000
  community.general.ufw:
    rule: allow
    port: 60000:61000
    proto: tcp

- name: Allow all access to tcp port 80
  community.general.ufw:
    rule: allow
    port: '80'
    proto: tcp

- name: Allow all access from RFC1918 networks to this host
  community.general.ufw:
    rule: allow
    src: '{{ item }}'
  loop:
    - 10.0.0.0/8
    - 172.16.0.0/12
    - 192.168.0.0/16

- name: Deny access to udp port 514 from host 1.2.3.4 and include a comment
  community.general.ufw:
    rule: deny
    proto: udp
    src: 1.2.3.4
    port: '514'
    comment: Block syslog

- name: Allow incoming access to eth0 from 1.2.3.5 port 5469 to 1.2.3.4 port 5469
  community.general.ufw:
    rule: allow
    interface: eth0
    direction: in
    proto: udp
    src: 1.2.3.5
    from_port: '5469'
    dest: 1.2.3.4
    to_port: '5469'

# Note that IPv6 must be enabled in /etc/default/ufw for IPv6 firewalling to work.
- name: Deny all traffic from the IPv6 2001:db8::/32 to tcp port 25 on this host
  community.general.ufw:
    rule: deny
    proto: tcp
    src: 2001:db8::/32
    port: '25'

- name: Deny all IPv6 traffic to tcp port 20 on this host
  # this should be the first IPv6 rule
  community.general.ufw:
    rule: deny
    proto: tcp
    port: '20'
    to_ip: "::"
    insert: 0
    insert_relative_to: first-ipv6

- name: Deny all IPv4 traffic to tcp port 20 on this host
  # This should be the third to last IPv4 rule
  # (insert: -1 addresses the second to last IPv4 rule;
  #  so the new rule will be inserted before the second
  #  to last IPv4 rule, and will be come the third to last
  #  IPv4 rule.)
  community.general.ufw:
    rule: deny
    proto: tcp
    port: '20'
    to_ip: "::"
    insert: -1
    insert_relative_to: last-ipv4

# Can be used to further restrict a global FORWARD policy set to allow
- name: Deny forwarded/routed traffic from subnet 1.2.3.0/24 to subnet 4.5.6.0/24
  community.general.ufw:
    rule: deny
    route: true
    src: 192.0.2.0/24
    dest: 198.51.100.0/24

Авторы

  • Алексей Овчаренко (@ovcharenko)
  • Ярно Кескикангас (@pyykkis)
  • Ахти Китсик (@ahtik)

Ссылки на сборки

  • Отслеживание проблем
  • Репозиторий (источники)
  • Задать вопрос
  • Отправить отчет об ошибке
  • Запросить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/ufw_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API