Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

3 года назад
Открыть в
Простой и эффективный способ запретить скан портов на своём сервере с помощью iptables. Просто баним всех, кто стучится не на открытый целевой порт. Допустим, у вас запущен OpenVPN на TCP и UDP портах 34881. Забаним на 10 минут всех, кто обращается не к ним. # Блокируем тех, кто обращается на неоткрытые порты tcp iptables -A INPUT -m recent --rcheck --seconds 600 --name BANPORT -j DROP iptables -A INPUT -p tcp -m multiport ! --dports 34881 -m recent --set --name BANPORT -j DROP iptables -A INPUT -p tcp --syn -m multiport --dports 34881 -j ACCEPT # Блокируем тех, кто обращается на неоткрытые порты udp iptables -A INPUT -m recent --rcheck --seconds 600 --name BANPORT -j DROP iptables -A INPUT -p udp -m multiport ! --dports 34881 -m recent --set --name BANPORT -j DROP iptables -A INPUT -p udp -m multiport --dports 34881 -j ACCEPT Я использую multiport с заделом на список из нескольких портов, которые в случае необходимости можно перечислить через запятую. Посмотреть список забаненых: # cat /proc/net/xt_recent/BANPORT Удалить оттуда: # echo -1.1.1.1 > /proc/net/xt_recent/BANPORT Очистить список: # echo / > /proc/net/xt_recent/BANPORT Такой вот простой способ скрыть от посторонних глаз сервис, который не получается ограничить какими-то списками. Понятное дело, это не 100% защита, так как найти открытый порт всё равно возможно, но для этого нужно приложить довольно много усилий. Если бан сделать вечным, то нужно очень много IP адресов, чтобы найти открытый порт. Подобным способом можно скрыть проброс RDP или какого-то ещё порта от посторонних глаз. Когда будете настраивать, не забудьте разместить эти правила в общем списке правил фаервола так, чтобы они реально работали, и пакеты не попадали раньше в какие-то разрешающие правила. #iptables #security