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

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

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

Postby apache@w2k3 » 24. January 2008 13:05

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://domain/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://domain/phpMyAdmin (+SHUTDOWN!). Wurde hier schon geschrieben:
http://community.apachefriends.org/f/viewtopi ... ma&start=0

Meine Frage:
Aber das reicht mir noch nicht. 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, habe ich hier schon gelesen.

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

PS: Was kann ich noch machen um Xampp für produktiv abzusichern (weis ja eigentlich nur zum testen :roll: ).

Vielen Dank für Eure Antworten :D
Last edited by apache@w2k3 on 24. January 2008 14:13, edited 1 time in total.
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49

Postby Wiedmann » 24. January 2008 13:14

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,

Wieso nicht? Ein simples:
Code: Select all
Order Deny,Allow
Deny from all
Allow from localhost

sollte doch tun.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby apache@w2k3 » 24. January 2008 14:12

Hallo Wiedmann,
ich finde das Thema hier leider nicht mehr, es wurde aber so ungefähr gesagt das die User erst nach dem einloggen ausgewertet werden, oder irgendwas in der Art.

Ich habe jetzt die Datei .htaccess in C:\xampp\phpMyAdmin erstellt, leider kommt dann folgender fehler beim aufruf vom Server:

Code: Select all
Serverfehler!
Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist. Der Server ist entweder überlastet oder ein Fehler in einem CGI-Skript ist aufgetreten.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.

Error 500
localhost
01/24/08 14:03:55
Apache/2.2.2 (Win32) mod_ssl/2.2.2 OpenSSL/0.9.8b mod_autoindex_color PHP/5.1.4


Muss sonst noch was rein?
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49

Postby Wiedmann » 24. January 2008 14:17

Error 500

Was steht im "error.log"?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby apache@w2k3 » 24. January 2008 14:36

Oh bitte entschuldige, warum hab ich nicht selbst dran gedacht...

Error.log
Code: Select all
[Thu Jan 24 14:03:55 2008] [alert] [client 127.0.0.1] C:/xampp/phpMyAdmin/.htaccess: order not allowed here


Access.log
Code: Select all
SERVERIP - - [24/Jan/2008:14:03:41 +0100] "GET /phpmyadmin/main.php?token=d71b7df2356831e10391115f959e00a1 HTTP/1.1" 500 1237
SERVERIP - - [24/Jan/2008:14:03:45 +0100] "GET /phpmyadmin/ HTTP/1.1" 500 1237
127.0.0.1 - - [24/Jan/2008:14:03:55 +0100] "GET /phpmyadmin/ HTTP/1.1" 500 1221



In dem anderen Thread hier (den ich hoffentlich noch finde), habe ich übrigens auch was von Fehler 500 gelesen.
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49

Postby Wiedmann » 24. January 2008 14:42

order not allowed here

Wie genau ist denn der "<Directory>"-Abschnitt für das Verzeichnis "C:/xampp/phpMyAdmin" in deiner Apache Konfigurationsdatei definiert?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby apache@w2k3 » 24. January 2008 14:53

Müsste eigentlich alles Xampp standard sein.

In der httpd.conf auf dem Produktiv-System steht:

<Directory "D:/xampp/htdocs">

Habe dort die Datei .htaccess natürlich auc in D:\xampp\phpMyAdmin erstellt.

Wenn ich http://localhost/phpMyAdmin eingebe wohin leitet er dann eigentlich weiter? Direkt zu D:\xampp\phpMyAdmin, unter den htdocs gibts nichts in der Art was man mit der .htaccess-Datei sichern könnte
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49

Postby Wiedmann » 24. January 2008 15:00

In der httpd.conf auf dem Produktiv-System steht:
Code: Select all
<Directory "D:/xampp/htdocs">

Das wäre der "<Directory>"-Abschnitt für das Verzeichnis "D:/xampp/htdocs".

Gefragt war aber nach dem Abschnitt für das Verzeichnis "C:/xampp/phpMyAdmin". Und dann, was genau zwischen "<Directory 'C:/xampp/phpMyAdmin'>" und "</Directory>" steht.

(IMHO steht das in einer anderen Konfigurationsdatei im Extra-Ordner)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby apache@w2k3 » 24. January 2008 15:13

Wiedmann wrote:(IMHO steht das in einer anderen Konfigurationsdatei im Extra-Ordner)


Ah jetzt hab ich´s in der D:\xampp\apache\conf\extra\httpd-xampp.conf steht:

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


Also einfach Allow from all ändern in Allow from localhost? Reicht das?
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49

Postby Wiedmann » 24. January 2008 15:20

Also einfach Allow from all ändern in Allow from localhost? Reicht das?

Du kannst jetzt entweder:
a) bei "AllowOverride" das "AuthConfig" ändern in "All" und deine ".htaccess"-Datei benutzen.

b) oder die 2 Zeilen mit "Order ..." und "Allow ..." komplett ersetzten durch meine 3 Zeilen von oben, und auf die ".htaccess"-Datei verzichten.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby apache@w2k3 » 24. January 2008 15:24

Wiedmann wrote:
Also einfach Allow from all ändern in Allow from localhost? Reicht das?

Du kannst jetzt entweder:
a) bei "AllowOverride" das "AuthConfig" ändern in "All" und deine ".htaccess"-Datei benutzen.

b) oder die 2 Zeilen mit "Order ..." und "Allow ..." komplett ersetzten durch meine 3 Zeilen von oben, und auf die ".htaccess"-Datei verzichten.


OK, das hört sich sehr gut an, vielen Dank dafür schonmal.

Die Frage ist aber welche Konsequenzen hat a) oder b) glaubst Du es könnten Probleme auftreten der Benutzer "pma" und mein selbstangelegter Benutzer müssten doch dann eigentlich keine Probleme haben, oder?
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49

Postby Wiedmann » 24. January 2008 15:33

Die Frage ist aber welche Konsequenzen hat a) oder b)

Das du nur von "localhost" auf das Verzeichnis zugreifen kannst, was du ja wolltest (a im Zusammenspiel mit der ".htaccess"-Datei).
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby apache@w2k3 » 24. January 2008 15:49

Wiedmann wrote:
Die Frage ist aber welche Konsequenzen hat a) oder b)

Das du nur von "localhost" auf das Verzeichnis zugreifen kannst, was du ja wolltest (a im Zusammenspiel mit der ".htaccess"-Datei).


Mhm :roll:

Ich werde das auf jeden Fall testen.

Ich kann mir irgendwie nicht vorstellen wie man die Problematik sonst lösen sollte.
Das jeder von außen (vor allem auch der Benutzer "pma") auf die phpMyAdmin-Seite kommt und so auch einfach Bruteforce drüber laufen lässt muss doch ein weitverbreitetes Problem sein.

Stichwort welche andere Sicherungsmaßnahmen sind bei Xampp sinnvoll?
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49

Postby apache@w2k3 » 24. January 2008 22:56

So habe deinen Lösungsvorschlag b) umgesetzt, scheint erstmal zu funktionieren. Warten wir die ersten Benutzer ab.

Komisch ist übrigens das "localhost" weiterhin den o. g. Fehler brachte, habe dann mal direkt die Server-IP probiert und damit funktioniert es jetzt, nur vom Server und nur per http://SERVERIP/phpmyadmin ereichbar.

D:\xampp\apache\conf\extra\httpd-xampp.conf sieht jetzt also u. a. wie folgt aus

Code: Select all
    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>


Ich bedanke mich vielmals für deine Hilfe Wiedmann und ein Lob an das Board und an ALLE die es aufrecht erhalten :)

Wenn diese Lösung für andere Sinnvoll ist, könnte man ihn ja evtl. in die Faq aufnehmen (mach ich gerne wenn ich das selber kann).




PS: Hast Du evtl. noch einen Tip/Link zu weiteren Sicherungsmaßnahmen
apache@w2k3 wrote:...

Stichwort welche andere Sicherungsmaßnahmen sind bei Xampp sinnvoll?


apache@w2k3 wrote:...

PS: Was kann ich noch machen um Xampp für produktiv abzusichern (weis ja eigentlich nur zum testen :roll: ).



Einen schönen Abend noch :D
apache@w2k3
 
Posts: 24
Joined: 13. July 2006 11:49


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 36 guests