iptables — классический инструмент netfilter
iptables работает на модуле netfilter в ядре Linux и фильтрует пакеты в цепочках INPUT, OUTPUT и FORWARD. Для каждого пакета правила проверяются последовательно. iptables даёт администратору полный контроль над портами, IP-адресами и протоколами, но имеет сложный синтаксис, в котором легко ошибиться.
Базовый набор правил выглядит так: разрешить весь исходящий трафик, доверять localhost, сохранять установленные соединения, открыть SSH и HTTP/HTTPS, заблокировать остальной входящий трафик. Этот подход называется политикой "default deny" и является наиболее безопасным.
UFW — простота прежде всего
UFW — это обёртка над iptables, разработанная командой Ubuntu. Команда ufw allow 22/tcp открывает SSH-порт, а ufw deny from 1.2.3.4 блокирует конкретный IP. UFW идеален для новичков и небольших проектов — он значительно снижает вероятность ошибок при настройке.
Перед включением UFW обязательно разрешите SSH-порт, иначе потеряете доступ к серверу. Используйте ufw allow OpenSSH или ufw allow 22, затем активируйте firewall командой ufw enable. Проверить статус можно через ufw status verbose.
Основной набор правил
На любом production-сервере обязательны следующие правила: измените стандартный SSH-порт 22 или используйте аутентификацию по ключу, открывайте только нужные порты (80 и 443 для веб-сервера), привязывайте MySQL и Redis только к localhost, ограничивайте brute-force атаки через rate limiting. Это минимальный уровень защиты.
Для дополнительной защиты используйте fail2ban вместе с iptables или UFW. Fail2ban отслеживает лог-файлы и автоматически блокирует подозрительные действия. Например, после 5 неудачных попыток ввода SSH-пароля IP блокируется на 1 час.
NAT и проброс портов
Если на сервере несколько сервисов и нужно перенаправлять порты во внутреннюю сеть, используйте цепочку PREROUTING в iptables. В UFW NAT-правила добавляются через редактирование /etc/ufw/before.rules. Это важно при работе с контейнерами и виртуальными машинами.
Практика Sayt.uz
Хостинг Sayt.uz по умолчанию предоставляет серверы с включённым UFW и открытыми только портами 22, 80, 443. Клиентам VPS мы бесплатно настраиваем стартовый firewall и активируем fail2ban. Для сложных правил или специальных портов обращайтесь в нашу техподдержку.