TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #368 3.34K
👁 Блокировка сканирования портов с помощью iptables

С помощью iptables можно настроить эффективную защиту, которая будет блокировать доступ для тех, кто пытается стучаться к закрытым портам. Рассмотрим пример для сервера, где запущен OpenVPN на портах TCP и UDP 34881. Настроим временный бан на 10 минут для любых IP-адресов, обращающихся к закрытым портам.

▪️ Настройка правил блокировки

1️⃣ Блокировка для TCP:


# Блокируем IP с повторным доступом к закрытым портам
iptables -A INPUT -m recent --rcheck --seconds 600 --name BANPORT -j DROP

# Добавляем IP в список блокировки при доступе к любым портам, кроме 34881
iptables -A INPUT -p tcp -m multiport ! --dports 34881 -m recent --set --name BANPORT -j DROP

# Разрешаем доступ только к порту 34881
iptables -A INPUT -p tcp --syn -m multiport --dports 34881 -j ACCEPT


2️⃣ Блокировка для UDP:


# Блокируем IP с повторным доступом к закрытым портам
iptables -A INPUT -m recent --rcheck --seconds 600 --name BANPORT -j DROP

# Добавляем IP в список блокировки при доступе к любым портам, кроме 34881
iptables -A INPUT -p udp -m multiport ! --dports 34881 -m recent --set --name BANPORT -j DROP

# Разрешаем доступ только к порту 34881
iptables -A INPUT -p udp -m multiport --dports 34881 -j ACCEPT


Использование модуля multiport позволяет удобно задавать список портов через запятую. Например, если у вас несколько разрешённых портов, вы можете указать их так: --dports 22,80,443.

▪️ Управление заблокированными IP

1️⃣ Посмотреть список заблокированных адресов:


cat /proc/net/xt_recent/BANPORT


2️⃣ Удалить конкретный IP из списка:


echo -1.1.1.1 > /proc/net/xt_recent/BANPORT


3️⃣ Очистить весь список блокировки:


echo > /proc/net/xt_recent/BANPORT


✍️ Как это работает?

📍 Модуль recent: используется для отслеживания активности IP-адресов. Если адрес обращается к запрещённому порту, он заносится в список блокировки (BANPORT).
📍 Правило DROP: блокирует весь входящий трафик от адресов из списка BANPORT в течение 10 минут (600 секунд).
📍 Разрешение через ACCEPT: обеспечивает доступ только к указанным портам.

#linux #security

🧑‍💻 NetworkAdmin
  • 🔥 17
  • 👍 10
  • ❤ 3
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →