Eine Datenbank ist nur so sicher wie ihre Konfiguration. In diesem Kapitel geht es um wichtige Maßnahmen, die du im Alltag anwenden solltest.

🔹 Minimale Benutzerrechte

👉 Grundsatz: So wenig Rechte wie möglich.
  • Nur SELECT für Reporting-Benutzer.
  • Keine DROP- oder ALTER-Rechte für normale Anwendungen.
Beispiel:
CREATE USER 'readonly'@'localhost' IDENTIFIED BY 'starkespw';
GRANT SELECT ON shopdb.* TO 'readonly'@'localhost';

🔹 Absicherung gegen SQL-Injection

SQL-Injection entsteht, wenn Benutzereingaben ungefiltert in SQL-Befehle gelangen. Best Practice: Prepared Statements in Anwendungen nutzen. Beispiel (PHP):
$stmt = $pdo->prepare("SELECT * FROM kunden WHERE email = ?");
$stmt->execute([$email]);

🔹 Rollen in MariaDB

Statt Rechte einzeln zu vergeben, kannst du Rollen anlegen:
CREATE ROLE report_role;
GRANT SELECT ON kursdb.* TO report_role;
GRANT report_role TO 'report'@'localhost';

🔹 Passwort-Policy

MariaDB kann Passwortstärke prüfen (abhängig von Version). Empfehlung:
  • Mind. 12 Zeichen
  • Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen
  • Regelmäßige Rotation

🔹 Übung

  1. Lege einen Benutzer statistik mit einer Rolle report_role an.
  2. Gib ihm nur SELECT-Rechte.
  3. Überprüfe die Zuweisung mit SHOW GRANTS.

✅ Zusammenfassung

  • Minimale Rechte für alle Benutzer.
  • Schutz vor SQL-Injection durch Prepared Statements.
  • Rollen vereinfachen Rechteverwaltung.
  • Starke Passwörter sind Pflicht.

📚 Inhaltsverzeichnis

👉 MariaDB Kapitel 1: Einführung & Installation im Terminal 👉 MariaDB Kapitel 2: Benutzer & Rechteverwaltung 👉 MariaDB Kapitel 3: Tabellen sauber anlegen (Primär- & Fremdschlüssel) 👉 MariaDB Kapitel 4: Grundbefehle & Kurzschreibweisen in der MariaDB-Konsole 👉 MariaDB Kapitel 5: CRUD-Befehle  – Daten einfügen, lesen, ändern und löschen 👉 MariaDB Kapitel 6: Primär- und Fremdschlüssel – Tabellen verknüpfen 👉 MariaDB Kapitel 7: Profi-Abfragen mit JOIN, GROUP BY & Aggregatfunktionen 👉 MariaDB Kapitel 8: Indexe, Views & Transaktionen 👉 MariaDB Kapitel 9: Produktivbetrieb – Sicherheit, Backups & Verwaltung 👉 MariaDB Kapitel 10: Abschlussprojekt – Ein Mini-Shop

⭐ Bonus-Kapitel Ideen

👉 MariaDB Kapitel 11: Stored Procedures – Automatisierte Abläufe 👉 MariaDB Kapitel 12: Trigger – Aktionen bei Änderungen 👉 MariaDB Kapitel 13: Events – Zeitgesteuerte Aufgaben 👉 MariaDB Kapitel 14: Sicherheit & Best Practices 👉 MariaDB Kapitel 15: Performance-Tuning & Optimierung