merging and cleaning up
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
# fstab - Credentials sicher speichern
|
||||
|
||||
Zugangsdaten (Benutzername/Passwort) sollten nicht im Klartext in `/etc/fstab` stehen.
|
||||
|
||||
## Credentials-Datei verwenden
|
||||
|
||||
Viele Treiber wie `cifs` oder `smbfs` unterstützen separate Credential-Dateien.
|
||||
|
||||
### fstab-Eintrag
|
||||
|
||||
```fstab
|
||||
//server/share /mnt/share cifs credentials=/etc/samba/credentials,iocharset=utf8,uid=1000,gid=1000 0 0
|
||||
```
|
||||
|
||||
### Credentials-Datei erstellen
|
||||
|
||||
**/etc/samba/credentials:**
|
||||
```
|
||||
username=meinuser
|
||||
password=meinpasswort
|
||||
domain=meinedomain
|
||||
```
|
||||
|
||||
### Datei absichern
|
||||
|
||||
```bash
|
||||
sudo chmod 600 /etc/samba/credentials
|
||||
sudo chown root:root /etc/samba/credentials
|
||||
```
|
||||
|
||||
Nur root kann die Datei lesen, `/etc/fstab` enthält keine Secrets.
|
||||
|
||||
## Kernel Keyring nutzen
|
||||
|
||||
Für temporäre Mounts (z.B. bei CIFS):
|
||||
|
||||
```bash
|
||||
cifscreds add -u meinuser servername
|
||||
```
|
||||
|
||||
Dann kann der Mount in fstab ohne Passwort erfolgen - der Kernel holt die Daten aus dem Keyring.
|
||||
|
||||
**Hinweis:** Funktioniert hauptsächlich für interaktive Sessions, nicht für automatische Boot-Mounts.
|
||||
|
||||
## Systemd-Units verwenden
|
||||
|
||||
Statt `/etc/fstab` kann man systemd `.mount`-Units mit Credentials nutzen.
|
||||
|
||||
**Beispiel:** `/etc/systemd/system/mnt-share.mount`
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=SMB Share Mount
|
||||
|
||||
[Mount]
|
||||
What=//server/share
|
||||
Where=/mnt/share
|
||||
Type=cifs
|
||||
Options=credentials=/etc/samba/credentials,iocharset=utf8,uid=1000,gid=1000
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Aktivieren:
|
||||
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable mnt-share.mount
|
||||
sudo systemctl start mnt-share.mount
|
||||
```
|
||||
|
||||
## Kerberos-Authentifizierung
|
||||
|
||||
Für Netzwerke mit Active Directory oder Kerberos:
|
||||
|
||||
### NFS mit Kerberos
|
||||
|
||||
```fstab
|
||||
server:/export /mnt/nfs nfs sec=krb5,rw 0 0
|
||||
```
|
||||
|
||||
### CIFS mit Kerberos
|
||||
|
||||
```fstab
|
||||
//server/share /mnt/share cifs sec=krb5,multiuser,rw 0 0
|
||||
```
|
||||
|
||||
Keine Passwörter nötig - Authentifizierung über Kerberos-Tickets.
|
||||
|
||||
## Secrets-Management-Systeme
|
||||
|
||||
Für Produktivumgebungen mit höheren Sicherheitsanforderungen:
|
||||
|
||||
- **HashiCorp Vault** - zentrales Secrets-Management
|
||||
- **AWS Secrets Manager** - für Cloud-Umgebungen
|
||||
- **GPG-verschlüsselte Dateien** - lokal verschlüsselt
|
||||
|
||||
Beispiel mit GPG:
|
||||
|
||||
```bash
|
||||
# Credentials verschlüsselt speichern
|
||||
echo "username=user\npassword=pass" | gpg -e -r you@example.com > /etc/samba/credentials.gpg
|
||||
|
||||
# In Mount-Skript entschlüsseln
|
||||
gpg -d /etc/samba/credentials.gpg > /tmp/credentials
|
||||
mount -t cifs -o credentials=/tmp/credentials //server/share /mnt/share
|
||||
rm /tmp/credentials
|
||||
```
|
||||
|
||||
## Zusammenfassung
|
||||
|
||||
| Methode | Sicherheit | Komplexität | Anwendungsfall |
|
||||
|---------|-----------|-------------|----------------|
|
||||
| Credentials-Datei | Gut | Niedrig | Standard für CIFS/SMB |
|
||||
| Kernel Keyring | Mittel | Mittel | Interaktive Sessions |
|
||||
| Kerberos | Sehr gut | Hoch | Enterprise/AD-Umgebungen |
|
||||
| Systemd-Credentials | Sehr gut | Mittel | Moderne Systeme |
|
||||
| Secrets Manager | Sehr gut | Hoch | Produktivumgebungen |
|
||||
|
||||
**Empfehlung:** Für den Alltag ist eine separate Credentials-Datei mit restriktiven Rechten (600) der beste Kompromiss aus Sicherheit und Einfachheit.
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- [[Symlinks]] - Symbolische Links erstellen
|
||||
- [[Dateiberechtigungen]] - Dateien absichern mit chmod/chown
|
||||
- [[lsblk]] - Block-Geräte anzeigen
|
||||
Reference in New Issue
Block a user