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
- Lege einen Benutzer
statistik mit einer Rolle report_role an.
- Gib ihm nur SELECT-Rechte.
- Ü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