Sicherheit ist ein ständig präsentes und immer weiter an Bedeutung gewinnendes Thema, auch und gerade bei kleinen Webadmins.

Damit die eigene Webseite nicht durch Angriffe auf die darunterliegende Datenbank kompromitiert wird, ist auch dieses Interface abzusichern.

Grundlegende Schritte dazu sind:

1. Standard-URL verändern:
Dazu ist die Datei /etc/apache2/conf.d/phpmyadmin.conf anzupassen.
Hier muss die Zeile Alias /phpmyadmin /usr/share/phpmyadmin entsprechend angepasst werden Alias /secure /usr/share/phpmyadmin

2. Login für Root verbieten:
Dazu ist die Datei /etc/phpmyadmin/config.inc.php anzupassen.
Am Ende der Datei ist die Zeile $cfg['Servers'][$i]['auth_type'] = ‘cookie’; zu aktivieren (Auskommentierung entfernen).
Weiterhin ist eine zusätzliche Zeile einzufügen $cfg['Servers'][$i]['AllowRoot'] = FALSE;

3. einen neuen „nicht-Standard“ Admin anlegen:
Im phpMyAdmin einen neuen User anlegen und alle höheren Rechte zuordnen.

phpMyAdmin new User

4. sofern möglich den Zugriff auf bestimmte IPs einschränken:
Im Dateisystem im Ordner phpmyadmin eine .htaccess anlegen mit dem Inhalt: allow from 100.110.120.130

5. Firewall für Port 3306 aktivieren:
Auf Port 3306 „hört“ der MySQL-Dienst und sollte aus dem Internet möglichst nicht erreichbar sein. Handelt es sich bei der Installation um einen All-in-One-System, muss der Port von keinem anderen Computer erreichbar sein. Sollen vorgelagerte Webserver auf diese Datenbank zugreifen können ist besten an der Firewall die IP/Range nur zu erlauben.

Bei den meisten zusätzlichen Firewalls müssen Ausnahmen aktiv konfiguriert werden, daher ist hier i.d.R. gar nichts zu tun. Steht das System ungeschützt im Internet, sollte mindestens eine Software-Firewall (z.B.: iptables –> HowTo) eingerichtet sein, um die Angriffsfläche zu minimieren.

6. Interface per SSL-Zertifikat absichern:
Hier reicht schon ein selbstausgestelltes Zertifikat. Dies Sicherheitsmeldung muss einmalig bestätigt werden. Bei einem (Man-In-The-Middle) MITM gibt es eine Abweichung und eine erneute Wahrnung, sodass dies trotzdem auffällt.

Das Thema SSL-Zertifikate unter Apache wird in diesen Artikeln weiterführend beleuchtet:

Share