Cryptology Academy · leksjon

Herding av SSH og beste praksis for revisjon

Bruk herding av sshd_config, rutiner for nøkkelrotasjon og revisjonslogging for å sikre SSH-distribusjoner.

Leksjon 4 av 413 trinn

Herding av SSH og beste praksis for revisjon er en gratis leksjon i Cryptology Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cryptology Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Deaktivere passordautentisering

Det mest effektive enkeltstående SSH-herdingstiltaket er å sette PasswordAuthentication no i /etc/ssh/sshd_config. Dette tvinger alle brukere til å autentisere seg med offentlige nøkler, og eliminerer risikoen ved svake eller gjenbrukte passord samt brute force-angrep. Det må sikres at minst én autorisert nøkkel er installert før passordautentisering deaktiveres, slik at ingen låses ute.

Begrense tillatte brukere og grupper

Direktivene AllowUsers og AllowGroups begrenser SSH-tilgang til navngitte brukere eller medlemmer av bestemte grupper. For eksempel tillater AllowGroups sshusers bare medlemmer av gruppen sshusers. Dette gir forsvar i dybden: Selv om en angriper kjenner et brukernavn og får tak i påloggingsinformasjon, nektes SSH-tilgang med mindre kontoen er uttrykkelig tillatt.

Endre standardporten

Å endre SSH fra port 22 til en port med høyt nummer er sikkerhet gjennom obskuritet, ikke sikkerhet i seg selv. Det reduserer imidlertid støyen i logger betydelig fra automatiserte skannere som målretter port 22. Dermed blir loggene enklere å analysere for reelle trusler. Oppretthold alltid brannmurregler som den primære tilgangskontrollen; skjuling av porten er bare et supplerende tiltak.

Deaktivere root-pålogging

Innstillingen PermitRootLogin no hindrer direkte root-autentisering via SSH. Angripere som retter seg mot root, har et garantert gyldig brukernavn og ubegrensede privilegier dersom de lykkes. Den anbefalte innstillingen er PermitRootLogin prohibit-password, som bare tillater root-pålogging med offentlig nøkkelautentisering. Dermed blokkeres root-angrep med brute force mot passord, samtidig som nødtilgang beholdes.

Begrense autentiseringsforsøk

MaxAuthTries 3 begrenser antallet autentiseringsforsøk per tilkobling til tre. Etter tre mislykkede forsøk avslutter serveren tilkoblingen. Dette bremser brute force-forsøk. Kombinert med eksponentiell backoff fra fail2ban eller SSHGuard, som midlertidig blokkerer IP-adresser etter gjentatte feil, blir brute force-angrep beregningsmessig ugjennomførbare.

Tidsstyring for pålogging

LoginGraceTime angir hvor lenge serveren venter på vellykket autentisering før tilkoblingen brytes. Standardverdien er 120 sekunder; ved å redusere den til 20 sekunder hindres langsomme brute force-forsøk, og ressursene som uautentiserte tilkoblinger holder beslaglagt, frigjøres raskere. ClientAliveInterval og ClientAliveCountMax styrer kontroller av tilkoblingens status, slik at inaktive eller døde økter kan kobles fra.

Begrense tillatte kryptografiske algoritmer

Moderne SSH-konfigurasjoner bør begrense algoritmene til sterke, moderne alternativer. I sshd_config skal Ciphers settes til chacha20-poly1305@openssh.com,aes256-gcm@openssh.com, MACs til hmac-sha2-256-etm@openssh.com og KexAlgorithms til curve25519-sha256. Dette fjerner eldre algoritmer som arcfour, DES og MD5-baserte MAC-er, som kan være tilgjengelige av hensyn til bakoverkompatibilitet.

Blokkering av brute force med fail2ban

fail2ban overvåker autentiseringslogger og blokkerer IP-adresser som overskrider en terskel for mislykkede påloggingsforsøk. Etter et konfigurerbart antall feil innenfor et tidsvindu legger fail2ban til en iptables-regel som forkaster videre pakker fra den aktuelle IP-adressen. Dette automatiserte svaret gjør brute force-angrep upraktiske uten manuell inngripen.

Revisjon med ssh-audit

Verktøyet ssh-audit kobler seg til en SSH-server og vurderer konfigurasjonen: hvilke nøkkelutvekslingsalgoritmer, vertsnøkkeltyper, chifre og MAC-er den tilbyr, samt foreldede eller svake alternativer. Ved å kjøre ssh-audit mot serverne før og etter herding får man en objektiv før-og-etter-vurdering og kan identifisere konfigurasjonsmangler.

Logging og tilgangsrevisjon

SSH-autentiseringshendelser logges via syslog. På Linux registrerer /var/log/auth.log (Debian) eller /var/log/secure (RHEL) hver vellykkede og mislykkede pålogging med tidsstempel, brukernavn, kilde-IP-adresse og fingeravtrykket til nøkkelen som ble brukt. Ved å sende disse loggene til en sentralisert SIEM-løsning kan man oppdage uvanlige tilgangsmønstre, for eksempel pålogginger fra uventede land eller på uvanlige tidspunkter.

Fullstendig eksempel på herdet konfigurasjon

En herdet sshd_config kombinerer: PasswordAuthentication no, PermitRootLogin prohibit-password, MaxAuthTries 3, LoginGraceTime 20, AllowGroups sshusers, begrensede Ciphers og MACs, X11Forwarding no og AllowTcpForwarding no (med mindre tunnelering er nødvendig). Hvert direktiv fjerner en bestemt angrepsvektor, og samlet gir de en SSH-konfigurasjon med forsvar i dybden.

Konfigurasjon for SSH-herding

Hvilken innstilling i sshd_config er mest effektiv for å eliminere brute force-angrep med passord mot SSH?

Oppsummering av SSH-herding

Sjekkliste for SSH-herding: deaktiver passordautentisering, begrens til AllowGroups/AllowUsers, deaktiver root-pålogging eller begrens den til kun nøkkelautentisering, sett MaxAuthTries 3, reduser LoginGraceTime, begrens algoritmene til kun moderne chifre, ta i bruk fail2ban eller SSHGuard, kjør ssh-audit for en objektiv vurdering og sentraliser logger for å oppdage avvik.

Gratis å komme i gang

Lær deg Cryptology Academy med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
67
Leksjoner
261

Ofte stilte spørsmål

Er leksjonen «Herding av SSH og beste praksis for revisjon» gratis?

Ja – hele teksten i «Herding av SSH og beste praksis for revisjon» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cryptology Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cryptology Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Herding av SSH og beste praksis for revisjon»?

Bruk herding av sshd_config, rutiner for nøkkelrotasjon og revisjonslogging for å sikre SSH-distribusjoner. Du øver på Cryptology Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Cryptology Academy?

Ingen tidligere erfaring er nødvendig. Cryptology Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Herding av SSH og beste praksis for revisjon»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Cryptology Academy-leksjonen?

Ja. Alle Cryptology Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. SSH-håndtrykk og autentisering med vertsnøkkel
  2. Autentisering med offentlig nøkkel og videresending av agent
  3. SSH-tunnelering og teknikker for portvideresending
  4. Herding av SSH og beste praksis for revisjon
← Tilbake til Cryptology Academy