Database Security: Bedrohungen, Best Practices, Encryption
Database Security ist die Praxis, Daten at Rest und in Transit zu schützen. Encryption, Access Control, Auditing, Backups.
Was ist Database Security?
Database Security ist die Disziplin, Datenbanken, und die Daten, die sie speichern, vor unautorisiertem Zugriff, Modifikation, Löschung und Exfiltration zu schützen. Es kombiniert technische Controls (Encryption, Access Control, Network-Isolation), operative Praktiken (Backups, Audit-Logs, Patching) und Policy.
Database-Breaches gehören zu den schädlichsten Security-Incidents: der 2017 Equifax-Breach (147M Records), 2019 First American (885M Records) und laufende Ransomware-Angriffe entstanden alle auf der Daten-Layer.
Häufige Database-Security-Bedrohungen
| Bedrohung | Beschreibung | Beispiel |
|---|---|---|
| SQL Injection | Angreifer injiziert SQL via User-Input | ' OR 1=1 -- |
| Privilege Escalation | Low-Privilege-Account gewinnt Admin-Rechte | Exploit unpatched DBMS-Bug |
| Credential Theft | DB-Credentials geleakt oder brute-forced | AWS-Keys in public Git-Repo |
| Insider Threat | Autorisierter User missbraucht Access | Engineer dumpt Customer-Table |
| Backup Theft | Unverschlüsseltes Backup geleakt | S3-Bucket-Misconfiguration |
| Ransomware | DB encrypted vom Angreifer; Ransom gefordert | MongoDB exposed to Internet |
| Data Exfiltration | Bulk-Export sensitiver Daten | Insider exportiert User-Emails |
| DoS / Resource Exhaustion | Angreifer überlädt DB | Slow Queries fluten Connection-Pool |
Die 8 Säulen von Database Security
1. Authentication
Starke Credentials für jeden DB-User. Keine geteilten Accounts.
2. Authorization (Least Privilege)
Jeder DB-User sollte nur Permissions für das haben, was er tatsächlich tut.
3. Encryption at Rest
Disk-Level-Encryption (AWS RDS Encryption, TDE in SQL Server/Oracle).
4. Encryption in Transit
TLS für alle DB-Connections.
5. Network-Isolation
DB nie direkt internet-accessible. In Private Subnet platzieren.
6. Audit-Logging
Alle sensitiven Queries loggen.
7. Patching
DB-Engine- + OS-Patches prompt anwenden.
8. Backups + DR
Regelmäßige verschlüsselte Backups. Restores quartalsweise testen.
SQL Injection: die #1-Bedrohung
# SCHLECHT, vulnerable
query = f"SELECT * FROM users WHERE email = '{user_input}'"
cursor.execute(query)
# GUT, parameterized
query = "SELECT * FROM users WHERE email = %s"
cursor.execute(query, (user_input,))Sensitive Daten-Handling
| Pattern | Use Case | Notes |
|---|---|---|
| Hashing | Passwörter | bcrypt/argon2 |
| Encryption | PII-Felder | Application-Level oder Column-Level |
| Tokenization | Credit-Card-Nummern | PCI-Scope-Reduktion |
| Pseudonymization | Analytics | IDs durch Surrogates ersetzen |
| Masking | Test/Dev-Environments | ***-***-1234 |
| Row-Level Security | Multi-Tenant-SaaS | DB enforced Tenant-Isolation |
Database-Security Best Practices
- Alle Queries parametrisieren.
- Least-Privilege DB-User.
- Encryption at Rest + in Transit.
- Keine DB auf public Internet.
- IAM-Auth nutzen.
- Credentials rotieren.
- Audit + Alert.
- Patches monatlich.
- Backup encrypted.
- Prod von Dev separieren.
- Blast-Radius limitieren.
- Failed Logins monitoren.
Compliance-Frameworks die Datenbanken betreffen
- GDPR: EU-Daten.
- HIPAA: US-Healthcare.
- PCI-DSS: Cardholder-Data.
- SOC 2: Service-Org-Controls.
- ISO 27001: Info-Security-Management.
- CCPA/CPRA: California-Consumer-Data.
FAQ: Database Security
Wie verhindere ich SQL Injection?
Parametrisierte Queries nutzen. ORMs nutzen.
Sollte ich DB-Felder auf App- oder DB-Layer verschlüsseln?
Beide haben Merit. PII oft beides.
Was ist der Unterschied zwischen Encryption at Rest und in Transit?
At Rest = on Disk. In Transit = on Network. Beide compliance-required.
Wie oft sollten DB-Credentials rotieren?
Long-lived: alle 90 Tage max. Besser: kurzlebige IAM-Tokens.
Kann ich meine Datenbank dem Internet exponieren?
Fast nie. In Private Subnet platzieren.
Was ist Row-Level Security?
DB-Feature, das Rows basierend auf User-Context filtert.
Wie detektiere ich einen Database-Breach?
Audit-Logs + Anomaly-Detection.
Testen Sie die Sicherheit Ihrer DB-backed API mit LoadFocus
LoadFocus läuft JMeter- und k6-Scripts, die Auth-Flows, Injection-Patterns und konkurrente Last gegen DB-backed APIs aus 25+ Regionen simulieren. Registrieren bei loadfocus.com/signup.
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um, derselben Plattform, die alles antreibt, was du gerade gelesen hast.