phpMyAdmin schützen, soll nicht von außen ereichbar sein

phpMyAdmin schützen, soll nicht von außen ereichbar sein

von Friedi Reisdorf -
Anzahl Antworten: 3
Hallo,
Meine Umgebung:
ich setze Xampp v.1.5.3a auf einem Windows Server 2003 R2 für ca. 50 Leute produktiv ein (muss nur noch ein paar Monate durchhalten).

Mein Problem:
Jetzt habe gesehen das man auch von außen auf http://moodledomain/phpMyAdmin zugreifen kann.
Dachte bisher eigentlich das wäre nur für localhost konfiguriert.

Xampp wurde natürlich über http://localhost/security/ gesichert:
XAMPP-Seiten sind nicht über's Netzwerk erreichbar, MySQL Admin User "root" hat ein Passwort, PhpMyAdmin Passwort Schutz wurde aktiviert, Verzeichnisschutz usw.

ABER der Nutzer "pma" hat z. B. kein Kennwort und kann ziemlich viel sehen auf http://moodledomain/phpMyAdmin (+SHUTDOWN!). Wurde hier schon geschrieben:
http://www.apachefriends.org/f/viewtopic.php?t=9508&postdays=0&postorder=asc&highlight=phpmyadmin+pma&start=0
Aber das reicht mir noch nicht.

Meine Frage:

Wie kann ich die phpMyAdmin-Seite nach außen sperren, so das ich sie nur noch vom Server aus öffnen kann?
Mit einer .htaccess-Datei funktioniert es nicht, wie ich schon gelesen habe.

Will nämlich auch nicht das Bots die ganze Zeit meine phpMyAdmin öffnen und Passwörter durchprobieren, bzw. sich gleich mit "pma" anmelden.

Was kann ich noch machen, um Xampp produktiv abzusichern.

Vielen Dank für Eure Antworten Very Happy
Mittelwert:  -
Als Antwort auf Friedi Reisdorf

Re: phpMyAdmin schützen, soll nicht von außen ereichbar sein

von Maik Riecken -

XAMPP ist nicht für den produktiven Betrieb gedacht. Die eingebauten Sicherheitsmechanismen sind nicht für den Serverbetrieb abgestimmt und dafür m.E. absolut unzureichend. Deswegen würde ich einen Router zum Inet vorschalten und nur entsprechende und gebrauchte Ports weiterleiten. XAMPP lässt sich sonst nicht absichern. Es ist auf Featurereichtum nicht auf Sicherheit optimiert.

phpmyadmin schützt du mit einer .htaccess-Datei so, dass eine Passwortabfrage erforderlich ist, um auf phpmyadmin zuzugreifen. Dabei kannst du zwischen "innen" und "außen" sogar differenzieren. Näheres findest du in der Doku zu Apache.

Gruß,

Maik

Als Antwort auf Friedi Reisdorf

Re: phpMyAdmin schützen, soll nicht von außen ereichbar sein

von Hansueli Schwaninger -
Salü Fredi

Maik hats schon geschrieben, XAMPP im Internet Teufel

Hast du dem DB Account root ein Passwort definiert? Dringend erforderlich!
Wenn dies so ist, kannst du in der Konfigurationsdatei von phpMyAdmin so einstellen, dass immer ein Passwort gefragt wird.

In der aktuellen Version öffne config.inc.php im Verzeichnis phpMyAdmin:
Ändere auf Zeile 29 'cookie' zu 'http'
$cfg['Servers'][$i]['auth_type'] = 'http';
lösch alle Passwörter in dieser Datei, z.B. in den Zeilen
$cfg['Servers'][$i]['password'] = ' xxx';
$cfg['Servers'][$i]['controlpass'] = 'xxx';
und speichere die Datei.

Jetzt musst du einfach immer ein Benutzername und Passort eingeben, auch lokal.

Gruss

Hansueli
Als Antwort auf Hansueli Schwaninger

Re: phpMyAdmin schützen, soll nicht von außen ereichbar sein

von Friedi Reisdorf -
Hallo,

danke fürs schnelle Antworten.

Wir haben auch einen Router+Firewall davor, Port 80 (für http- Authentifizierung lässt sich aber schlecht abschalten).

Die Authentifizierung steht bereits auf http (sonst könnte ja keiner, wie ich schrieb, Root-Kennwörter über das Netz durchprobieren - Root hat wie ich auch schrieb ein Passwort, Bruteforce knackt aber irgendwann jedes Passwort).

Die Lösung (für alle die auch mal dieses Problem haben werden):

D:\xampp\apache\conf\extra\httpd-xampp.conf muss wie folgt geändert werden:

Code:


Alias /phpmyadmin "D:/xampp/phpMyAdmin/"
<Directory "D:/xampp/phpMyAdmin">
AllowOverride AuthConfig
#Order allow,deny
#Allow from all
Order Deny,Allow
Deny from all
Allow from SERVERIP123
</Directory>


LG Friedi