Az SSH egy széles körben használt protokoll, amelyet a Linux szerverek biztonságos elérésére használnak. A legtöbb felhasználó alapértelmezett beállításokkal rendelkező SSH-kapcsolatokat használ a távoli kiszolgálóhoz való csatlakozáshoz. A nem biztonságos alapértelmezett konfigurációk azonban különféle biztonsági kockázatokat is rejtenek magukban.
A nyílt SSH-hozzáféréssel rendelkező kiszolgáló root fiókja veszélyben lehet. És különösen, ha nyilvános IP-címet használ, sokkal könnyebb feltörni a root jelszót. Ezért szükséges az SSH biztonságának ismerete.
Így biztosíthatja az SSH-kiszolgáló kapcsolatait Linuxon.
1. A root felhasználói bejelentkezés letiltása
Ehhez először tiltsa le a root felhasználó SSH hozzáférését és hozzon létre egy új felhasználót root jogosultságokkal. A root felhasználó szerver hozzáférésének letiltása olyan védekezési stratégia, amely megakadályozza, hogy a támadók elérjék céljukat, vagyis behatoljanak a rendszerbe. Például létrehozhat egy nevű felhasználót példagyökér alábbiak szerint:
useradd -m exampleroot
passwd exampleroot
usermod -aG sudo exampleroot
Íme egy rövid magyarázat a fent említett parancsokhoz:
- useradd létrehoz egy új felhasználót és a -m paraméter létrehoz egy mappát a itthon a létrehozott felhasználó könyvtárában.
- Az passwd parancs jelszó hozzárendelésére szolgál az új felhasználóhoz. Ne feledje, hogy a felhasználókhoz rendelt jelszavaknak összetettnek és nehezen kitalálhatónak kell lenniük.
- usermod -aG sudo hozzáadja az újonnan létrehozott felhasználót az adminisztrátori csoporthoz.
A felhasználó létrehozása után néhány változtatást kell végrehajtani a sshd_config fájlt. Ezt a fájlt itt találja meg /etc/ssh/sshd_config. Nyissa meg a fájlt bármely szövegszerkesztővel, és hajtsa végre a következő módosításokat:
# Hitelesítés:
#LoginGraceTime 2 perc
PermitRootLogin sz
AllowUsers exampleroot
PermitRootLogin sor megakadályozza, hogy a root felhasználó távoli hozzáférést kapjon SSH használatával. Beleértve példagyökér ban,-ben AllowUsers lista biztosítja a szükséges engedélyeket a felhasználónak.
Végül indítsa újra az SSH szolgáltatást a következő paranccsal:
sudo systemctl indítsa újra az ssh-t
Ha ez nem sikerül, és hibaüzenetet kap, próbálja ki az alábbi parancsot. Ez a használt Linux disztribúciótól függően eltérő lehet.
sudo systemctl indítsa újra az sshd-t
2. Az alapértelmezett port módosítása
Az alapértelmezett SSH csatlakozási port a 22. Természetesen ezt minden támadó tudja, ezért az SSH biztonsága érdekében módosítani kell az alapértelmezett portszámot. Bár a támadó könnyen megtalálja az újat portszám egy Nmap szkenneléssel, itt a cél a támadó dolgának megnehezítése.
A portszám módosításához nyissa meg /etc/ssh/sshd_config és végezze el a következő módosításokat a fájlban:
Tartalmazza /etc/ssh/sshd_config.d/*.conf
5922-es port
E lépés után indítsa újra az SSH szolgáltatást a következővel: sudo systemctl indítsa újra az ssh-t. Most már elérheti a szervert az imént meghatározott port használatával. Ha tűzfalat használ, ott is el kell végeznie a szükséges szabálymódosításokat. Futás közben a netstat -tlpn parancsot, láthatja, hogy az SSH portszáma megváltozott.
3. Blokkolja a hozzáférést az üres jelszavakkal rendelkező felhasználók számára
Lehetnek olyan felhasználók a rendszerén, akik nem rendelkeznek jelszóval, és amelyeket véletlenül hozott létre. Annak megakadályozására, hogy az ilyen felhasználók hozzáférjenek a szerverekhez, beállíthatja a PermitEmptyPasswords sor értéke a sshd_config fájlba nem.
PermitEmptyPasswords sz
4. A bejelentkezési/hozzáférési kísérletek korlátozása
Alapértelmezés szerint annyi jelszó megadásával férhet hozzá a szerverhez, amennyit csak akar. A támadók azonban felhasználhatják ezt a sérülékenységet a kiszolgáló brutális kényszerítésére. Automatikusan leállíthatja az SSH kapcsolat bizonyos számú próbálkozás után a megengedett jelszókísérletek számának megadásával.
Ehhez változtassa meg a MaxAuthTries érték a sshd_config fájlt.
MaxAuthTries 3
5. SSH 2-es verzió használata
Az SSH második verziója az első verzió számos sebezhetősége miatt jelent meg. Alapértelmezés szerint engedélyezheti a szerver számára a második verzió használatát, ha hozzáadja a Jegyzőkönyv paramétert az Ön számára sshd_config fájlt. Így minden jövőbeni kapcsolata az SSH második verzióját fogja használni.
Tartalmazza /etc/ssh/sshd_config.d/*.conf
2. jegyzőkönyv
6. A TCP port továbbítás és az X11 továbbítás kikapcsolása
A támadók SSH-kapcsolatokon keresztüli porttovábbítással próbálhatnak hozzáférni a többi rendszerhez. Ennek megelőzése érdekében kikapcsolhatja a TcpForwarding engedélyezése és X11 Továbbítás funkciók a sshd_config fájlt.
X11 Továbbítási sz
AllowTcpForwarding sz
7. Csatlakozás SSH kulccsal
A szerverhez való csatlakozás egyik legbiztonságosabb módja az SSH-kulcs használata. Ha SSH-kulcsot használ, jelszó nélkül is hozzáférhet a szerverhez. Ezenkívül teljesen kikapcsolhatja a jelszóhoz való hozzáférést a szerverhez a jelszóval kapcsolatos paraméterek módosításával a sshd_config fájlt.
Amikor létrehoz egy SSH-kulcsot, két kulcs létezik: Nyilvános és Magán. A nyilvános kulcs feltöltődik arra a szerverre, amelyhez csatlakozni kíván, és a privát kulcsot a számítógép tárolja, amelyen a kapcsolatot létrehozza.
Hozzon létre egy SSH-kulcsot a ssh-keygen parancsot a számítógépén. Ne hagyja el a Jelszó üres mezőt, és emlékezzen az itt megadott jelszóra. Ha üresen hagyja, csak az SSH-kulcsfájllal érheti el. Ha azonban beállít egy jelszót, megakadályozhatja, hogy a kulcsfájllal rendelkező támadók hozzáférjenek. Példaként létrehozhat egy SSH-kulcsot a következő paranccsal:
ssh-keygen
8. IP-korlátozások az SSH-kapcsolatokhoz
A tűzfal legtöbbször saját szabványának megfelelő keretrendszerek segítségével blokkolja a hozzáférést, és célja a szerver védelme. Ez azonban nem mindig elég, és növelni kell ezt a biztonsági potenciált.
Ehhez nyissa meg a /etc/hosts.allow fájlt. A fájl kiegészítéseivel korlátozhatja az SSH-engedélyt, engedélyezhet egy adott IP-blokkot, vagy megadhat egyetlen IP-címet, és letilthatja az összes többi IP-címet a deny paranccsal.
Az alábbiakban néhány mintabeállítást láthat. Ezek elvégzése után a változtatások mentéséhez a szokásos módon indítsa újra az SSH szolgáltatást.
A Linux szerverbiztonság fontossága
Az adat- és adatbiztonsági kérdések meglehetősen részletesek, és minden szerveradminisztrátornak figyelembe kell vennie őket. A szerverek biztonsága nagyon érzékeny kérdés, mivel a támadások középpontjában a webszerverek állnak, és szinte minden információt tartalmaznak a rendszerről. Mivel a legtöbb szerver Linux infrastruktúrán fut, nagyon fontos ismerni a Linux rendszert és a szerveradminisztrációt.
Az SSH biztonság csak az egyik módja a szerverek védelmének. A támadás leállításával, blokkolásával vagy lassításával minimálisra csökkenthető az okozott sebzés. Az SSH biztonság biztosításán kívül számos különböző módszert is bevezethet a Linux-kiszolgálók védelmére.