1.4 - SSH hærdning og verfikation
ℹ️ Information¶
Formålet med denne øvelse er at hærde SSH-konfigurationen på jumphosten, så password-login deaktiveres, og kun offentlig nøgle accepteres.
Øvelsen har fokus på korrekt konfigurationsmetode og verifikation af den effektive SSH-konfiguration.
🛠️ Deløvelser – SSH-hærdning og verifikation¶
1️⃣ Hærdning: Deaktivér password-login i SSH (Match all)¶
På Ubuntu kan SSH-konfigurationen blive overskrevet af inkluderede filer i
/etc/ssh/sshd_config.d/, herunder cloud-init-konfigurationer.
Derfor må password-login ikke deaktiveres direkte i /etc/ssh/sshd_config alene.
I stedet oprettes en dedikeret hardening-konfigurationsfil, som eksplicit overskriver alle tidligere indstillinger ved hjælp af "Match all".
-
Opret en ny SSH-hardening-fil:
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf -
Indsæt følgende indstillinger i filen:
-
Gem filen og afslut editoren.
Denne konfiguration vil overstyre eventuelle modstridende indstillinger, herunder dem der er sat af cloud-init (fx 50-cloud-init.conf).
🔄 2️⃣ Aktivér ændringer: Genstart SSH-tjenesten¶
- Genstart SSH-tjenesten for at aktivere ændringerne:
sudo systemctl restart ssh
🔎 3️⃣ Verifikation: Kontrollér effektiv SSH-konfiguration¶
-
Verificér den effektive SSH-konfiguration:
sudo sshd -T | egrep -i "passwordauthentication|kbdinteractiveauthentication"
Forventet output:
🔄 4️⃣ Genindlæsning: Sikr at ændringer er aktivt anvendt¶
- Genstart SSH-tjenesten på jumphosten:
sudo systemctl restart ssh
🚫 5️⃣ Kontroltest: Verificér at password-login afvises¶
I dette trin skal du dokumentere, at SSH-adgang med password er deaktiveret, og at kun offentlig nøgle accepteres.
-
Test login med offentlig nøgle (skal virke):
ssh -p 2222 bruger@<OPNsense_WAN_IP>Du skal kunne logge ind uden at blive spurgt om password. -
Afbryd forbindelsen igen.
-
Tving SSH til at forsøge password-login fra PowerShell:
ssh -p 2222 -o PreferredAuthentications=password bruger@<OPNsense_WAN_IP> -
Observer resultatet.
Forventet resultat:
- SSH afviser forbindelsen
- Du får enten beskeden: "Permission denied (publickey)."
Dette dokumenterer, at password-login er deaktiveret, og at jumphosten kun accepterer login via offentlig nøgle.
Når denne øvelse er gennemført, er password-login deaktiveret på jumphosten, og SSH-adgang er udelukkende baseret på offentlig nøgle.
Konfigurationen er både implementeret og verificeret.
I næste øvelse (1.5) vurderes arkitekturen og de anvendte sikkerhedstiltag ud fra et systemsikkerhedsperspektiv.