Sikre Linux-serveren din
En sjekkliste for SSH-herding og brannmur som gjelder de fleste distribusjoner (Ubuntu, Debian, RHEL, CentOS og andre).
ADVARSEL
Hold en SSH-økt åpen mens du gjør endringer, og ha Konsoll for serveren klar i Flux som reserve. En dårlig SSH-konfigurasjon låser deg ute.
1. Herde SSH-daemonen
Rediger /etc/ssh/sshd_config:
sudo vi /etc/ssh/sshd_configFlytt SSH til en ikke-standard port
Port 24073Velg en hvilken som helst ledig port mellom 1025 og 65535. En annen port enn standard reduserer brute-force-støyen.
Deaktiver root-pålogging
PermitRootLogin noTIPS
Sørg for at du har en bruker som ikke er root, med sudo-rettigheter, før du slår av dette.
Deaktiver passordautentisering (kun nøkkelpålogging)
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM yesADVARSEL
Test at pålogging med SSH-nøkkel fungerer før du gjør dette. Bruk en ekstra SSH-økt for å verifisere at du fortsatt kan logge inn.
Begrens hvem som kan logge inn
Per bruker:
AllowUsers yourusernameEller per gruppe:
AllowGroups sshusersDeaktiver tomme passord
PermitEmptyPasswords noBegrens autentiseringsforsøk
MaxAuthTries 3
LoginGraceTime 30Aktiver konfigurasjonen
Valider først, og last deretter inn på nytt:
sudo sshd -t
sudo systemctl reload ssh # Debian / Ubuntu
sudo systemctl reload sshd # RHEL / CentOSHvis sshd -t rapporterer en feil, fiks den før du laster inn på nytt – å laste inn en ødelagt konfigurasjon kan kaste ut aktive økter.
2. Bruk sterk nøkkelbasert autentisering
Generer en moderne nøkkel på arbeidsstasjonen din:
ssh-keygen -t ed25519 -a 100Unngå RSA-1024 og RSA-2048. Bruk ed25519, eller RSA 4096 bare hvis du trenger legacy-kompatibilitet.
Stram inn rettighetene på serversiden når nøkkelen din er installert:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys3. Legg en host-brannmur foran
Åpne bare SSH-porten (den du valgte over) og det serveren faktisk leverer.
UFW (Debian / Ubuntu)
sudo apt install ufw
sudo ufw allow 24073/tcp
sudo ufw enablefirewalld (RHEL / CentOS / Fedora)
sudo firewall-cmd --permanent --add-port=24073/tcp
sudo firewall-cmd --reloadBegrens til en kjent kilde-IP
Hvis du har en VPN (se WireGuard eller Tailscale), snevre inn brannmurregelen til kildeadressen til VPN-en, slik at SSH bare kan nås derfra.
UFW:
sudo ufw allow from YOUR.VPN.IP.ADDRESS to any port 24073
sudo ufw enablefirewalld:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="YOUR.VPN.IP.ADDRESS" port protocol="tcp" port="24073" accept'
sudo firewall-cmd --reload4. Utover det grunnleggende
Vurder å legge til, omtrent i denne rekkefølgen:
- Automatiske sikkerhetsoppdateringer (
unattended-upgradespå Debian/Ubuntu,dnf-automaticpå RHEL/CentOS). - Fail2ban for å blokkere hoster som feiler SSH-autentisering gjentatte ganger.
- Tofaktor for SSH med
libpam-google-authenticatoreller maskinvarenøkler viaOpenSSH 8.2+. - Sentralisert logging (rsyslog → ekstern server, eller
journalctl --upload) slik at en kompromittert host ikke kan slette sporene sine. - Jevnlige host-key-revisjoner med
ssh-auditfor å fange opp utdaterte algoritmer.
TIPS
Hvis serveren også kan nås på IPv6 (som Gigahost-servere er som standard), gjenta brannmurreglene i IPv6-kjeden. UFW gjør dette automatisk når du kjører ufw allow, men eksplisitte ip6tables-regler må dupliseres.

