Категория: Сеть и firewallОбновлено 2026-10-27

Firewall

Firewall (файрвол, фаервол) это программное или аппаратное средство, контролирующее, какой сетевой трафик допускается до сервера, на основе правил вроде IP адреса и порта. Firewall не проверяет, скомпрометированы ли уже существующие учётные записи или файлы, он решает только то, что пропускать внутрь.

Четыре шага проверки firewall: список слушающих сокетов, скан снаружи, сравнение списков, проверка IPv6
Список правил показывает настройку, а скан показывает, что firewall реально фильтрует.

От чего firewall не защищает

Firewall контролирует, каким сетевым соединениям разрешено достигать сервера; у него нет видимости того, что происходит внутри уже разрешённого соединения, например подбора слабого пароля через открытый порт SSH.

Самая частая ошибка настройки

Оставлять все порты открытыми по умолчанию и пытаться вспомнить, какие из них закрыть по отдельности. Политика default deny, где всё блокируется, если не разрешено явно, гораздо труднее нарушить по невнимательности.

Сравнение инструментов и безопасную базовую настройку см. здесь: руководство по файрволу в Linux.

Как проверить, что сервер действительно открывает наружу

Список правил показывает то, что вы настроили; список сокетов показывает то, что реально ждёт соединений. Начните со второго, используя параметры ss для TCP, только слушающих сокетов, числового вывода и имён процессов:

sudo ss -tlnp

Адрес 0.0.0.0 или [::] означает, что служба слушает на всех интерфейсах, а 127.0.0.1 только локально. Затем просканируйте сервер с другой машины, которой вы управляете, по всем 65535 портам:

nmap -p- SERVER_IP

Nmap называет порт filtered, когда фильтрация пакетов не пропускает его запросы к порту, и это именно тот результат, который нужен для всего, что не должно быть публичным. Сравните два списка: служба, которая слушает, но отображается как filtered, защищена firewall, а служба, которая слушает и показана как open, открыта намеренно или по ошибке. Сканируйте и IPv6-адрес, потому что правила нередко пишут только для IPv4. NIST SP 800-41 указывает, что политика deny by default должна применяться независимо от того, идёт трафик по IPv4 или по IPv6.

Уровни защиты, исходящий трафик и актуальность правил

CISA советует включать firewall на хосте, даже если сетевой firewall уже есть, и отмечает, что программный firewall работает на защищаемой системе, а это может мешать ему обнаруживать атаки. Для VPS вывод практический: считайте firewall провайдера и firewall на сервере двумя независимыми уровнями и не пропускайте второй.

Большинство небольших серверов фильтруют только входящий трафик, а ufw по умолчанию разрешает весь исходящий. NIST SP 800-41 Rev. 1 идёт дальше и рекомендует блокировать весь входящий и исходящий трафик, не разрешённый политикой явно, а фильтрацию исходящего трафика называет egress filtering. Ограничивать исходящие соединения сложнее, так как DNS, синхронизации времени и зеркалам пакетов нужны отдельные правила, но это может помешать скомпрометированной службе свободно обращаться наружу. Если это слишком трудоёмко, хотя бы фиксируйте подозрительные исходящие соединения в журналах, как описано в руководстве по анализу логов.

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

Связанные термины: iptables, nftables, ufw, Bastion host (бастионный хост).

Часто задаваемые вопросы

Нужен ли firewall, если у хостинг-провайдера уже есть свой?

В большинстве случаев да. Firewall на уровне провайдера и firewall на уровне сервера (например, iptables, nftables или ufw) работают как независимые уровни защиты, и опора только на один оставляет уязвимость, если другой неправильно настроен или отсутствует.

Какие порты всегда должны быть открыты?

Только те, что реально используются, обычно SSH и то, что обслуживает ваше приложение, например 80 и 443 для веб-сервера. Каждый дополнительный открытый порт создаёт лишний риск.

Может ли firewall остановить DDoS атаку?

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

Как проверить, какие порты сервера открыты в интернет?

Выполните ss -tlnp на сервере, чтобы увидеть слушающие службы, затем просканируйте все порты командой nmap -p- с другой машины, которой вы управляете. Службы, которые слушают, но снаружи отображаются как filtered, защищены firewall.

Должен ли firewall фильтровать и исходящий трафик?

NIST SP 800-41 рекомендует блокировать весь входящий и исходящий трафик, не разрешённый явно. На небольшом сервере фильтрация исходящего трафика требует больше усилий, так как нужны правила для DNS, синхронизации времени и обновлений, но она ограничивает то, до чего может дотянуться скомпрометированная служба.

Хотите увидеть, в каком состоянии ваш сервер?

Запустите бесплатную read-only проверку сервера или откройте Security Lab и посмотрите цикл обнаружение, сдерживание, восстановление, проверка в действии.

Получить бесплатную проверку сервераОткрыть Security Lab