- Home »

Как настроить фаервол с UFW на облачных серверах Ubuntu и Debian
Если вы когда-нибудь поднимали сервер в облаке, то знаете — первое, что нужно сделать после базовой настройки, это закрыть все лишние порты. Никто не хочет, чтобы боты сканировали SSH на стандартном порту 22 круглые сутки. UFW (Uncomplicated Firewall) — это именно то, что нужно для быстрой и понятной настройки фаервола на Ubuntu и Debian. Забудьте про сложные правила iptables — UFW делает всё просто и интуитивно. В этой статье разберём, как правильно настроить UFW на облачных серверах, избежать типичных ошибок и настроить автоматизацию.
Как работает UFW и зачем он нужен
UFW — это frontend для iptables, который упрощает управление правилами фаервола. Вместо сложных команд iptables вы используете простые и понятные команды типа ufw allow 80
. Под капотом UFW генерирует соответствующие правила iptables, но вам не нужно в этом разбираться.
Основные преимущества UFW:
- Простой синтаксис команд
- Интеграция с приложениями через профили
- Логирование и мониторинг
- Поддержка IPv6 из коробки
- Возможность работы с CIDR-нотацией
Установка и базовая настройка UFW
В Ubuntu UFW установлен по умолчанию, в Debian может потребоваться установка:
# Для Debian
sudo apt update
sudo apt install ufw
# Проверяем статус
sudo ufw status
Первым делом настройте базовые правила по умолчанию:
# Запретить все входящие соединения
sudo ufw default deny incoming
# Разрешить все исходящие соединения
sudo ufw default allow outgoing
# Включить UFW
sudo ufw enable
Важно! Перед включением UFW обязательно разрешите SSH, иначе потеряете доступ к серверу:
# Разрешить SSH (порт 22)
sudo ufw allow ssh
# Или конкретный порт
sudo ufw allow 22/tcp
Настройка правил для веб-серверов
Для типичного веб-сервера нужны следующие правила:
# HTTP и HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Или используя предустановленные профили
sudo ufw allow 'Nginx Full'
sudo ufw allow 'Apache Full'
# Посмотреть доступные профили
sudo ufw app list
Для более сложных настроек можно использовать диапазоны портов:
# Диапазон портов для FTP
sudo ufw allow 21:22/tcp
# Конкретный IP для административного доступа
sudo ufw allow from 192.168.1.100 to any port 22
Примеры практических конфигураций
Тип сервера | Необходимые порты | Команды UFW |
---|---|---|
Веб-сервер | 22, 80, 443 | ufw allow ssh && ufw allow 80 && ufw allow 443 |
Mail-сервер | 22, 25, 587, 993, 995 | ufw allow 25,587,993,995/tcp |
Database-сервер | 22, 3306/5432 | ufw allow from 10.0.0.0/8 to any port 3306 |
Game-сервер | 22, 25565 | ufw allow 25565 && ufw allow ssh |
Продвинутые настройки и автоматизация
Для автоматизации настройки UFW можно использовать скрипты. Вот пример скрипта для быстрой настройки веб-сервера:
#!/bin/bash
# Скрипт базовой настройки UFW для веб-сервера
echo "Настройка UFW для веб-сервера..."
# Сброс всех правил
sudo ufw --force reset
# Базовые правила
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Разрешить SSH, HTTP, HTTPS
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Включить UFW
sudo ufw --force enable
echo "UFW настроен и активирован!"
sudo ufw status verbose
Для интеграции с системами мониторинга полезно настроить логирование:
# Включить логирование
sudo ufw logging on
# Уровень логирования (low, medium, high, full)
sudo ufw logging medium
# Логи находятся в /var/log/ufw.log
Типичные ошибки и как их избежать
❌ Ошибка #1: Включение UFW без разрешения SSH
# Неправильно
sudo ufw enable
# Правильно
sudo ufw allow ssh
sudo ufw enable
❌ Ошибка #2: Открытие портов для всех IP
# Небезопасно
sudo ufw allow 3306
# Безопасно
sudo ufw allow from 10.0.0.0/8 to any port 3306
❌ Ошибка #3: Забыли про IPv6
# Проверить настройки IPv6
sudo nano /etc/default/ufw
# IPV6=yes
Мониторинг и отладка
Полезные команды для мониторинга UFW:
# Подробный статус
sudo ufw status verbose
# Нумерованный список правил
sudo ufw status numbered
# Удалить правило по номеру
sudo ufw delete 3
# Посмотреть логи
sudo tail -f /var/log/ufw.log
# Проверить, какие правила iptables создал UFW
sudo iptables -L -n
Сравнение с альтернативами
Решение | Сложность | Функциональность | Подходит для |
---|---|---|---|
UFW | Низкая | Базовая-средняя | Простые серверы, начинающие |
iptables | Высокая | Полная | Сложные конфигурации |
firewalld | Средняя | Высокая | CentOS/RHEL, зональная модель |
nftables | Высокая | Полная | Современная замена iptables |
Интеграция с облачными провайдерами
При работе с облачными серверами UFW отлично дополняет security groups провайдера. Рекомендуемая стратегия:
- Security groups — для базовой фильтрации на уровне сети
- UFW — для детальной настройки на уровне сервера
- fail2ban — для защиты от брутфорса
Если вы ищете надёжный VPS хостинг для экспериментов с UFW, или нужен мощный выделенный сервер для production, выбирайте проверенные решения.
Нестандартные способы использования
UFW можно использовать не только для базовой защиты:
Rate limiting для SSH:
# Ограничить подключения к SSH
sudo ufw limit ssh
Geo-блокировка через скрипты:
#!/bin/bash
# Блокировка IP диапазонов стран
COUNTRY_BLOCKS="cn ru"
for country in $COUNTRY_BLOCKS; do
for ip in $(curl -s "https://www.ipdeny.com/ipblocks/data/countries/${country}.zone"); do
sudo ufw deny from $ip
done
done
Интеграция с Docker:
# UFW и Docker могут конфликтовать
# Добавить в /etc/ufw/after.rules правила для Docker
sudo nano /etc/ufw/after.rules
Полезные ресурсы
Официальная документация и дополнительные материалы:
Заключение и рекомендации
UFW — это идеальный выбор для большинства задач по настройке фаервола на Ubuntu и Debian серверах. Простота использования не означает ограниченность — с UFW можно решить 90% задач по сетевой безопасности.
Основные рекомендации:
- Всегда сначала разрешайте SSH, потом включайте UFW
- Используйте принцип минимальных привилегий — открывайте только необходимые порты
- Регулярно проверяйте логи UFW
- Комбинируйте UFW с fail2ban для максимальной защиты
- Автоматизируйте настройку через скрипты
UFW отлично подходит для начинающих администраторов, но и опытные специалисты оценят его простоту для рутинных задач. В production окружении рекомендую использовать UFW в связке с мониторингом и автоматизацией — это даст вам надёжную и управляемую систему сетевой безопасности.
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.