Home » Как настроить фаервол с UFW на облачных серверах Ubuntu и Debian
Как настроить фаервол с UFW на облачных серверах Ubuntu и Debian

Как настроить фаервол с 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 в связке с мониторингом и автоматизацией — это даст вам надёжную и управляемую систему сетевой безопасности.


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked