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.