Найти в Дзене
WebHOST1.ru

Внутренний firewall как линия обороны: iptables, nftables и практика

Когда мы говорим о безопасности серверов, чаще всего вспоминают про SSL, бэкапы, антивирусы или шифрование. Но всё это не имеет значения, если сервер открыт всему интернету: любой бот, скрипт или злоумышленник может спокойно постучаться в незакрытую дверь. И вот тут на сцену выходит первый и самый важный уровень защиты — внутренний firewall. Даже если у вас облачный сервер в изолированной среде, отсутствие фильтрации на уровне ядра Linux — это как офис без замка. В этой статье разберём, почему iptables и nftables до сих пор актуальны, чем они отличаются и как с их помощью реализовать надёжную фильтрацию трафика. На примерах — в контексте наших серверов в Webhost1. Сервер, как только получает публичный IP, становится частью глобального интернета. А это значит: каждые 2–3 минуты его будут сканировать. Кто-то ищет открытый порт SSH, кто-то проверяет, не открыт ли Redis, кто-то пробует перебрать пароли через RDP или SMTP. По статистике наших VDS-клиентов, более 70% входящих соединений — эт
Оглавление

Когда мы говорим о безопасности серверов, чаще всего вспоминают про SSL, бэкапы, антивирусы или шифрование. Но всё это не имеет значения, если сервер открыт всему интернету: любой бот, скрипт или злоумышленник может спокойно постучаться в незакрытую дверь. И вот тут на сцену выходит первый и самый важный уровень защиты — внутренний firewall.

Даже если у вас облачный сервер в изолированной среде, отсутствие фильтрации на уровне ядра Linux — это как офис без замка. В этой статье разберём, почему iptables и nftables до сих пор актуальны, чем они отличаются и как с их помощью реализовать надёжную фильтрацию трафика. На примерах — в контексте наших серверов в Webhost1.

Почему фильтрация трафика — это не опция, а необходимость

Сервер, как только получает публичный IP, становится частью глобального интернета. А это значит: каждые 2–3 минуты его будут сканировать. Кто-то ищет открытый порт SSH, кто-то проверяет, не открыт ли Redis, кто-то пробует перебрать пароли через RDP или SMTP.

По статистике наших VDS-клиентов, более 70% входящих соединений — это не пользователи или API-запросы, а автоматические сканеры и боты. Если не фильтровать входящие соединения — сервер просто заваливается мусором и становится уязвимым. Именно firewall решает, что принять, а что отбросить ещё до того, как пакет попадёт в приложение.

iptables: классика в действии

iptables — это утилита для настройки встроенного в Linux фильтра netfilter. Она существует с 2001 года и по-прежнему используется в большинстве дистрибутивов.

С его помощью можно:

  • закрыть все порты, кроме нужных;
  • ограничить доступ к SSH по IP;
  • пробросить порты через NAT;
  • маркировать трафик для QoS;
  • вести логирование подозрительных соединений.

Пример: запрет на SSH всем, кроме IP 203.0.113.42:

iptables -A INPUT -p tcp --dport 22 ! -s 203.0.113.42 -j DROP

Если вы клиент Webhost1 и используете наш VDS с предустановленным Ubuntu или Debian, iptables уже включён и готов к работе. Мы рекомендуем всегда сохранять правила с помощью iptables-persistent, чтобы они не сбрасывались при перезагрузке.

nftables: современная альтернатива

Начиная с ядра Linux 3.13, разработчики начали активно продвигать nftables — более гибкий и лаконичный фреймворк, пришедший на смену iptables. Он объединяет функциональность ip6tables, arptables, ebtables и iptables в одну систему и даёт удобный синтаксис.

Пример выше в синтаксисе nft:

nft add table inet filter

nft add chain inet filter input { type filter hook input priority 0 \; }

nft add rule inet filter input tcp dport 22 ip saddr != 203.0.113.42 drop

В Webhost1 можно использовать nftables на любом современном образе (Debian 11+, Ubuntu 20.04+). Более того, мы рекомендуем nft как основной инструмент, если вы только начинаете работу с firewall’ами — он проще, логичнее и легче читается.

Как не потерять доступ к серверу

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

  • не менять правила "на лету" без теста;
  • открыть доступ к нужному IP заранее;
  • создавать скрипты сброса, если что-то пошло не так.

Пример скрипта сброса:

iptables -F

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

Какой firewall выбрать в 2025 году?

Если вы опытный администратор и у вас есть готовые скрипты под iptables — продолжайте использовать его. Он по-прежнему стабилен, понятен и полностью поддерживается.

Если вы запускаете новый проект, особенно на VPS Webhost1 — попробуйте сразу работать с nftables. Он мощнее, а переход в будущем потребует меньше адаптаций.

Webhost1: безопасная инфраструктура с правом на ошибку

Мы понимаем, что настройки firewall могут быть сложными — особенно если вы только начали работать с Linux. Поэтому:

  • у каждого VPS есть консоль вне зависимости от состояния сети;
  • можно восстановить доступ даже после неправильных правил;
  • поддерживаются образы с iptables и nftables;
  • по запросу мы можем настроить базовый firewall за вас при первичном развёртывании сервера.

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