1. lépés: A szükséges csomagok telepítése
2. lépés: Az iptables beállítása a funkció használatához
3. lépés: Próbáljuk ki
Következtetés
Mostanra valószínűleg megváltoztatta az alapértelmezett SSH-portot. Ennek ellenére a hackerek könnyen átvizsgálhatják a porttartományokat, hogy felfedezzék azt a portot – de a port kopogtatásával megtévesztheti a portszkennereket. Úgy működik, hogy az SSH-kliens megkísérel csatlakozni egy sor porthoz, amelyek mindegyike megtagadja a kapcsolatot, de felold egy adott portot, amely lehetővé teszi a csatlakozást. Nagyon biztonságos és egyszerűen telepíthető. A portkopogtatás az egyik legjobb módja annak, hogy megvédje szerverét az illetéktelen SSH-csatlakozási kísérletektől.
Ez a cikk megtanítja Önnek, hogyan kell beállítani a port kopogtatását. Debian 7-re (Wheezy) írták, de működhet a Debian és az Ubuntu más verzióin is.
1. lépés: A szükséges csomagok telepítése
Feltételezem, hogy már telepített egy SSH-kiszolgálót. Ha még nem tette meg, futtassa a következő parancsokat rootként:
apt-get update
apt-get install openssh-server
apt-get install knockd
Ezután telepítse az iptables-t.
apt-get install iptables
Nem sok csomagot kell telepíteni – ez teszi tökéletes megoldást a brutális erők elleni védelemre, miközben könnyen telepíthető.
2. lépés: Az iptables beállítása a funkció használatához
Mivel az SSH-port bezárul a csatlakozás után, meg kell győződnünk arról, hogy a kiszolgáló lehetővé teszi, hogy kapcsolatban maradjon, miközben blokkolja a többi csatlakozási kísérletet. Hajtsa végre ezeket a parancsokat a kiszolgálón rootként.
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --destination-port 22 -j DROP
apt-get install iptables-persistent
iptables-save
Ez lehetővé teszi, hogy a meglévő kapcsolatok megmaradjanak, de bármi mást blokkoljon az SSH-porton.
Most állítsuk be a knockd-t.
Itt történik a varázslat – kiválaszthatja, hogy mely portokon kell először kopogtatnia. Nyisson meg egy szövegszerkesztőt a fájlhoz /etc/knockd.conf.
nano /etc/knockd.conf
Lesz egy szakasz, amely úgy néz ki, mint a következő blokk.
[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
tcpflags = syn
Ebben a részben módosíthatja a kopogtatandó portok sorrendjét. Egyelőre maradok port 7000, 8000, és 9000. Változás az seq_timeout = 5, hogy seq_timeout = 10, és a closeSSHrész, nem ugyanaz a seq_timeoutvonal. A closeSSHszakaszban van egy sorozatsor is, amelyet szintén módosítani kell.
Engedélyeznünk kell a knockd-t, tehát nyissa meg újra a szerkesztőt rootként.
nano /etc/default/knockd
Módosítsa a 0-t a részben START_KNOCKD1-re, majd mentse és lépjen ki.
Most kezdje kopogtatni:
service knockd start
Nagy! Minden telepítve van. Ha megszakítja a kapcsolatot a kiszolgálóval, a 7000-es, 8000-es és 9000-es porton kell kopogtatnia az újbóli csatlakozáshoz.
3. lépés: Próbáljuk ki
Ha mindent megfelelően telepített, akkor nem tud csatlakozni az SSH-kiszolgálóhoz.
Telnet kliens segítségével tesztelheti a port kopogtatását.
A Windows-felhasználók a parancssorból elindíthatják a telnetet. Ha a telnet nincs telepítve, nyissa meg a Vezérlőpult "Programok" részét, majd keresse meg a "Windows-szolgáltatások be- és kikapcsolása" lehetőséget. A funkciók panelen keresse meg a „Telnet Client” elemet, és engedélyezze.
Írja be a terminálba/parancssorba:
telnet youripaddress 7000
telnet youripaddress 8000
telnet youripaddress 9000
Tedd meg mindezt tíz másodperc alatt, mivel ez a konfigurációban meghatározott korlát. Most próbáljon meg csatlakozni a szerverhez SSH-n keresztül. Hozzáférhető lesz.
Az SSH-kiszolgáló bezárásához futtassa a parancsokat fordított sorrendben.
telnet youripaddress 9000
telnet youripaddress 8000
telnet youripaddress 7000
Következtetés
A portkopogtatás használatának legjobb része az, hogy ha a privát kulcs hitelesítésével együtt van beállítva, akkor gyakorlatilag nincs esély arra, hogy valaki más bejuthasson, hacsak valaki nem ismeri a portokat és a privát kulcsot.