[Video] 13. Продвинутая защита ssh с помощью iptables. Ограничение кол-ва подключений в минуту, час, день…

В этом видео я рассказываю о том как можно настроить фильтрацию подключений к вашему ssh порту (или любому другому порту) на основе количества подключений во времени (в минуту, час, день…)
Подробно рассказываю о том как работают представленные настройки (пример см. ниже).
Показываю как работают мои настройки iptables на моих виртуальных серверах.

Подписывайтесь на канал!
Рассказывайте какие настройки используете Вы!

Мои тестовые настройки:
# remove all previously configured rules:
sudo iptables -F

# create additional chains for filtering connections to ssh:
sudo iptables -N BADGUY
sudo iptables -N HOMEADDRESSES

# for access to Loopback interface
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# for ssh protection
sudo iptables -A INPUT -s 88.198.74.221/32 -p tcp -m tcp --dport 2222 -j ACCEPT
sudo iptables -A INPUT -s 192.168.56.0/24 -p tcp -m tcp --dport 2222 -j ACCEPT
sudo iptables -A INPUT -s 5.101.102.99/32 -p tcp -m tcp --dport 2222 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 2222 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --update --seconds 3600 --name badguys --mask 255.255.255.255 --rsource -j DROP
sudo iptables -A INPUT -s 172.20.1.0/12 -p tcp -m tcp --dport 2222 -j HOMEADDRESSES
sudo iptables -A INPUT -s 172.20.2.0/13 -p tcp -m tcp --dport 2222 -j HOMEADDRESSES
sudo iptables -A INPUT -s 172.20.2.0/12 -p tcp -m tcp --dport 2222 -j HOMEADDRESSES
sudo iptables -A INPUT -p tcp -m tcp --dport 2222 -j DROP

# for ssh protection, addition
sudo iptables -A BADGUY -m recent --set --name badguys --mask 255.255.255.255 --rsource -j DROP
sudo iptables -A HOMEADDRESSES -m recent --set --name sshcheck --mask 255.255.255.255 --rsource
sudo iptables -A HOMEADDRESSES -m recent --rcheck --seconds 300 --hitcount 4 --name sshcheck --mask 255.255.255.255 --rsource -j BADGUY
sudo iptables -A HOMEADDRESSES -m recent --rcheck --seconds 30 --hitcount 2 --name sshcheck --mask 255.255.255.255 --rsource -j DROP
sudo iptables -A HOMEADDRESSES -p tcp -m tcp --dport 2222 -j ACCEPT
——————————————————-

Ссылки на дополнительные материалы:
[Video] 10.1 – Whois. Какие ip адреса принадлежат вашему провайдеру?
[Linux.wiki] Как закрыть доступ к ssh с помощью iptables.
[Linux.wiki] Как закрыть доступ к ssh с помощью iptables.
[Linux.wiki] Защита ssh порта от атак. Всем БАН!
iptables recent matching rule
IPTABLES man pages
IPTABLES man pages.v2
How To Configure Port Knocking Using Only IPTables on an Ubuntu VPS
Руководство по iptables (Iptables Tutorial 1.1.19)
——————————————————-
Удачи!