Előfeltételek
1. lépés: Frissítse a rendszert
2. lépés: Módosítsa az SSH-portot (opcionális)
3. lépés: Telepítse és konfigurálja a fail2ban-t az SSH védelme érdekében
A Fail2ban, ahogy a neve is sugallja, egy segédprogram, amelyet arra terveztek, hogy segítsen megvédeni a Linux gépeket a kiválasztott nyitott portokat, különösen az SSH-portokat érő brute-force támadásoktól. A rendszer működése és kezelése érdekében ezeket a portokat nem lehet tűzfallal lezárni. Ilyen körülmények között célszerű a Fail2ban-t a tűzfal kiegészítő biztonsági intézkedéseként használni, hogy korlátozza a brute force támadási forgalmat ezeken a portokon.
Ebben a cikkben bemutatom, hogyan telepítheti és konfigurálhatja a Fail2ban-t, hogy megvédje az SSH-portot, a leggyakoribb támadási célpontot a Vultr Debian 9 kiszolgálópéldányokon.
Előfeltételek
- Egy friss Debian 9 (Stretch) x64 szerverpéldány.
- Bejelentkezve mint
root.
- Minden használaton kívüli port blokkolva van a megfelelő IPTables szabályokkal.
1. lépés: Frissítse a rendszert
apt update && apt upgrade -y
shutdown -r now
Miután a rendszer elindult, jelentkezzen be újra mint root.
2. lépés: Módosítsa az SSH-portot (opcionális)
Mivel az alapértelmezett SSH-portszám 22túl népszerű ahhoz, hogy figyelmen kívül hagyjuk, 38752okos döntés lenne egy kevésbé ismert portszámra cserélni.
sed -i "s/#Port 22/Port 38752/g" /etc/ssh/sshd_config
systemctl restart sshd.service
A módosítás után frissítenie kell az IPTables szabályait ennek megfelelően:
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
Mentse el a frissített IPTables szabályokat egy fájlba a fennmaradás érdekében:
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
Ily módon az IPTables szabályai a rendszer újraindítása után is megmaradnak. Ezentúl a 38752portról kell bejelentkeznie .
Használja apta Fail2ban stabil verziójának telepítésére, amely jelenleg 0.9.x:
apt install fail2ban -y
A telepítés után a Fail2ban szolgáltatás automatikusan elindul. A következő paranccsal megjelenítheti állapotát:
service fail2ban status
Debianon az alapértelmezett Fail2ban szűrőbeállítások mind a /etc/fail2ban/jail.conffájlban , mind a fájlban tárolódnak /etc/fail2ban/jail.d/defaults-debian.conf. Ne feledje, hogy az utóbbi fájl beállításai felülírják az előző fájl megfelelő beállításait.
További részletek megtekintéséhez használja a következő parancsokat:
cat /etc/fail2ban/jail.conf | less
cat /etc/fail2ban/jail.d/defaults-debian.conf
fail2ban-client status
fail2ban-client status sshd
Tájékoztatásul az alábbiakban felsoroljuk az SSH-val kapcsolatos kódrészleteket:
itt /etc/fail2ban/jail.conf:
[DEFAULT]
bantime = 600
...
maxentry = 5
[sshd]
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
itt /etc/fail2ban/jail.d/defaults-debian.conf:
[sshd]
enabled = true
Mivel a fenti két konfigurációs fájl tartalma változhat a jövőbeli rendszerfrissítések során, létre kell hoznia egy helyi konfigurációs fájlt a saját fail2ban szűrőszabályainak tárolására. A fájl beállításai ismét felülírják a fent említett két fájl megfelelő beállításait.
vi /etc/fail2ban/jail.d/jail-debian.local
Írja be a következő sorokat:
[sshd]
port = 38752
maxentry = 3
Megjegyzés: Ügyeljen arra, hogy saját SSH-portját használja. Kivéve port, és maxentrya fent említett, az összes többi beállítás az alapértelmezett értékeket.
Mentés és kilépés:
:wq
Indítsa újra a Fail2ban szolgáltatást az új konfiguráció betöltéséhez:
service fail2ban restart
Beállításunk kész. Ezentúl, ha valamelyik gép 38752több mint háromszor hibás SSH hitelesítési adatokat küld a Debian szerver egyéni SSH-portjára ( ), ennek a potenciálisan rosszindulatú gépnek az IP-címe 600 másodpercre letiltásra kerül.