Serveri esmane turvamine¶
Uue serveri esimesed sammud määravad, kui turvaline see edaspidi on. See juhend katab põhilise kõvenduse (hardening) Ubuntu/Debiani serveris.
Eeltingimused
- Värske server juurkasutaja ligipääsuga
- SSH-võti seadistatud (tee see esimesena!)
1. Uuenda süsteem¶
sudo apt update && sudo apt upgrade -y Lülita sisse automaatsed turvauuendused:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades 2. Loo tavakasutaja (ära tööta root-ina)¶
adduser siim
usermod -aG sudo siim Kopeeri SSH-võti uuele kasutajale ja kontrolli, et sisselogimine töötab, enne kui root-i sisselogimise keelad.
3. Kõventa SSH¶
Muuda /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes Kontrolli enne taaskäivitust
Veendu teises terminaliaknas, et saad tavakasutajaga võtmega sisse logida, enne kui SSH taaskäivitad. Muidu lukustad end välja.
sudo systemctl restart ssh Vaheta SSH-port (valikuline)
Pordi vahetamine vähendab automaatsete botide müra (pole päris turve, aga aitab):
Port 2222 Ära unusta uut porti tulemüüris avada ja ~/.ssh/config-is määrata. 4. Seadista tulemüür (UFW)¶
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH # või 'sudo ufw allow 2222/tcp' kui vahetasid pordi
sudo ufw allow 80,443/tcp # veebiserver
sudo ufw enable Kontrolli olekut:
sudo ufw status verbose Hetzneri Cloud Firewall
Hetzneril on ka eraldi pilvepõhine tulemüür (Cloud Console). Saad kasutada mõlemat — pilve-tulemüür blokeerib liikluse juba enne serverit.
5. Paigalda fail2ban¶
fail2ban blokeerib IP-d, mis proovivad parooliga sisse murda:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban Loo /etc/fail2ban/jail.local:
[sshd]
enabled = true
maxretry = 3
bantime = 1h
findtime = 10m Taaskäivita ja kontrolli:
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd 6. Lisaseaded¶
- Eemalda mittevajalikud teenused:
sudo systemctl list-units --type=service - Ajasünk: veendu, et
systemd-timesyncdvõichronytöötab. - Logimine: kaalu logide saatmist eraldi serverisse (nt Graylog), et need serveri rikke korral alles jääksid.
Pärast seadistust kontrolli
- Logi uuesti sisse uue tavakasutaja võtmega.
- Veendu, et root-i sisselogimine on keelatud:
ssh root@<ip>peab tõrkuma. - Vaata, et veebisait/teenused töötavad pärast tulemüüri sisselülitamist.
Kontroll-loend¶
- Süsteem uuendatud, automaatuuendused sees
- Tavakasutaja loodud, root-i sisselogimine keelatud
- SSH paroolisisselogimine keelatud
- UFW tulemüür sees, ainult vajalikud pordid avatud
- fail2ban töötab
- Üle kontrollitud, et teenused töötavad