Какие файерволы ты знаешь?

«Какие файерволы ты знаешь?» — вопрос из категории Безопасность, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В своей практике я работал с несколькими сетевыми экранами, как на уровне ОС, так и в облаке.

На уровне Linux-серверов:

  • iptables — классический фаервол уровня ядра. Использовал для тонкой настройки правил на критичных серверах. Например, для ограничения доступа к порту SSH только с доверенных IP:
    iptables -A INPUT -p tcp --dport 22 -s 10.0.1.0/24 -j ACCEPT
    iptables -A INPUT -p tcp --dport 22 -j DROP
  • nftables — его современная замена с более понятным синтаксисом и лучшей производительностью. Мигрировал правила с iptables на nftables для новых систем.
  • UFW (Uncomplicated Firewall) — удобная обёртка над iptables для быстрой базовой настройки. Часто использовал на dev-серверах: ufw allow 22/tcp && ufw enable.
  • firewalld — динамический менеджер с концепцией зон. Применял в средах на базе RHEL/CentOS для управления доступом к сервисам.

В облачных средах (DevOps-контекст):

  • AWS Security Groups & NACLs — основные инструменты для изоляции VPC. Security Groups — stateful, на уровне инстансов. NACLs — stateless, на уровне подсетей. Настраивал их через Terraform.
  • GCP Firewall Rules — аналогичный сервис в Google Cloud. Создавал правила с тегами для автоматического применения к группам ВМ.
  • WAF (Web Application Firewall) — например, AWS WAF или Cloudflare WAF. Настраивал правила для защиты приложений от OWASP Top-10 (SQLi, XSS).

Выбор зависит от контекста: для контроля на уровне хоста — iptables/nftables, для облачной инфраструктуры — нативные Security Groups, для защиты приложений — WAF.