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.

×