В этом видео я рассказываю о том как можно настроить фильтрацию подключений к вашему 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 адреса принадлежат вашему провайдеру? http://it-inside.org/2014/08/video-10...
[Linux.wiki] Как закрыть доступ к ssh с помощью iptables. http://it-inside.org/2014/07/linux-wi...
[Linux.wiki] Как закрыть доступ к ssh с помощью iptables. http://www.it-inside.org/?p=301
[Linux.wiki] Защита ssh порта от атак. Всем БАН! http://it-inside.org/?p=329
http://blog.zioup.org/2008/iptables_r...
http://ipset.netfilter.org/iptables.m...
http://manpages.ubuntu.com/manpages/k...
https://www.digitalocean.com/communit...
http://www.opennet.ru/docs/RUS/iptabl...
-------------------------------------------------------