MariaDB ist eine weit verbreitete relationale Datenbank, die in Web-Stacks als sichere und performante Alternative zu MySQL eingesetzt wird. Die richtige Konfiguration von Benutzern, Rechten und Sicherheitsparametern ist essenziell, um unbefugten Zugriff, Datenverlust oder Manipulation zu verhindern. In diesem Leitfaden lernen Einsteiger, IT-Studierende und Junior Network Engineers praxisnah, wie MariaDB sicher eingerichtet wird.
MariaDB Installation und erster Zugriff
Die Installation erfolgt über die Paketmanager des jeweiligen Linux-Systems. Danach sollte ein sicherer erster Zugriff eingerichtet werden.
# Ubuntu/Debian
sudo apt update
sudo apt install mariadb-server mariadb-client
# CentOS/RHEL
sudo yum install mariadb-server mariadb
# Dienst starten und aktivieren
sudo systemctl start mariadb
sudo systemctl enable mariadb
# MariaDB sichern
sudo mysql_secure_installation
Root-Benutzer konfigurieren
Nach der Installation sollte das Root-Konto abgesichert werden. Standardmäßig kann es ohne Passwort aufgerufen werden, was ein Sicherheitsrisiko darstellt.
sudo mysql -u root
# Passwort setzen
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StarkesPasswort!';
# Root-Zugriff von Remote verhindern
UPDATE mysql.user SET Host='localhost' WHERE User='root';
FLUSH PRIVILEGES;
Benutzer und Rechte
Für jede Anwendung sollte ein eigener Benutzer mit minimalen Rechten angelegt werden.
Neuen Benutzer anlegen
CREATE USER 'webapp'@'localhost' IDENTIFIED BY 'SicheresPasswort!';
GRANT SELECT, INSERT, UPDATE, DELETE ON webapp_db.* TO 'webapp'@'localhost';
FLUSH PRIVILEGES;
Remote-Zugriff einschränken
Nur spezifische IPs sollten Zugriff auf die Datenbank erhalten:
CREATE USER 'replica'@'192.168.250.50' IDENTIFIED BY 'ReplPasswort!';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.250.50';
FLUSH PRIVILEGES;
Sichere Konfiguration in my.cnf
Die Datei /etc/mysql/mariadb.conf.d/50-server.cnf oder /etc/my.cnf enthält die Serverkonfiguration.
Wichtige Sicherheitsparameter
bind-address = 127.0.0.1– Datenbank nur lokal verfügbar machenskip-symbolic-links– Verhindert Zugriff auf symbolische Linkssql_mode = STRICT_ALL_TABLES– Strikte SQL-Prüfung für Datenintegritätlocal_infile = 0– Deaktiviert LOAD DATA LOCAL INFILEskip_name_resolve = 1– IP-Adressen statt Hostnames für Berechtigungen
Passwort- und Authentifizierungsrichtlinien
Starke Passwörter und Hashing sichern Datenbankkonten gegen Angriffe.
SET GLOBAL validate_password_policy=STRONG;
SET GLOBAL validate_password_length=12;
SET GLOBAL validate_password_mixed_case_count=1;
SET GLOBAL validate_password_number_count=1;
SET GLOBAL validate_password_special_char_count=1;
Logging und Auditing
Überwachung von Zugriffen und Änderungen erhöht die Sicherheit und erleichtert Troubleshooting.
[mysqld]
general_log = 1
general_log_file = /var/log/mysql/general.log
log_error = /var/log/mysql/error.log
log_warnings = 2
Backups und Wiederherstellung
Regelmäßige Backups schützen vor Datenverlust und ermöglichen schnelle Wiederherstellung.
# Vollbackup
mysqldump -u root -p webapp_db > webapp_db_backup.sql
# Wiederherstellung
mysql -u root -p webapp_db < webapp_db_backup.sql
Netzwerk- und Subnetzplanung
Für Remote-Server und Replikation ist eine saubere Subnetzplanung essenziell.
IPv4 Subnetz
<math>
Server-IP = 192.168.250.10/24
Subnetzadresse = 192.168.250.10 & 255.255.255.0 = 192.168.250.0
Broadcastadresse = 192.168.250.0 | ~255.255.255.0 = 192.168.250.255
</math>
IPv6 Subnetz
<math>
Server-IP = 2001:db8:abcd:250::10/64
Subnetzadresse = 2001:db8:abcd:250:: & ffff:ffff:ffff:ffff:: = 2001:db8:abcd:250::0
Broadcastadresse = 2001:db8:abcd:250:ffff:ffff:ffff:ffff
</math>
Best Practices
- Root-Zugriff nur lokal erlauben
- Für jede Anwendung separate Benutzer mit minimalen Rechten
- Starke Passwörter und Passwort-Policy durchsetzen
- Remote-Zugriff nur für spezifische IPs erlauben
- Logging aktivieren für Fehler und Zugriffe
- Regelmäßige Backups und Test der Wiederherstellung
- SQL-Modus auf strict setzen zur Datenintegrität
- Symbolische Links deaktivieren (
skip-symbolic-links) - Subnetzplanung für Replikation und Multi-Server-Setups
- Regelmäßige Updates für MariaDB und OS
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











