SSH und gehärtet dokumentiert.
This commit is contained in:
parent
fba9297481
commit
5c1d93694d
1 changed files with 154 additions and 1 deletions
155
README.md
155
README.md
|
|
@ -133,4 +133,157 @@ Technisch noetig ist das bei statischer IP in Debian nicht zwingend.
|
||||||
Wenn du willst, gebe ich dir als naechstes direkt noch:
|
Wenn du willst, gebe ich dir als naechstes direkt noch:
|
||||||
- die **ersten Technitium-Schritte** fuer Zonen und Forwarder
|
- die **ersten Technitium-Schritte** fuer Zonen und Forwarder
|
||||||
oder
|
oder
|
||||||
- die **MikroTik-Umstellung**, sobald die DNS-VM bereit ist.
|
- die **MikroTik-Umstellung**, sobald die DNS-VM bereit ist.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Klar - hier ist eine saubere Zusammenfassung fuer die Doku.
|
||||||
|
|
||||||
|
# DNS-VM `dns-int01` - SSH- und sudo-Basissetup
|
||||||
|
|
||||||
|
## System
|
||||||
|
- Hostname: `dns-int01`
|
||||||
|
- IP: `10.100.20.49`
|
||||||
|
- OS: Debian 13
|
||||||
|
- Rolle: interne DNS-VM
|
||||||
|
- Zugriff vom Admin-Client aus `10.100.50.50`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ausgangslage
|
||||||
|
Beim ersten Test war der Benutzer `dns-int01` noch **nicht korrekt fuer sudo berechtigt**.
|
||||||
|
|
||||||
|
### Beobachtung
|
||||||
|
```bash
|
||||||
|
sudo -i
|
||||||
|
[sudo] Passwort für dns-int01:
|
||||||
|
'dns-int01' ist nicht in der sudoers-Datei.
|
||||||
|
```
|
||||||
|
|
||||||
|
Zusätzlich war ein direkter SSH-Login als `root` nicht möglich:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@10.100.20.49
|
||||||
|
Permission denied
|
||||||
|
```
|
||||||
|
|
||||||
|
Das ist grundsätzlich positiv zu bewerten, da Root-Login per SSH damit bereits nicht offen war.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Korrektur sudo
|
||||||
|
Danach wurde der Benutzer `dns-int01` erfolgreich fuer `sudo` nutzbar gemacht.
|
||||||
|
|
||||||
|
### Verifikation
|
||||||
|
Login als Benutzer:
|
||||||
|
```bash
|
||||||
|
ssh dns-int01@10.100.20.49
|
||||||
|
```
|
||||||
|
|
||||||
|
Anschliessend:
|
||||||
|
```bash
|
||||||
|
sudo -i
|
||||||
|
```
|
||||||
|
|
||||||
|
Ergebnis:
|
||||||
|
- Wechsel auf Root-Shell erfolgreich
|
||||||
|
- `sudo` funktioniert nun fuer `dns-int01`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SSH-Key-Login eingerichtet
|
||||||
|
Fuer den Benutzer `dns-int01` wurde der SSH-Key-Zugang vorbereitet.
|
||||||
|
|
||||||
|
### Durchgefuehrte Schritte
|
||||||
|
```bash
|
||||||
|
mkdir -p /home/dns-int01/.ssh
|
||||||
|
chmod 700 /home/dns-int01/.ssh
|
||||||
|
nano /home/dns-int01/.ssh/authorized_keys
|
||||||
|
chmod 600 /home/dns-int01/.ssh/authorized_keys
|
||||||
|
```
|
||||||
|
|
||||||
|
### Bedeutung
|
||||||
|
- Verzeichnis `.ssh` erstellt
|
||||||
|
- Berechtigungen korrekt gesetzt
|
||||||
|
- Public Key in `authorized_keys` hinterlegt
|
||||||
|
- Dateirechte fuer OpenSSH passend gesetzt
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SSH-Server-Konfiguration angepasst
|
||||||
|
Die SSH-Server-Konfiguration wurde bearbeitet:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo nano /etc/ssh/sshd_config
|
||||||
|
```
|
||||||
|
|
||||||
|
Danach wurde die Konfiguration validiert und neu geladen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo sshd -t
|
||||||
|
sudo systemctl reload ssh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ergebnis
|
||||||
|
- `sshd_config` syntaktisch gueltig
|
||||||
|
- SSH-Dienst erfolgreich neu geladen
|
||||||
|
- neue SSH-Einstellungen aktiv
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Funktionstest SSH-Key-Login
|
||||||
|
Nach der Anpassung wurde die Verbindung erneut getestet:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh dns-int01@10.100.20.49
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ergebnis
|
||||||
|
- Login funktionierte **ohne Passwortabfrage**
|
||||||
|
- damit ist der SSH-Key-Login erfolgreich eingerichtet
|
||||||
|
|
||||||
|
Das sieht man daran, dass beim letzten Verbindungsaufbau keine Passwortabfrage mehr erschien und die Sitzung direkt geöffnet wurde.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Aktueller Stand
|
||||||
|
## Erfolgreich umgesetzt
|
||||||
|
- Benutzer `dns-int01` kann `sudo` verwenden
|
||||||
|
- SSH-Zugriff auf `dns-int01` funktioniert
|
||||||
|
- Root-Login per SSH ist nicht erfolgreich
|
||||||
|
- SSH-Key-Authentifizierung fuer `dns-int01` funktioniert
|
||||||
|
- SSH-Konfiguration wurde geprüft und neu geladen
|
||||||
|
|
||||||
|
## Aktueller Betriebszustand
|
||||||
|
- administrativer Zugriff erfolgt ueber Benutzer `dns-int01`
|
||||||
|
- Privilegienerweiterung erfolgt mit `sudo`
|
||||||
|
- SSH-Zugriff per Key ist aktiv
|
||||||
|
- Passwortbasierter Login fuer den normalen Benutzer war zuvor noch moeglich, danach wurde Key-Login erfolgreich getestet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Empfohlene Doku-Notiz
|
||||||
|
## Admin-Zugriff auf `dns-int01`
|
||||||
|
- SSH nur ueber Benutzer `dns-int01`
|
||||||
|
- kein direkter Root-Login per SSH
|
||||||
|
- administrative Rechte ueber `sudo`
|
||||||
|
- SSH-Key fuer Admin-Zugriff eingerichtet
|
||||||
|
- SSH-Konfiguration nach Anpassung mit `sshd -t` validiert und per `systemctl reload ssh` aktiviert
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Sinnvolle naechste Schritte
|
||||||
|
Falls noch nicht erfolgt, fuer die Doku bzw. Umsetzung als naechstes festhalten:
|
||||||
|
|
||||||
|
1. `PasswordAuthentication no` in `sshd_config` final setzen, falls noch nicht bereits so konfiguriert
|
||||||
|
2. optional `PermitRootLogin no` explizit dokumentieren
|
||||||
|
3. Technitium DNS installieren
|
||||||
|
4. feste Netzkonfiguration und DNS-Rolle der VM dokumentieren
|
||||||
|
5. Backup- und Restore-Konzept fuer DNS-Konfiguration festlegen
|
||||||
|
|
||||||
|
Wenn du willst, formatiere ich dir das im naechsten Schritt noch direkt als:
|
||||||
|
|
||||||
|
- XWiki-Format
|
||||||
|
- Markdown
|
||||||
|
- oder als knappe Betriebsdokumentation mit "Ziel / Umsetzung / Verifikation / Offene Punkte".
|
||||||
Loading…
Add table
Add a link
Reference in a new issue