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

BedrohungBeschreibungBeispiel
SQL InjectionAngreifer injiziert SQL via User-Input' OR 1=1 --
Privilege EscalationLow-Privilege-Account gewinnt Admin-RechteExploit unpatched DBMS-Bug
Credential TheftDB-Credentials geleakt oder brute-forcedAWS-Keys in public Git-Repo
Insider ThreatAutorisierter User missbraucht AccessEngineer dumpt Customer-Table
Backup TheftUnverschlüsseltes Backup geleaktS3-Bucket-Misconfiguration
RansomwareDB encrypted vom Angreifer; Ransom gefordertMongoDB exposed to Internet
Data ExfiltrationBulk-Export sensitiver DatenInsider exportiert User-Emails
DoS / Resource ExhaustionAngreifer überlädt DBSlow 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

PatternUse CaseNotes
HashingPasswörterbcrypt/argon2
EncryptionPII-FelderApplication-Level oder Column-Level
TokenizationCredit-Card-NummernPCI-Scope-Reduktion
PseudonymizationAnalyticsIDs durch Surrogates ersetzen
MaskingTest/Dev-Environments***-***-1234
Row-Level SecurityMulti-Tenant-SaaSDB 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.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.

×