@maxcad

Как заблокировать доступ через nftables?

Ситуация такая. Решил работать над веб проектом на удаленном тестовом сервере.
Все хорошо, но возникла проблема. На 80 и 443 порты тут же налетели боты сканируя папки *admin* на наличие уязвимостей. Из за чего логи забились мусором и их стало невозможно читать.

Хотел закрыть всё в iptables и работать с сервером через ssh тунель, он точно отсечет ботов от веб сервера. Но его в Debian 11 уже нету, устарел. К нему на смену пришел nftables. Я вдруг оказался не готов к такому повороту событий.

Почитал маны, попробовал создать несколько правил, в результате несколько раз закрыл сам себе доступ до сервера.

Мне надо работать над проектом и просто некогда обучаться новой программе. Не ругайтесь сильно.

Надо создать правило в NFtables.
Запретить подключение на 80 и 443 порты со всех адресов кроме a.a.a.a b.b.b.b c.c.c.c ... n.n.n.n
Правило надо создать с нуля, то-есть с создания таблицы итп.
  • Вопрос задан
  • 850 просмотров
Решения вопроса 1
@Herest
Открываем для редактирования конфигурационный файл nftables: nano /etc/nftables.conf
Вставляем туда такие правила:
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
        chain input {
                # по умолчанию будут дропаться все пакеты, которые не разрешены
                type filter hook input priority filter; policy drop
                
                # разрешаем подключения, которые инициировал сам сервер
                ct state {established, related} accept
                
                # разрешаем подключения к localhost
                iifname "lo" accept

                # разрешаем подключения по ssh
                tcp dport 22 accept
                
                # нужные вам правила, только замените IP адреса на свои
                ip saddr 192.0.2.1 tcp dport {80, 443} accept
                ip saddr 192.0.2.2 tcp dport {80, 443} accept
                ip saddr 192.0.2.3 tcp dport {80, 443} accept
        }
}

Сохраняем файл Ctrl+O, закрываем редактор Ctrl+X, перезагружаем службу nftables systemctl restart nftables.service
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы