DenyHosts je bezpečnostní nástroj pro prevenci narušení založený na protokolu pro servery SSH napsaný v Pythonu. Je navržen tak, aby zabránil útokům hrubou silou na SSH servery sledováním neplatných pokusů o přihlášení v protokolu ověřování a blokováním původních IP adres pomocí /etc/hosts.deny a sbin/iptables na serveru Linux. V tomto tutoriálu se naučíte, jak nainstalovat DenyHosts, pythonový program, který automaticky blokuje útoky ssh přidáním položek do souboru /etc/hosts.deny.
Výukový program je testován na instalaci serveru Ubuntu 17.04.
1. Nejprve nainstalujte software:
$ sudo apt-get install denyhosts
Code language: JavaScript (javascript)
2. Přidejte své adresy do hosts.allow, abyste se ujistili, že nejsou blokovány.
sudo pico /etc/hosts.allow
Příklad, jak přidat více než jednu adresu:
sshd: 212.22.112.113 , 10.20.133.3 , 192.168.0.1 , 127.0.0.1
Code language: CSS (css)
3. Nyní nakonfigurujte konfigurační soubor denyhosts:
$ sudo pico /etc/denyhosts.conf
Make sure SECURE_LOG set as follows:
SECURE_LOG = /var/log/auth.log
HOSTS_DENY set as follows:
HOSTS_DENY = /etc/hosts.deny
Block only sshd:
BLOCK_SERVICE = sshd
Deny threshold limit for login attempts:
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
Block incoming connections using the Linux firewall IPTABLES:
IPTABLES = /sbin/iptables
Code language: PHP (php)
4. POVOLTE službu DenyHosts:
$ sudo systemctl enable denyhosts.service
Uvidíte něco takového:
Synchronizace stavu denyhosts.service s SysV init s /lib/systemd/systemd-sysv-install…Spuštěním /lib/systemd/systemd-sysv-install povolte denyhosts
5. Restartujte službu DenyHosts:
sudo /etc/init.d/denyhosts restart
6. Některé příkazy pro kontrolu, zda vše funguje, a pro seznam adres přidaných do seznamu blokovaných:
$ sudo grep 'something' /var/log/denyhosts
$ sudo tail -f /var/log/denyhosts
$ sudo cat /etc/hosts.deny
sudo iptables -L INPUT -n -v | grep DROP
Code language: JavaScript (javascript)
Pozornost:
Upozorňujeme, že server DenyHosts je omezen na připojení pomocí IPv4. Nepracuje s IP adresou založenou na IPv6. Další možností je pomocí příkazu iptables zobrazit blokovanou IP adresu:
Povolit centralizovanou podporu synchronizace?
DenyHosts verze 2.0 a vyšší podporují centralizovanou synchronizaci, takže recidivisté jsou blokováni na mnoha počítačích. Stránka xmlrpc.denyhosts.net shromažďuje statistiky z počítačů se softwarem. Synchronizace je ve výchozím nastavení zakázána. Chcete-li povolit synchronizaci, zadejte:
$ sudo pico /etc/denyhosts.conf
Poté přidejte:
SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
Code language: JavaScript (javascript)
A restartujte:
$ sudo /etc/init.d/denyhosts restart