Zero DDoS Guard (NFTables)

Конфигурация плагина Zero DDoS Guard (NFTables) 1.0-BETA

Создайте и подтвердите аккаунт для скачивания
Ссылка на ресурс
https://nftables.org
Поддерживаемые версии
  1. Отсутствует
Это конфиг для nftables является попыткой полностью реализовать базовый функционал ufw, но с дополнительными плюшками. Он заточен на защиту от типичных атак (DDoS, сканеров портов, мусорного трафика).

⚠️ ВНИМАНИЕ:
Не используйте его вместе с ufw! Перед установкой моего конфига либо удалите ufw, либо выключите его командой – sudo systemctl disable --now ufw
Также nftables никак не может заменить реальную защиту от провайдера.

⚜️  Преимущества:
1. Автобаны при подозрительной активности.
2. Небольшая попытка поддержки Docker и WireGuard — интерфейсы docker0 и wg0, трафик через них должен работать корректно.
3. Белый список для своих адресов — все ограничения на них не действуют.
4. Разделение TCP и UDP, IPv4 и IPv6
5. Приличная защита от многих видов атак малого и среднего уровня.

Он тестирован на Ubuntu nftables v1.0.9, но должен работать на любой OC с современным nftables.

🗃️ Установка:
Сам nftables уже установлен в большинстве современных линукс системах. Проверьте – sudo nft -v

Если его нет, то установите:

Код:
sudo apt update
sudo apt install nftables

Потом сделайте бэкап /etc/nftables.conf (переименуйте его допустим в nftables.conf.bak) и поместите мой конфиг (nftables.conf) в папку /etc, настройте его под себя (не забудьте разрешить ваш ssh порт!) и выполните – nft -c -f /etc/nftables.conf, если нет ошибок, то: sudo systemctl enable --now nftables и через несколько секунд можно ещё выполнить – sudo systemctl restart nftables (чтобы убедиться, что всё перезапущено и применено).

Если при вводе nft -c -f /etc/nftables.conf появилась ошибка, то удалите мой nftables.conf и замените на тот который вы сохранили в бэкапе и выполните sudo systemctl restart nftables, также можете сообщить мне об этом.

🧩 Настройка:

По умолчанию разрешены эти порты IPv4:

Код:
# Разрешённые TCP порты
    set allowed_tcp4 {
        type inet_service
        flags interval
        elements = { 80, 443, 3306, 8000, 22, 25565 }
    }

# Разрешённые UDP порты (добавьте блок elements = { ваши UDP порты } если нужно).
    set allowed_udp4 {
        type inet_service
        flags interval
    }

Уберите не нужные и добавьте свои. ВНИМАНИЕ! Не забудьте добавить туда свой порт ssh (если вы подключаетесь к своей машине по SSH / SFTP).

Также вы можете добавить свой IP в белый список (посмотреть можно здесь – You must be logged in to see this link.)

Код:
set whitelist4 {
    type ipv4_addr
    flags interval
    elements = { ВАШ.IP }
}

Думаю, остальное здесь перечислять нет смысла (оно уже описано в комментариях в самом конфиге).

🔭 Команды:

[
конкретно для таблиц с IPv4]
Посмотреть список кого забанило за DDoS – sudo nft list set inet filter ddos4
Посмотреть кого забанило за сканирование портов – sudo nft list set inet filter portscanners4
Сбросить все баны – sudo nft flush set inet filter ddos4 && sudo nft flush set inet filter portscanners4

[для IPv6]
Посмотреть список кого забанило за DDoS – sudo nft list set inet filter ddos6
Посмотреть кого забанило за сканирование портов – sudo nft list set inet filter portscanners6
Сбросить все баны – sudo nft flush set inet filter ddos6 && sudo nft flush set inet filter portscanners6

📚 Дополнительно
Bogon сети по умолчанию разрешены только интерфейсу wg0, если вам они нужны для других интерфейсов, тот поправьте здесь:

Код:
ip saddr @bogon4 iifname != "wg0" drop
ip6 saddr @bogon6 iifname != "wg0" drop

Не редактируйте конфиг без понимания синтаксиса nftables.
Конфиг не ограничивает исходящий от вашего сервера трафик.
Возможны ложные срабатывания – сообщайте о них мне.
Автор
Art_Farm
Скачивания
7
Просмотры
146
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Art_Farm

Поделиться ресурсом

Назад
Сверху Снизу