ufw: правило для zabbix-агента и включение в all-setup
- Порт 10050 (агент Timeweb) открыт только опросчикам хостера из Server= его конфига, а не всему интернету. - playbook-ufw.yml добавлен в playbook-all-setup.yml перед docker: раньше он запускался только руками и после переезда на Timeweb не был прогнан вовсе — на сервере ufw до сих пор с ENABLED=no и пустым набором правил. - В шапке плейбука зафиксировано, что ufw не закрывает порты, опубликованные докером: они идут мимо цепочки INPUT.
This commit is contained in:
@@ -1,7 +1,19 @@
|
||||
---
|
||||
# ufw фильтрует только цепочку INPUT, то есть хостовые сервисы (sshd,
|
||||
# zabbix-агент). Порты, опубликованные докером (80, 443, 2222), идут через
|
||||
# PREROUTING/FORWARD мимо ufw — закрыть их можно только правкой `ports:` в
|
||||
# docker-compose соответствующего приложения.
|
||||
- name: "Configure UFW firewall"
|
||||
hosts: all
|
||||
|
||||
vars:
|
||||
# Опросчики Zabbix у Timeweb: только им нужен доступ к агенту на хосте.
|
||||
# Список — из Server= в /etc/zabbix/zabbix_agentd.conf.
|
||||
zabbix_poller_ips:
|
||||
- "92.53.116.12"
|
||||
- "92.53.116.111"
|
||||
- "92.53.116.119"
|
||||
|
||||
tasks:
|
||||
- name: "Ensure UFW is installed"
|
||||
ansible.builtin.apt:
|
||||
@@ -49,6 +61,17 @@
|
||||
port: "443"
|
||||
proto: udp
|
||||
|
||||
# Агент хостера слушает 0.0.0.0:10050 и сам проверяет адрес источника,
|
||||
# но держать порт открытым для всего интернета незачем.
|
||||
- name: "Allow Zabbix agent on port 10050 from Timeweb pollers"
|
||||
community.general.ufw:
|
||||
rule: allow
|
||||
src: "{{ item }}"
|
||||
port: "10050"
|
||||
proto: tcp
|
||||
comment: "Timeweb zabbix poller"
|
||||
loop: "{{ zabbix_poller_ips }}"
|
||||
|
||||
- name: "Enable UFW"
|
||||
community.general.ufw:
|
||||
state: enabled
|
||||
|
||||
Reference in New Issue
Block a user