Настройка фаервола UFW в Ubuntu: открытие портов и базовая защита
Зачем нужен UFW на сервере?
UFW (Uncomplicated Firewall) — это простой инструмент управления встроенным фильтром сетевых пакетов Linux (iptables/nftables). Он закрывает неиспользуемые порты, не позволяя хакерам сканировать внутренние службы (базы данных, Redis, тестовые бэкенды).
Безопасная пошаговая настройка UFW
Внимание (Защита от потери доступа): Всегда сначала разрешайте SSH-порт, и только потом включайте сам фаервол! Иначе вы мгновенно заблокируете себе доступ к серверу.
- Установите стандартные правила по умолчанию (запретить всё входящее, разрешить всё исходящее):
sudo ufw default deny incoming sudo ufw default allow outgoing - Обязательно разрешите SSH подключение (порт 22 или ваш измененный порт):
sudo ufw allow 22/tcp - Разрешите веб-трафик HTTP и HTTPS:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp - Включите фаервол:
Нажмитеsudo ufw enableyдля подтверждения активации. - Проверьте статус и список открытых портов с номерами правил:
sudo ufw status numbered - Как удалить ненужное правило:
# Удалить правило под номером 3: sudo ufw delete 3
Частые вопросы (FAQ)
Как разрешить подключение к MySQL (3306) только с одного конкретного IP-адреса?
Выполните команду: sudo ufw allow from 203.0.113.50 to any port 3306 proto tcp.
Что делать, если я случайно заблокировал себе SSH доступ?
Подключитесь к серверу через VNC/Web-консоль в личном кабинете вашего хостинга и выполните sudo ufw disable.
Как полностью сбросить все правила UFW к исходному состоянию?
Выполните sudo ufw reset. Фаервол отключится и сотрет все пользовательские цепочки.
Конфликтует ли UFW с Docker?
Да! Docker по умолчанию напрямую модифицирует цепочки iptables в обход правил UFW. Для защиты опубликованных портов Docker требуется дополнительная настройка ufw-docker.