Sicherheit und Best Practices
Grundlagen der Git-Sicherheit
Die Sicherung von Git-Repositories ist von entscheidender Bedeutung für den Schutz sensibler Codebasis und die Aufrechterhaltung der Integrität bei der Zusammenarbeit. Dieser Abschnitt untersucht umfassende Sicherheitsstrategien und bewährte Verfahren.
Authentifizierung und Zugangssicherheit
Mehrstufige Authentifizierung (Multi-Factor Authentication - MFA)
graph TD
A[User Login] --> B{MFA Verification}
B --> |Successful| C[Repository Access]
B --> |Failed| D[Access Denied]
Empfohlene Authentifizierungsmethoden
Methode |
Sicherheitsstufe |
Implementierung |
SSH-Schlüssel (SSH Keys) |
Hoch |
Öffentlich/Privat-Schlüsselpaar |
Zwei-Faktor-Authentifizierung (Two-Factor Authentication) |
Sehr hoch |
Zusätzliche Verifizierung |
Persönliche Zugangstokens (Personal Access Tokens) |
Mittel |
Temporäre Anmeldeinformationen |
Sicherheitskonfiguration von Repositories
Verwaltung von SSH-Schlüsseln
## Generate secure SSH key
$ ssh-keygen -t ed25519 -C "[email protected]"
## Set strict key permissions
$ chmod 600 ~/.ssh/id_ed25519
$ chmod 644 ~/.ssh/id_ed25519.pub
Techniken zur Verstärkung von Berechtigungen
Einschränkung des Repository-Zugangs
## Limit repository read/write permissions
$ chmod 750 /path/to/repository
$ chown user:group /path/to/repository
Sicherheits-Best Practices
1. Prinzip des geringsten Privilegs
graph LR
A[User] --> B{Permission Scope}
B -->|Minimal Access| C[Secure Interaction]
B -->|Excessive Access| D[Potential Risk]
2. Regelmäßige Sicherheitsüberprüfungen
## Check repository access logs
$ git log --format='%an %ae' | sort | uniq
## Verify user permissions
$ git config --list
Fortgeschrittene Sicherheitskonfigurationen
Branch-Schutzregeln
## Protect critical branches
$ git branch -r | grep -v '\->' | \
sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | \
grep "origin/main" | \
xargs -I {} git branch --track "${{}#origin/}" {}
Verhinderung von Lecks von Zugangsdaten
- Verwenden Sie
.gitignore
für sensible Dateien.
- Implementieren Sie Git-secret oder ähnliche Tools.
- Vermeiden Sie das Committen von Zugangsdaten.
LabEx-Sicherheitsempfehlungen
LabEx betont proaktive Sicherheitsmaßnahmen und bietet fortschrittliche Tools zum Schutz von Repositories und zur Verwaltung des Zugangs.
Umfassende Sicherheitscheckliste
- Verwenden Sie starke Authentifizierungsmethoden.
- Implementieren Sie MFA.
- Rotieren Sie regelmäßig Zugangsdaten.
- Überwachen Sie den Repository-Zugang.
- Begrenzen Sie die Benutzerberechtigungen.
- Führen Sie regelmäßige Sicherheitsüberprüfungen durch.
Notfallreaktionsstrategien
## Revoke compromised SSH keys
$ ssh-keygen -R hostname
## Remove sensitive commits
$ git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch sensitive_file" \
--prune-empty --tag-name-filter cat -- --all