SSH biztonságossá tétele Linux VPS-en
Egy nyilvános VPS perceken belül automatikus bejelentkezési kísérleteket kap. Az alábbi lépések jelentősen megnehezítik az SSH elleni támadásokat. Ubuntu és Debian rendszerhez készültek. Ha még nincs szervere, Linux VPS bérlése és tiszta rendszerképről indulhat. Ne zárja be a jelenlegi SSH-munkamenetet, amíg az új beállításokat egy második ablakból nem tesztelte.
1. Normál felhasználó létrehozása sudo jogosultsággal
adduser deploy
usermod -aG sudo deploy2. SSH-kulcsok használata jelszavak helyett
A saját számítógépén:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPKulccsal jelentkezzen be egyszer, hogy ellenőrizze a működését, mielőtt kikapcsolja a jelszavas bejelentkezést.
3. Jelszavas és root bejelentkezés letiltása
Hozza létre a /etc/ssh/sshd_config.d/99-hardening.conf fájlt:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Ellenőrizze a szintaxist, majd töltse újra a szolgáltatást. Ubuntu és Debian alatt a szolgáltatás neve ssh, RHEL-alapú rendszereken sshd:
sudo sshd -t && sudo systemctl reload sshNyisson meg egy második terminált, és jelentkezzen be újra. Csak ezután zárja be a régi munkamenetet.
4. Tűzfal engedélyezése
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseCsak a szükséges portokat nyissa meg, például 80-at és 443-at webszerver esetén. Az SSH-t a felhőkonzolban beállított tűzfalszabállyal a saját IP-címére is korlátozhatja.
5. Ismétlődő hibás belépések blokkolása Fail2bannel
sudo apt install -y fail2banHozza létre a /etc/fail2ban/jail.local fájlt:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. Biztonsági frissítések automatikus telepítése
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. Opcionális kiegészítések
- Az SSH-port módosítása csökkenti a naplózott zajt, de önmagában nem biztonsági intézkedés.
- Védje a privát kulcsot jelmondattal, és tartson róla biztonságos helyen biztonsági mentést.
- A bejelentkezéseket a
lastés asudo journalctl -u ssh --since todayparanccsal ellenőrizheti. - Amint a szerver beállítása kész, készítsen pillanatképet, hogy később tiszta kiindulási állapotot állíthasson vissza.
Ha kizárta magát, használja a felhőpanel böngészős konzolját a bejelentkezéshez és a konfiguráció javításához. A DDoS-védelemről szóló útmutatónk a következő védelmi réteggel foglalkozik.
Gyakran ismételt kérdések
Biztonságos letiltani a root bejelentkezést?
Igen, ha előbb létrehoz egy sudo felhasználót, és ellenőrzi, hogy annak kulcsa működik. Az adminisztratív parancsokat ezután is futtathatja sudo segítségével.
Szükségem van Fail2banre, ha csak kulcsokat használok?
Nem kötelező. Jelszavas bejelentkezés nélkül a brute force támadás nem járhat sikerrel, de a Fail2ban csökkenti a naplózott zajt és a terhelést.
Mit tegyek, ha elvesztettem az SSH-kulcsomat?
Használja a felhőpanel konzolját a bejelentkezéshez, adjon hozzá egy új nyilvános kulcsot a ~/.ssh/authorized_keys fájlhoz, majd törölje a régit.