2009-04-02 12 views
3

Ich habe einen Produktionsserver mit Apache2, PHP, MySQL. Ich habe gerade eine Website (mysite.com) als virtuellen Host. Ich möchte phpmyadmin, webalizer und vielleicht webmin dort setzen. Bis jetzt habe ich phpmyadmin installiert, und es funktioniert, aber das ganze Internet kann auf mysite.com/phpmyadmin gehen.phpmyadmin Sicherheit

Wie kann ich die Sichtbarkeit auf 192.168.0.0/16 zu reduzieren, so dass es nur für Maschinen hinter meiner Firewall zugänglich ist?

Antwort

7

1) Sie können es auf der Webserver-Ebene tun.

Verwenden Sie Regeln für Apache zulassen/verweigern. Wenn Sie keinen direkten Zugriff auf Ihre Apache-Konfigurationsdatei haben, können Sie eine .htaccess-Datei verwenden.

<Directory /docroot> 
    Order Deny,Allow 
    Deny from all 
    Allow from 10.1.2.3 
</Directory> 

2) Sie können es auf der Anwendungsebene tun, um die phpMyAdmin-Konfigurationsdatei verwenden.

Der Konfigurationsparameter ist: $cfg['Servers'][$i]['AllowDeny']['rules']

Beispiele für Regeln sind:

'all' -> 0.0.0.0/0 
'localhost' -> 127.0.0.1/8 
'localnetA' -> SERVER_ADDRESS/8 
'localnetB' -> SERVER_ADDRESS/16 
'localnetC' -> SERVER_ADDRESS/24 

du auf der offiziellen phpMyAdmin Konfigurationsdokumentation sehen.

http://www.phpmyadmin.net/documentation/#servers_allowdeny_order

+0

Ich habe Option # 2 mit dem Hinzufügen von/usr/share/phpMyAdmin 192.168.0.0/16 zu ermöglichen, und es scheint funktioniert zu haben. Vielen Dank. – Nick

+0

Option 2 ist der Weg zu gehen. Einfacher, und ich würde es lieber blockieren, bevor irgendeine PHP-Periode läuft. –

+0

Okay, ich habe die Apache-Option an erster Stelle verschoben. –

1

Sie würden ein Modul in Apache verwenden genannt mod_access

Sie entweder in Ihrer Apache-Konfigurationsdatei oder in einer .htaccess-Datei in das Root-Verzeichnis des konfigurieren können.

Hier ist ein kurzes Beispiel

<Directory /your_folder/location> 
    Order Deny,Allow 
    Deny from all 
    Allow from 123.123.123.123 
</Directory> 
0

Verwenden Sie die <Location> Richtlinie (entweder in Serverkonfiguration oder wenn es erlaubt ist, in .htaccess). Dort können Sie Allow from verwenden, um den Zugriff auf alle anderen zu verweigern außer eine bestimmte Quelle.