A brute force támadások végleges megállítása SSH kulcsokkal

SSH kulcsok használata – miért jobb, mint jelszó?
Az informatikai biztonság kérdése ma már nem pusztán technikai részlet, hanem üzleti alapfeltétel. Egy szerver, egy VPS vagy akár egy dedikált gép védelme nem ér véget a tűzfal beállításánál vagy az operációs rendszer frissítésénél. A belépési pontok biztonsága kulcskérdés. Az egyik leggyakoribb hiba, amit még mindig látni lehet, a hagyományos jelszavas SSH bejelentkezés használata. Pedig létezik egy sokkal biztonságosabb és elegánsabb megoldás: az SSH kulcsos hitelesítés.
Az 1b.hu infrastruktúrájában és az általam üzemeltetett rendszereknél alapértelmezett gyakorlat, hogy a jelszavas SSH belépést teljesen kikapcsoljuk, és kizárólag kulcsalapú hitelesítést használunk. Nem divatból, hanem mert ez ma már szakmai minimum.
A jelszavas hitelesítés gyenge pontjai
A jelszavak évtizedek óta velünk vannak, és bár egyre bonyolultabb követelményekkel próbáljuk őket erősebbé tenni, az alapvető probléma megmarad: ember által generált, ember által megjegyzett karakterláncokról beszélünk. Az emberek pedig kiszámíthatók.
Hiába használunk hosszú és komplex jelszavakat, a brute force és dictionary támadások folyamatosan próbálkoznak. Egy internetre nyitott SSH port gyakorlatilag perceken belül automatikus próbálkozások célpontjává válik. A naplófájlokban jól látható a több ezer sikertelen bejelentkezési kísérlet, különböző felhasználónevekkel.
Ráadásul a jelszó kiszivároghat. Adathalászat, keylogger, újrahasznosított jelszavak, kompromittált eszközök – a lista hosszú. Egy jelszó, még ha erős is, mindig egyetlen faktor. Ha megszerzik, a hozzáférés azonnali.
Mi az az SSH kulcs, és hogyan működik?
Az SSH kulcsos hitelesítés aszimmetrikus kriptográfián alapul. Két kulcs létezik: egy privát és egy publikus. A publikus kulcs a szerveren kerül tárolásra, a privát kulcs pedig a kliens gépen marad, szigorúan védve.
Amikor csatlakozunk egy szerverhez, a szerver egy kriptográfiai kihívást küld, amelyet csak a megfelelő privát kulccsal lehet helyesen aláírni. A privát kulcs soha nem hagyja el a kliens gépet. A szerver nem kér jelszót, nem továbbít érzékeny adatot a hálózaton, hanem matematikai bizonyíték alapján dönt a hozzáférésről.
Ez az alapvető különbség: nem egy titkos karakterláncot küldünk át, hanem bizonyítjuk, hogy birtokában vagyunk a megfelelő kulcsnak.
Biztonsági előnyök, amelyek számítanak
Az SSH kulcsok egyik legnagyobb előnye a brute force támadások elleni védelem. Mivel nincs jelszó, amit próbálgatni lehetne, a támadások jelentős része értelmetlenné válik. Ha a jelszavas hitelesítést letiltjuk, a szerver gyakorlatilag immunissá válik az automatikus jelszópróbálkozásokkal szemben.
A kulcs hossza és komplexitása nagyságrendekkel meghaladja egy ember által megjegyezhető jelszó erősségét. Egy 4096 bites RSA kulcs vagy egy modern ED25519 kulcs olyan matematikai védelmet biztosít, amelyet reálisan nem lehet feltörni.
Az 1b.hu rendszereiben minden éles szerveren kizárólag kulcsos belépést engedélyezünk, és a root hozzáférést is erősen korlátozzuk. Ez nem csupán technikai elegancia, hanem felelősségteljes üzemeltetés.
Kényelem és automatizálás
Sokan azt gondolják, hogy az SSH kulcs használata bonyolultabb, pedig a gyakorlatban éppen az ellenkezője igaz. Miután egyszer beállítottuk a kulcsot, a belépés gyorsabb és kényelmesebb lesz. Nem kell jelszót gépelni, nem kell attól tartani, hogy elrontjuk.
Fejlesztői és DevOps környezetben ez különösen fontos. Automatizált deployment, CI/CD pipeline, Git műveletek, távoli script futtatás – ezek mind stabil és biztonságos hitelesítést igényelnek. A kulcsalapú belépés erre lett kitalálva.
Az ssh-agent és a megfelelő kulcskezelés lehetővé teszi, hogy egyszer hitelesítsük magunkat, és utána biztonságosan dolgozzunk több szerveren is. Ez hatékonyságot és kontrollt ad.
Többlépcsős védelem és passphrase
Egy gyakori kérdés, hogy mi történik, ha ellopják a privát kulcsot. A válasz: ezért használunk passphrase-t. A privát kulcs titkosítható egy jelszóval, így még ha a fájl illetéktelen kezekbe kerül is, önmagában nem használható.
Ez gyakorlatilag kétfaktoros védelem: szükség van a kulcsfájlra és a hozzá tartozó jelszóra. Ha ezt kombináljuk tűzfalbeállításokkal, fail2ban rendszerrel és IP-alapú korlátozásokkal, a támadási felület minimálisra csökkenthető.
Az 1b.hu által kezelt szervereken minden kulcs passphrase-sel védett, és a hozzáférések dokumentáltak. Nincs megosztott jelszó, nincs „küldd át chaten” típusú megoldás. Minden hozzáférés személyre szabott és visszakövethető.
Jogosultságkezelés és kontroll
A kulcsos rendszer másik nagy előnye a finomhangolt jogosultságkezelés. Egy adott felhasználóhoz több kulcs is rendelhető, és bármelyik kulcs egyszerűen visszavonható anélkül, hogy más hozzáféréseket érintenénk.
Ha egy munkatárs távozik, nem kell globális jelszócserét végrehajtani. Egyszerűen töröljük az ő publikus kulcsát az authorized_keys fájlból, és a hozzáférése azonnal megszűnik.
Ez üzleti környezetben kritikus. A jelszavas megoldásoknál gyakran előfordul, hogy egy közös jelszót többen ismernek. Ez auditálhatatlan és veszélyes. A kulcsos rendszer ezzel szemben transzparens és professzionális.
Modern szabvány, nem opció
Ma már nem kérdés, hogy komoly üzemeltetési környezetben az SSH kulcs használata alapelvárás. A jelszavas belépés legfeljebb ideiglenes, tesztkörnyezetben elfogadható, de éles rendszeren kockázatot jelent.
A digitális infrastruktúra érték. Weboldalak, adatbázisok, ügyféladatok, üzleti rendszerek futnak rajta. Egy kompromittált szerver nemcsak technikai hiba, hanem reputációs és pénzügyi kockázat is.
Az 1b.hu filozófiája mindig az volt, hogy a biztonság nem extra szolgáltatás, hanem alapértelmezett működési modell. Az SSH kulcsos hitelesítés ennek egyik legfontosabb eleme.
Összegzés: gondolkodásmód kérdése
Az SSH kulcsok használata nem pusztán technikai döntés, hanem szemlélet. Arról szól, hogy mennyire vesszük komolyan a rendszereink védelmét. A jelszó kényelmes, megszokott, de elavult. A kulcs biztonságosabb, strukturáltabb és professzionálisabb megoldás.
Ha valaki ma új szervert indít, az első lépések egyikének a jelszavas SSH kikapcsolásának kell lennie. A kulcs generálása néhány perc, a biztonsági előnye viszont hosszú távon felbecsülhetetlen.
A digitális térben nem az a kérdés, hogy lesz-e támadási kísérlet, hanem az, hogy amikor megtörténik, felkészültünk-e rá. Az SSH kulcs erre egy erős és bevált válasz.