2 min read

UFW: настройка файрвола в Linux простыми словами

UFW: настройка файрвола в Linux простыми словами

iptables мощный, но я не хочу держать в голове его синтаксис ради простой задачи — открыть пару портов и закрыть остальное. UFW даёт тот же результат человеческими командами. Это надстройка над iptables, которая делает настройку файрвола понятной.

Установка

sudo apt update && sudo apt install ufw -y

Проверяю статус:

sudo ufw status

Если выключен — включаю:

sudo ufw enable

Первое правило — разрешить SSH

Это критично сделать перед включением файрвола с политикой "запретить всё". Иначе потеряешь доступ к серверу:

sudo ufw allow ssh

Или явно по порту:

sudo ufw allow 22/tcp

Базовые правила

Разрешить веб-трафик:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Запретить весь входящий трафик по умолчанию:

sudo ufw default deny incoming

Разрешить весь исходящий:

sudo ufw default allow outgoing

Эта пара — основа любой настройки файрвола: закрыть всё на вход, открывать только то, что нужно.

Доступ по SSH только со своего IP

Если сервер не публичный и подключаешься только из дома или офиса — стоит ограничить доступ по IP. Сначала узнаю свой адрес:

curl -s icanhazip.com

Затем разрешаю порт только для него:

sudo ufw allow from YOUR_IP to any port PORT comment "allow from home"

Если сервис в Docker-контейнере — нужно правило route:

sudo ufw route allow from YOUR_IP to any port PORT comment "allow from home docker"

Другие порты

Например, для приложения на 8080:

sudo ufw allow 8080/tcp

Запретить порт:

sudo ufw deny 3306/tcp  # MySQL — не должен торчать наружу

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

sudo ufw delete allow 80/tcp

Управление правилами

Посмотреть список с номерами — удобно для удаления:

sudo ufw status numbered

Удалить по номеру:

sudo ufw delete 1

Проверка состояния

Подробный статус со всеми правилами:

sudo ufw status verbose

Сброс и отключение

Полный сброс всех правил:

sudo ufw reset

Отключение файрвола:

sudo ufw disable

Логирование

Включить логи:

sudo ufw logging on

Посмотреть:

sudo cat /var/log/ufw.log

Полезно, когда нужно понять, что именно блокируется и откуда идёт трафик.

Профили приложений

У некоторых сервисов есть готовые профили с нужными портами — не нужно вспоминать, что именно открывать. Список доступных:

sudo ufw app list

Разрешить трафик для приложения, например Samba:

sudo ufw allow Samba

Ограничить доступ конкретной сетью:

sudo ufw allow from 192.168.0.0/24 to any app Samba

После любых изменений — проверь, что нужные сервисы остались доступны. Особенно если правишь правила удалённо: одна неверная команда — и SSH-сессия обрывается без возможности вернуться.

Регулярно проверяй текущие правила:

sudo ufw status verbose

UFW — простой и эффективный способ защитить сервер. Главное — настроить под свои задачи и не забывать пересматривать правила со временем.


Если хочешь обсудить похожую задачу — пиши на [email protected] или заходи на 1it.pro.

Связаться с нами
Telegram
WhatsApp
Email