Kuidas SSH-d Linux VPS-il turvata
Avalik VPS saab automaatseid sisselogimiskatseid mõne minuti jooksul pärast käivitamist. Need sammud muudavad SSH-le rünnakud oluliselt raskemaks. Juhised on kirjutatud Ubuntule või Debianile; kui server pole veel loodud, võid rentida Linux VPS-i ja alustada puhtast pildist. Hoia praegune SSH-seanss avatuna, kuni oled uued seaded teisest aknast testinud.
1. Loo tavaline kasutaja sudo-õigustega
adduser deploy
usermod -aG sudo deploy2. Kasuta parooli asemel SSH-võtmeid
Oma arvutis:
ssh-keygen -t ed25519 -C "you@example.com"
ssh-copy-id deploy@YOUR_SERVER_IP
ssh deploy@YOUR_SERVER_IPLogi enne parooli väljalülitamist üks kord võtmega sisse, et veenduda, et see töötab.
3. Keela parooliga ja root-kasutajana sisselogimine
Loo fail /etc/ssh/sshd_config.d/99-hardening.conf:
PasswordAuthentication no
PermitRootLogin no
PubkeyAuthentication yes
MaxAuthTries 3Kontrolli süntaksit ja laadi teenus uuesti. Teenus on Ubuntul ja Debianil nimega ssh, RHEL-põhistel süsteemidel nimega sshd:
sudo sshd -t && sudo systemctl reload sshAva teine terminal ja logi uuesti sisse. Alles siis sulge vana seanss.
4. Lülita sisse tulemüür
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verboseAva ainult vajalikud pordid, näiteks veebiserveri jaoks 80 ja 443. Võid SSH-ligipääsu piirata ka oma IP-aadressiga, lisades reegli pilveplatvormi konsoolis.
5. Blokeeri korduvad ebaõnnestumised Fail2bani abil
sudo apt install -y fail2banLoo fail /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 5
findtime = 10m
bantime = 1hsudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd6. Paigalda turvavärskendused automaatselt
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades7. Valikulised lisad
- SSH-pordi muutmine vähendab logimüra, kuid ei ole iseseisev turvameede.
- Kaitse privaatvõtit paroolifraasiga ja hoia selle varukoopiat turvalises kohas.
- Vaata sisselogimisi käsuga
lastjasudo journalctl -u ssh --since today. - Tee snapshot, kui server on seadistatud, et saaksid puhta algseisu taastada.
Kui oled välja lukustatud, kasuta sisselogimiseks ja konfiguratsiooni parandamiseks pilveplatvormi paneeli brauseri konsooli. Järgmist kaitsekihti kirjeldab meie DDoS-kaitse juhend.
Korduma kippuvad küsimused
Kas root-sisselogimise keelamine on ohutu?
Jah, kui oled enne loonud sudo-kasutaja ja testinud tema võtit. Administratiivseid käske saab endiselt käivitada käsuga sudo.
Kas Fail2ban on vajalik, kui kasutan ainult võtmeid?
See on valikuline. Kui parooliga sisselogimine on keelatud, ei õnnestu jõuga ründamine, kuid Fail2ban vähendab logimüra ja koormust.
Mis juhtub, kui kaotan SSH-võtme?
Logi paneeli konsoolist sisse, lisa uus avalik võti faili ~/.ssh/authorized_keys ja eemalda vana.