Preduvjeti
Korak 1: Ažurirajte sustav
Korak 2: izmijenite SSH port (opcionalno)
Korak 3: Instalirajte i konfigurirajte fail2ban za zaštitu SSH
Fail2ban, kao što mu ime sugerira, je uslužni program dizajniran da pomogne u zaštiti Linux strojeva od brute-force napada na odabrane otvorene portove, posebno na SSH port. Zbog funkcionalnosti i upravljanja sustavom, ti se portovi ne mogu zatvoriti vatrozidom. Pod ovim okolnostima, dobra je ideja koristiti Fail2ban kao dopunsku sigurnosnu mjeru vatrozidu kako bi se ograničio napad grubom silom na tim portovima.
U ovom članku pokazat ću vam kako instalirati i konfigurirati Fail2ban da zaštiti SSH port, najčešći cilj napada, na instanci poslužitelja Vultr Debian 9.
Preduvjeti
- Svježa instanca poslužitelja Debian 9 (Stretch) x64.
- Prijavljen kao
root.
- Svi neiskorišteni portovi blokirani su odgovarajućim pravilima IPTables.
Korak 1: Ažurirajte sustav
apt update && apt upgrade -y
shutdown -r now
Nakon što se sustav pokrene, ponovno se prijavite kao root.
Korak 2: izmijenite SSH port (opcionalno)
Budući da je zadani broj SSH porta 22previše popularan da bi se zanemario, promjena u manje poznati broj porta, recimo, 38752bila bi pametna odluka.
sed -i "s/#Port 22/Port 38752/g" /etc/ssh/sshd_config
systemctl restart sshd.service
Nakon izmjene, morate u skladu s tim ažurirati pravila IPTables:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport 38752 -j ACCEPT
Spremite ažurirana pravila IPTables u datoteku za potrebe postojanosti:
iptables-save > /etc/iptables.up.rules
touch /etc/network/if-pre-up.d/iptables
chmod +x /etc/network/if-pre-up.d/iptables
echo '#!/bin/sh' >> /etc/network/if-pre-up.d/iptables
echo '/sbin/iptables-restore < /etc/iptables.up.rules' >> /etc/network/if-pre-up.d/iptables
Na ovaj način, pravila IPTables će biti trajna čak i nakon ponovnog pokretanja sustava. Od sada ćete se morati prijaviti iz 38752porta.
Koristite aptza instalaciju stabilne verzije Fail2ban koja je trenutno 0.9.x:
apt install fail2ban -y
Nakon instalacije, usluga Fail2ban će se automatski pokrenuti. Možete koristiti sljedeću naredbu da prikažete njegov status:
service fail2ban status
Na Debianu, zadane postavke Fail2ban filtera bit će pohranjene i u /etc/fail2ban/jail.confdatoteci i u /etc/fail2ban/jail.d/defaults-debian.confdatoteci. Zapamtite da će postavke u potonjoj datoteci nadjačati odgovarajuće postavke u prvoj.
Koristite sljedeće naredbe za prikaz više pojedinosti:
cat /etc/fail2ban/jail.conf | less
cat /etc/fail2ban/jail.d/defaults-debian.conf
fail2ban-client status
fail2ban-client status sshd
Za vašu informaciju, isječci koda o SSH-u navedeni su u nastavku:
u /etc/fail2ban/jail.conf:
[DEFAULT]
bantime = 600
...
maxentry = 5
[sshd]
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
u /etc/fail2ban/jail.d/defaults-debian.conf:
[sshd]
enabled = true
Budući da bi se sadržaj u dvije gornje konfiguracijske datoteke mogao promijeniti u budućim ažuriranjima sustava, trebali biste stvoriti lokalnu konfiguracijsku datoteku za pohranu vlastitih pravila filtera fail2ban. Opet, postavke u ovoj datoteci će nadjačati odgovarajuće postavke u dvije gore navedene datoteke.
vi /etc/fail2ban/jail.d/jail-debian.local
Unesite sljedeće retke:
[sshd]
port = 38752
maxentry = 3
Napomena: Obavezno koristite vlastiti SSH port. Osim gore navedenog porti maxentryspomenutog, sve ostale postavke koristit će zadane vrijednosti.
Spremi i zatvori:
:wq
Ponovno pokrenite uslugu Fail2ban kako biste učitali novu konfiguraciju:
service fail2ban restart
Naše postavljanje je završeno. Od sada, ako bilo koji stroj pošalje netočne SSH vjerodajnice na prilagođeni SSH port Debian poslužitelja ( 38752) više od tri puta, IP ovog potencijalno zlonamjernog stroja bit će zabranjen na 600 sekundi.