Описание работы брендмауэра UFWх
Описание работы брендмауэра UFW
### Работа с UFW (Uncomplicated Firewall)
1. Проверка установки UFW**
which ufw
2. Проверка текущего состояния UFW (по умолчанию — inactive)**
sudo ufw status verbose
3. Начальная настройка до включения UFW** (установка политик по умолчанию для входящих и исходящих соединений):
sudo ufw default allow incoming
sudo ufw default allow outgoing
4. Разрешение соединений (примеры):**
- Разрешить SSH-доступ:
sudo ufw allow ssh
sudo ufw allow 22/tcp
- Разрешить диапазон портов (например, 3000–5000):
sudo ufw allow 3000:5000/tcp
- Разрешить доступ с определённого IP-адреса:
sudo ufw allow from 192.168.10.15
- Разрешить доступ с подсети:
sudo ufw allow from 192.168.1.0/24
- Разрешить доступ к конкретному порту с определённого IP:
sudo ufw allow from 192.168.10.15 to any port 22
- Запретить доступ к порту (например, 80):
sudo ufw deny 80
5. Включение UFW**
sudo ufw enable
6. Просмотр текущих правил**
sudo ufw status
7. Просмотр нумерованного списка правил (удобно для удаления)**
sudo ufw status numbered
8. Удаление правил**
- По номеру правила (например, правило №5):
sudo ufw delete 5
- По содержанию (например, удалить правило разрешения порта 443):
sudo ufw delete allow 443
- Удалить правило разрешения SSH:
sudo ufw delete allow ssh
*9. Отключение UFW (правила сохраняются)**
sudo ufw disable
10. Сброс всех правил к дефолтным**
sudo ufw reset
11. Логирование UFW (/var/log/ufw.log)**
- Включить логирование:
sudo ufw logging on
- Установить уровень логирования (off, low, medium, high, full). Примечание: работает нестабильно, рекомендуется настраивать логирование на уровне отдельных правил.
sudo ufw logging low
- Просмотр отброшенных соединений (через journalctl):
sudo journalctl -k | grep BLOCK
Важно:** порядок правил в UFW критичен — сначала обрабатываются правила разрешения для конкретных IP, затем — правила запрета для всех. Изменение порядка может привести к некорректной работе файрвола.
Репозитарий с ролью Ansible
- https://gitverse.ru/Lexa-nk/ansible-ufw.git
- ssh://git@gitverse.ru:2222/Lexa-nk/ansible-ufw.git