Kako osigurati novi Linux VPS: SSH ključevi, firewall i ažuriranja

Kako osigurati novi Linux VPS: SSH ključevi, firewall i ažuriranja
Linux

Kako osigurati novi Linux VPS: SSH ključevi, firewall i ažuriranja

Osam praktičnih koraka za novi Linux VPS: ažuriranja, sudo korisnik, prijava SSH ključem, firewall, Fail2ban, automatska ažuriranja i backup.

Prije nego što počnete

Novi VPS dostupan je s cijelog interneta već nakon nekoliko minuta, a automatizirani skeneri gotovo odmah počinju pogađati SSH lozinke. Koraci u nastavku traju petnaestak minuta i zatvaraju najčešće načine upada. Naredbe su navedene za Debian i Ubuntu, a za AlmaLinux i Rocky Linux tamo gdje se razlikuju.

Dok mijenjate postavke SSH-a, ostavite trenutnu SSH sesiju otvorenom i svaku promjenu provjerite iz drugog prozora. Ako se ikad zaključate, upotrijebite VPS konzolu u MAXKO panelu.

1. Ažurirajte sustav

# Debian / Ubuntu
apt update && apt upgrade -y

# AlmaLinux / Rocky Linux
dnf upgrade -y

Ako je ažurirana jezgra (kernel), ponovno pokrenite server.

2. Izradite korisnika za svakodnevni rad

Stalni rad kao root svaku pogrešku čini opasnijom. Izradite vlastitog korisnika sa sudo ovlastima (zamijenite maxko svojim imenom):

# Debian / Ubuntu
adduser maxko
usermod -aG sudo maxko

# AlmaLinux / Rocky Linux
adduser maxko
passwd maxko
usermod -aG wheel maxko

3. Prijavljujte se SSH ključem

Ključevi su puno sigurniji od lozinki. Na svojem računalu (Linux, macOS ili Windows PowerShell) izradite par ključeva:

ssh-keygen -t ed25519 -C "vi@example.com"

Kopirajte javni ključ na server:

ssh-copy-id maxko@203.0.113.10

Na Windowsima bez naredbe ssh-copy-id dodajte sadržaj datoteke %USERPROFILE%\.ssh\id_ed25519.pub kao novi redak u ~/.ssh/authorized_keys novog korisnika na serveru, zatim pokrenite chmod 700 ~/.ssh i chmod 600 ~/.ssh/authorized_keys.

Otvorite novi prozor i provjerite prijavljuje li vas ssh maxko@203.0.113.10 bez traženja lozinke servera.

4. Isključite prijavu lozinkom i prijavu kao root

Ovo napravite tek kada prijava ključem radi. Otvorite postavke SSH servera:

sudo nano /etc/ssh/sshd_config

Postavite ove retke (po potrebi uklonite # ispred njih):

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no

Datoteke u /etc/ssh/sshd_config.d/ mogu nadjačati te vrijednosti, pa ih provjerite naredbom grep -r PasswordAuthentication /etc/ssh/sshd_config.d/. Zatim provjerite konfiguraciju i ponovno pokrenite SSH:

sudo sshd -t
# Debian / Ubuntu
sudo systemctl restart ssh
# AlmaLinux / Rocky Linux
sudo systemctl restart sshd

Prijavu provjerite iz drugog prozora prije nego što zatvorite prvi.

5. Uključite firewall

Dopustite samo usluge koje stvarno koristite. Na Debianu i Ubuntuu najjednostavniji je UFW:

sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw status

Na AlmaLinuxu i Rocky Linuxu upotrijebite firewalld:

sudo dnf install firewalld -y
sudo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-service=ssh --add-service=http --add-service=https
sudo firewall-cmd --reload

Izostavite 80 i 443 (http i https) ako na serveru nema web stranice.

6. Blokirajte ponovljene pokušaje prijave uz Fail2ban

Fail2ban prati SSH zapise i privremeno blokira adrese koje uporno ne uspijevaju s prijavom.

# Debian / Ubuntu
sudo apt install fail2ban -y

# AlmaLinux / Rocky Linux (iz EPEL-a)
sudo dnf install epel-release -y
sudo dnf install fail2ban -y

Izradite datoteku /etc/fail2ban/jail.local sa sadržajem:

[sshd]
enabled = true
maxretry = 5
bantime = 1h

Na Debianu 12 u isti odjeljak dodajte redak backend = systemd, jer se ondje SSH zapisi spremaju u systemd journal. Zatim pokrenite Fail2ban i provjerite stanje:

sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

7. Automatski instalirajte sigurnosna ažuriranja

# Debian / Ubuntu
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

# AlmaLinux / Rocky Linux
sudo dnf install dnf-automatic -y

Na AlmaLinuxu i Rocky Linuxu postavite apply_updates = yes u datoteci /etc/dnf/automatic.conf i uključite timer naredbom sudo systemctl enable --now dnf-automatic.timer.

8. Redovito radite sigurnosne kopije

Sigurnost znači i brz oporavak. Redovito spremajte kopije podataka i konfiguracije na drugu lokaciju, ne samo na isti server. Vodič Kako planirati backup za hosting račun objašnjava kako postaviti jednostavan plan.

Sljedeći koraci

Tek ste naručili server? Pročitajte Prvi koraci nakon narudžbe VPS servera. Ako se SSH ne pokrene nakon nove instalacije Debiana 12, pogledajte Kako popraviti SSH nakon instalacije Debian 12.