Как управлять брандмауэрами и настройками с помощью nftables: полное и практическое руководство.
Обучение работе с брандмауэрами и nftables для администраторов серверов и всех, кто заботится о сетевой безопасности.

Как управлять брандмауэрами и настройками с помощью nftables: полное и практическое руководство.

В этой статье представлены практические инструкции по использованию nftables в качестве нового средства управления сетевой безопасностью в Linux, с примерами из практики.
0 Акции
0
0
0
0

Как управлять брандмауэрами и nftables — от базового до продвинутого уровня?

Управление и настройки брандмауэра nftables Это крайне важно для любого системного администратора, специалиста по DevOps или владельца сервера. В этом руководстве мы рассмотрим техническую и операционную терминологию от основ до сложных сценариев, а также практические примеры и файлы конфигурации.

Основные понятия nftables

nftables Для создания набора правил необходимо ознакомиться с определенными компонентами:

  • семья: Семейство протоколов (например, интернет Для одновременной работы с IPv4 и IPv6 (ip, ip6, arp, bridge).
  • стол: Контейнер правил (например, фильтр интернета).
  • цепь: Цепочка правил с указанием типа (вход, пересылка, выход) и приоритета.
  • правилоУсловия и действия (принять, отклонить, отклонить, счетчик, записать в журнал).
  • набор / карта: Коллекции для хранения IP-адресов, портов или значений для быстрого сопоставления.
  • коннтрекерОтслеживание статуса соединения (установлено, связано, новое, недействительно).

Почему именно nftables?

Основные причины выбора nftables К ним относятся:

  • Одновременная поддержка IPv4 и IPv6. Использование семьи интернет.
  • Улучшенная производительность И возможность атомная замена Для безопасной загрузки набора правил.
  • Поддержка для Наборы с тайм-аутом и карты Для расширенных возможностей NAT.
  • Совместимость с iptables через слой совместимости в новых дистрибутивах.

Быстрый старт: установка, проверка и сохранение правил.

Основные команды для проверки, загрузки и сохранения наборов правил:

nft --version
nft list ruleset
nft -f /etc/nftables.conf
nft list ruleset > /etc/nftables.conf
systemctl enable --now nftables

Практический пример: базовый набор правил (для сервера Linux).

Рекомендуемый файл /etc/nftables.conf, использующий семейство интернет Для охвата протоколов IPv4 и IPv6:

table inet filter {
    set allowed_ssh {
        type ipv4_addr; flags timeout;
    }

    chain input {
        type filter hook input priority 0;
        policy drop;

        # loopback
        iif "lo" accept

        # established/related
        ct state established,related accept

        # ICMP/ICMPv6
        ip protocol icmp accept
        ip6 nexthdr ipv6-icmp accept

        # Allow SSH with rate limit & whitelist
        tcp dport 22 ct state new limit rate 3/minute accept
        ip saddr @allowed_ssh accept

        # HTTP/HTTPS
        tcp dport { 80, 443 } ct state new accept

        # DNS
        udp dport 53 accept
        tcp dport 53 accept

        # log and drop others
        counter log prefix "nft-drop: " flags all drop
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }
}

Объяснение: Этот базовый набор правил разрешает использование обратной связи, существующих соединений, SSH (с ограничением скорости), HTTP/HTTPS и DNS, а остальной трафик регистрируется и отбрасывается. установить allowed_ssh Подходит для добавления IP-адресов в белый список с таймаутом.

Управление наборами и временными блоками

Создание и управление наборами данных для белого или черного списка очень полезно. Примеры:

nft add element inet filter allowed_ssh { 203.0.113.5 timeout 1h }
nft list set inet filter allowed_ssh

Для временной блокировки злоумышленников установите флаг. тайм-аут Создавайте и добавляйте IP-адреса на определенный период времени.

NAT, переадресация портов и маскировка.

Пример NAT для VPS, который предоставляет доступ к нескольким сервисам через частный IP-адрес:

table ip nat {
    chain prerouting {
        type nat hook prerouting priority 0;
        tcp dport 2222 dnat to 10.0.0.10:22
        tcp dport 8443 dnat to 10.0.0.20:443
    }

    chain postrouting {
        type nat hook postrouting priority 100;
        oif "eth0" masquerade
    }
}

Примечание: В облачных архитектурах с несколькими адресами используйте маскировку или NAT источника для исходящего трафика. Для IPv6 используйте соответствующее сопоставление DNAT или CIDR.

Противодействие DDoS- и SYN-атакам

nftables обладает функциями ограничения скорости и управления потоками данных, которые можно использовать для смягчения последствий атак.

# allow limited number of new SYNs per second
tcp flags syn ct state new limit rate 10/second burst 20 accept

# synproxy can be used in extreme cases (kernel feature)
# nftables can match and direct traffic to synproxy or other mitigations

Для крупномасштабных атак целесообразно использовать комбинацию межсетевого экрана и сервера (nftables) с Сетевой уровень защиты от DDoS-атак Наилучший подход — фильтровать вредоносный трафик до того, как он достигнет сервера.

Правила ведения журналов и мониторинга

Полезные инструменты и команды для мониторинга:

  • Отобразить счетчики для каждого правила: набор правил списка NFT.
  • Включить логирование с указанием префикса и ограничением скорости:
nft add rule inet filter input tcp dport 22 counter log prefix "ssh-drop: " limit rate 10/minute drop

Другие инструменты: journalctl -f -u nftables, tcpdump, tshark, и монитор НФТ.

Практические советы по безопасности

Несколько важных практических советов:

  • Всегда делайте резервные копии: Перед развертыванием, вывод набор правил списка NFT Сохранять.
  • Используйте атомарную загрузку: nft -f /etc/nftables.conf Загружает файл атомарно.
  • Предотвращение блокировок SSH: Установите временное правило приема для вашего IP-адреса или используйте внешнюю консоль.
  • Автоматический скрипт отмены: При внесении конфиденциальных изменений настройте автоматический откат, если они не будут подтверждены.

Практические советы для различных применений

Для администраторов WordPress и веб-сайтов

Открывайте только необходимые порты (80/443/22). Используйте ограничения скорости для форм авторизации и XML-RPC, а также создайте набор штрафных IP-адресов для предотвращения атак методом перебора паролей. Рекомендуется использовать комбинацию с CDN и WAF.

Для программистов и специалистов по DevOps

От семьи интернет Используйте поддержку IPv4/IPv6 для одновременного развертывания. Храните правила в системе контроля версий и используйте CI/CD для автоматизированного развертывания. Используйте загрузку файлов и быстрый откат для тестирования изменений.

Для трейдеров (VPS для торговли)

Выберите местоположение как можно ближе к брокеру или серверам обмена для обеспечения минимальной задержки. Ограничьте входящий и исходящий трафик необходимыми IP-адресами и используйте белый список, чтобы предотвратить закрытие портов во время обновлений.

Для геймеров (игровой VPS)

Откройте необходимые для игры UDP-порты и оптимизируйте таймауты conntrack для UDP. Если вам нужен NAT, используйте flowtable для повышения производительности и выберите местоположение с низким пингом.

Для облачных вычислений с использованием ИИ и графических процессоров

Разрешите доступ к портам управления (SSH, Kubernetes API) только с определенных IP-адресов. В распределенных средах определите правила взаимодействия между узлами и проверьте производительность conntrack. Для обеспечения безопасности и высокой пропускной способности рекомендуется использовать частную сеть и BGP/частные VLAN.

Практические советы по внедрению и обслуживанию.

Несколько практических советов по процессу технического обслуживания:

  • Перед внесением изменений всегда создавайте резервную копию набора правил.
  • Использование атомная замена С nft -f /etc/nftables.conf.
  • Перед внесением конфиденциальных изменений установите временное правило разрешения для управляющего IP-адреса.
  • Настройте cron или systemd-timer для автоматического отката в случае неполучения подтверждения.

Инструменты и отладка

Основные инструменты для отладки и мониторинга:

  • набор правил списка NFT
  • монитор НФТ / трассировка монитора НФТ
  • ss -tunlp Для отображения портов
  • conntrack -L Из пакета conntrack-tools
  • tcpdump Или tshark Для захвата пакетов

Заключение и практические рекомендации

nftables — это мощный инструмент, который делает управление брандмауэром современным, быстрым и гибким. Используя семейство инструментов, интернетС помощью настроек, ограничений скорости и ConnTrack можно создать эффективный уровень защиты, подходящий для веб-серверов, VPS-серверов, торговых площадок, игр и облачных сервисов с использованием графических процессоров.

Наряду с настройкой серверов, сочетание с сетевыми сервисами, такими как CDN, защита от DDoS-атак и BGP, предоставляемыми более чем в 85 точках по всему миру, обеспечивает более высокий уровень безопасности и доступности.

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

Вам также может понравиться

Основы UFW: общие правила и команды брандмауэра для безопасности Linux

Основы UFW: общие правила и команды брандмауэра для обеспечения безопасности Linux Введение UFW (Unified Firewall) — это инструмент командной строки…
Анализ трафика с помощью mitmproxy: полное руководство по отладке и безопасности.

Анализ трафика с помощью mitmproxy: полное руководство по отладке и безопасности.

В этой статье мы рассмотрим инструмент mitmproxy, используемый для анализа и отладки HTTP/HTTPS-трафика. От установки и настройки до советов по безопасности и практического применения — это руководство поможет вам эффективно управлять вашим трафиком.
Подробное руководство по использованию Wget для загрузки файлов и работы с REST API.

Подробное руководство по использованию Wget для загрузки файлов и работы с REST API.

В этой статье мы рассмотрим способы использования wget для загрузки файлов и взаимодействия с REST API. Мы предоставим практические советы и рекомендации, которые помогут вам легко использовать wget для управления большими объемами загрузки и работы с API.
Руководство по безопасному включению удаленного доступа к MySQL в 2025 году.

Руководство по безопасному включению удаленного доступа к MySQL в 2025 году.

В этой статье вы узнаете о безопасных и практичных способах обеспечения удаленного доступа к серверам MySQL и MariaDB в 2025 году. Следуя рекомендациям по безопасности и используя VPN и SSH, вы сможете легко и уверенно получать доступ к своим базам данных.
Внедрение WireGuard для 500 пользователей: полное руководство и масштабируемость.

Внедрение WireGuard для 500 пользователей: полное руководство и масштабируемость.

В этой статье представлены подробные рекомендации по внедрению WireGuard для 500 пользователей. Рассматриваются такие темы, как проектирование сети, конфигурация серверов, безопасность и масштабируемость. Этот материал поможет вам максимально эффективно использовать возможности вашей системы.