Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в коллекцию community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.ufw.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры

Обзор

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

Требования

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

  • ufw пакет

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
comment
строка
Добавить комментарий к правилу. Требуется версия UFW >=0.35.
default
строка
    Варианты:
  • allow
  • deny
  • reject
Изменить политику по умолчанию для входящего или исходящего трафика.

псевдонимы: policy
delete
логическое значение
    Варианты:
  • нет ←
  • да
Удалить правило.
direction
строка
    Варианты:
  • in
  • входящий
  • out
  • исходящий
  • routed
Выберите направление для правила или команды политики по умолчанию. Взаимоисключающие с interface_in и interface_out.
from_ip
строка
Значение по умолчанию:
"any"
Адрес IP-источника.

псевдонимы: from, src
from_port
строка
Порт источника.
insert
целое число
Вставить соответствующее правило как правило номер NUM.
Обратите внимание, что ufw нумерует правила, начиная с 1.
insert_relative_to
строка
    Варианты:
  • first-ipv4
  • first-ipv6
  • last-ipv4
  • last-ipv6
  • ноль ←
Позволяет интерпретировать индекс в insert относительно позиции.
zero интерпретирует номер правила как абсолютный индекс (т.е. 1 — первое правило).
first-ipv4 интерпретирует номер правила относительно индекса первого правила IPv4 или относительно позиции, где бы находилось первое правило IPv4, если его сейчас нет.
last-ipv4 интерпретирует номер правила относительно индекса последнего правила IPv4 или относительно позиции, где бы находилось последнее правило IPv4, если его сейчас нет.
first-ipv6 интерпретирует номер правила относительно индекса первого правила IPv6 или относительно позиции, где бы находилось первое правило IPv6, если его сейчас нет.
last-ipv6 интерпретирует номер правила относительно индекса последнего правила IPv6 или относительно позиции, где бы находилось последнее правило IPv6, если его сейчас нет.
interface
строка
Укажите интерфейс для правила. Направление (входящее или исходящее), используемое для интерфейса, зависит от значения direction. См. interface_in и interface_out для правил маршрутизации, которые должны указать как входной, так и выходной интерфейс. Взаимоисключающие с interface_in и interface_out.

псевдонимы: if
interface_in
строка
добавлено в 0.2.0 community.general
Укажите входной интерфейс для правила. Это взаимоисключает с direction и interface. Однако совместимо с interface_out для правил маршрутизации.

псевдонимы: if_in
interface_out
строка
добавлено в 0.2.0 community.general
Укажите выходной интерфейс для правила. Это взаимоисключает с direction и interface. Однако совместимо с interface_in для правил маршрутизации.

псевдонимы: if_out
log
логическое значение
    Варианты:
  • нет ←
  • да
Регистрировать новые подключения, соответствующие этому правилу
logging
строка
    Варианты:
  • on
  • off
  • low
  • medium
  • high
  • full
Включает/выключает регистрацию. Зарегистрированные пакеты используют системную службу регистрации LOG_KERN.
name
строка
Использовать профиль, расположенный в /etc/ufw/applications.d.

псевдонимы: app
proto
строка
    Варианты:
  • any
  • tcp
  • udp
  • ipv6
  • esp
  • ah
  • gre
  • igmp
Протокол TCP/IP.

псевдонимы: protocol
route
логическое значение
    Варианты:
  • нет ←
  • да
Применить правило к маршрутизируемым/переадресованным пакетам.
rule
строка
    Варианты:
  • allow
  • deny
  • limit
  • reject
Добавить правило брандмауэра
state
строка
    Варианты:
  • disabled
  • enabled
  • reloaded
  • reset
enabled перезагружает брандмауэр и включает брандмауэр при загрузке.
disabled загружает брандмауэр и отключает брандмауэр при загрузке.
reloaded перезагружает брандмауэр.
reset отключает и сбрасывает брандмауэр до значений по умолчанию.
to_ip
строка
Значение по умолчанию:
"any"
Адрес IP-назначения.

псевдонимы: dest, to
to_port
строка
Порт назначения.

псевдонимы: port

Примечания

Примечание

  • См. 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: yes

# 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=yes
# 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: yes

- 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: yes
    src: 1.2.3.0/24
    dest: 4.5.6.0/24

Авторы

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

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

Spec-Zone.ru

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