OTOthoTools

sshd Validator

Beoordeel SSH-hardening
Invoer
Resultaat1 bevindingen
  • Geen kritiek probleem gevonden

Inleiding

De sshd Validator leest een geplakte sshd_config en controleert vijf instellingen die de meest voorkomende oorzaken van een zwakke SSH-houding zijn: rootlogin, lege wachtwoorden, wachtwoordauthenticatie, authenticatiepogingen en X11-forwarding.

Het doel is niet om één SSH-ideologie op te leggen — het is om instellingen zichtbaar te maken die samen bepalen of een aanvaller kan brute-forcen, of een legitieme gebruiker zichzelf kan buitensluiten.

Doel

  • Detecteer PermitRootLogin-waarden die directe rootlogin toestaan.
  • Detecteer ingeschakelde PermitEmptyPasswords, die accounts zonder wachtwoord toestaat.
  • Waarschuw wanneer PasswordAuthentication ingeschakeld blijft, zodat toegang via sleutels wordt aanbevolen.
  • Markeer MaxAuthTries boven 4 en ingeschakelde X11Forwarding zonder aangetoonde noodzaak.

Invoerwaarden

  • Een plaksel van /etc/ssh/sshd_config (of de uitvoer van sshd -T).
  • Commentaarregels en lege regels worden genegeerd; de eerste waarde per sleutel wint.

Hoe het werkt

Het hulpmiddel parseert elke regel in een sleutel en waarde (hoofdletterongevoelig), waarbij de eerste voorkomst van elke sleutel wordt bewaard — net zoals sshd zijn standaardbestand toepast.

Vervolgens vergelijkt het elke relevante sleutel met de verwachting na hardening: permitrootlogin moet no zijn, permitemptypasswords moet no zijn, passwordauthentication hoort no te zijn, maxauthtries moet 4 of minder zijn en x11forwarding hoort no te zijn.

Rootlogin en lege wachtwoorden worden als hoge ernst behandeld omdat ze de twee belangrijkste barrières tegen externe compromittering wegnemen. De overige controles zijn waarschuwingen omdat de ideale waarde van uw omgeving afhangt.

Testbaar voorbeeld

Probeer het — de analyse draait lokaal in uw browser.

Voorbeeld

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
MaxAuthTries 4
X11Forwarding no

Verwachte uitvoer

PermitRootLogin no — OK.
PermitEmptyPasswords no — OK.
PasswordAuthentication no — OK.
MaxAuthTries 4 — OK.
X11Forwarding no — OK.
Resultaat: geen kritiek probleem gevonden.

De uitvoer lezen

  • Een hoge bevinding betekent dat een instelling het systeem actief verzwakt; corrigeer deze nadat u uw toegangspad hebt bevestigd (een sudo-gebruiker met een werkende sleutel).
  • Een waarschuwing is een aanbeveling — het uitschakelen van wachtwoordauthenticatie is bijvoorbeeld pas veilig nadat login via sleutels is geverifieerd.
  • Test altijd met een tweede open SSH-sessie voordat u sshd herlaadt: systemctl reload ssh (of service ssh reload).

Risico's

  • Het uitschakelen van wachtwoordauthenticatie terwijl er geen sleutel is geconfigureerd, kan u buitensluiten van de server.
  • PermitRootLogin yes nodigt uit tot gerichte brute force op het meest waardevolle account van de machine.
  • Het wijzigen van sshd_config zonder een tweede open sessie is de klassieke manier om externe toegang te verliezen.

Beperkingen

  • Het hulpmiddel leest alleen geplakte tekst; het leest uw echte configuratiebestand niet.
  • Het controleert een handvol instellingen, geen volledige SSH-audit.
  • Het kan geen verkeerd geconfigureerde authenticatiemethoden, zwakke hostkeys of SSH-agentproblemen detecteren.

Officiële referenties

FAQ

Is het uitschakelen van wachtwoordauthenticatie altijd juist?

Voor internetgerichte servers vrijwel altijd — maar alleen nadat u login via sleutels vanuit een tweede sessie hebt geverifieerd. In sommige beheerde omgevingen moet u wachtwoordauth voor een bastion aanhouden.

Wat is een veilige MaxAuthTries-waarde?

CIS-richtlijn beveelt 4 of minder aan. Lagere waarden vertragen brute force, maar kunnen legitieme gebruikers met verkeerd geconfigureerde agents irriteren.

Controleert dit mijn echte sshd_config?

Nee — alleen de tekst die u plakt. De echte bron van waarheid is /etc/ssh/sshd_config plus eventuele bestanden onder /etc/ssh/sshd_config.d/, die u met sshd -T kunt combineren.