phpMyAdmin via Internet erreichbar!

Status
Für weitere Antworten geschlossen.

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Liebe Kolleginnen und Kollegen
ich habe auf meiner Syno mit DSM 5 das Paket phpMyAdmin installiert. Es funktioniert tadellos. Leider hat die Syno das Paket unter /volume1/web/php... installiert. Da der Webserver läuft, ist somit phpMyAdmin vom Internet aus erreichbar. Kann ich das irgendwie ändern (ausser das Paket zu deaktivieren)?

Gruss aus Basel

Thomas
 

Thorndike

Benutzer
Mitglied seit
22. Sep 2010
Beiträge
742
Punkte für Reaktionen
4
Punkte
38
Da phpMyadmin im Webserver läuft ist die Installation vorgegeben. Zur Absicherung informiere dich einmal über .htaccess und die eventuellen Hürden die es auf der Syno gibt. Hierzu sind einige Threads im Forum zu finden.
Damit kannst du den Zugang z.B. auf lokale Rechner beschränken.
 

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Vielen Dank für den Hinweis. Das habe ich mir fast schon gedacht. Ich habe auf meiner Homepage einige Unterverzeichnis mit .htaccess geschützt, aber das ist mir für phpMyAdmin doch etwas zu unsicher. Als SQL-Datenbank läuft bei mir das grosse Pollen-Wiki und ich möchte nicht, das dort dann jemand rumpfuscht.
Kann ich darum nicht einfach das Paket phpMyAdmin deaktivieren und bei Gebrauch wieder aktivieren? Beim Deaktivieren werden die Programmfiles ja nicht gelöscht: kann man darum bei deaktiviertem Zustand trotzdem darauf zugreifen?

Danke im Voraus

Thomas
 

Thorndike

Benutzer
Mitglied seit
22. Sep 2010
Beiträge
742
Punkte für Reaktionen
4
Punkte
38
Tut mir leid aber ich weiß nicht was das DSM bein deaktivieren des Paketes macht. Solange der Code noch im Webverzeichnis bleibt müsste irgend ein Filter aktiviert werden oder eine Alias auf des Verzeichnis ins Leere führen. Die dümmste Variante wäre natürlich einfach nur den Link aus dem DSM zu entfernen. Was wirklich passiert wirst du wohl ausprobieren müssen.
.htaccess ist eine verbreitete Methode zur Absicherung. Eventuell könntest du auch einen Virtual Host einrichten, aber auch das ist ja nur eine Kofiguration für den Apache die Seiten zu filtern. Wenn bei der Deaktivierung keine Wunderdinge passieren ist wirklich sicherer nur ein zweiter Apache mit einem anderen Docroot auf einem anderen Port. Das wäre aber deutlich aufwendiger.
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Beim deaktivieren eines Pakets liegt im Verzeichnis ein entsprechendes File, was den Zustand anzeigt. Über den User-Apache (über den das läuft) kannst Du das dann nicht mehr aufrufen. Den Link aus dem DSM zu entfernen wäre unnütz - das ist ja eben nur ein Link, ändert aber nichts an der Möglichkeit, einen Service aufzurufen.
 

crick

Benutzer
Mitglied seit
29. Mai 2008
Beiträge
1.241
Punkte für Reaktionen
2
Punkte
64
Liege ich da total falsch? Ich meine mich zu erinnern, dass zumindest früher phpMyAdmin nicht von außen erreichbar war und daher von Werk aus auch kein Passwort dafür gesetzt wurde?!
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Beim Login in die MySQL-DB musstest Du standardmäßig nur 'root' verwenden, und das ging auch nur aus dem lokalen Netz - man wurde dann freundlich in rot darauf hingewiesen, dass man gefälligst ein Passwort setzen solle. Keine Ahnung, ob das jetzt mit dem Wechsel auf MariaDB verändert wurde, ich habe schon immer ein Passwort eingerichtet.
 

Thorndike

Benutzer
Mitglied seit
22. Sep 2010
Beiträge
742
Punkte für Reaktionen
4
Punkte
38
Liege ich da total falsch? Ich meine mich zu erinnern, dass zumindest früher phpMyAdmin nicht von außen erreichbar war und daher von Werk aus auch kein Passwort dafür gesetzt wurde?!

Das kann schon sein das bei phpMyAdmin eine .htaccess mitgeliefert wurde oder in der originalen Distribution auch wird. Das wird bei vielen anderen PHP Paketen auch so gemacht um Teile der Anwendung auf das lokale Netz zu beschränken.
 

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Vor dem DSM 5 (oder evt. noch früher, weiss es micht mehr so genau) wurde meiner Meinung nach phpAdmin nicht im Webserver-Verzeichnis installiert. Es war irgendwo im .../syno/synoman/....

Gruss
Thomas
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
Hallo, hast Du es denn mal mit einer .htaccess versucht ?
Code:
Order deny,allow
Deny from all
Allow from 192.168.220.102
die 192.168.220.102 musst Du natürlich auf Dein Netz anpassen !

Gruß Jo
 

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Hallo Jo
gute Idee. Werde ich wahrscheinlich umsetzen.

Gruss Thomas
 

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Hallo Jo
habe heute folgendes ausprobiert:

Datei ".htaccess" mit

Order deny, allow
Deny from all
Allow from 127.0.0.1 [oder mit localhost oder 192.168.1.25 ausprobiert]

Diese Datei habe ich im phpMyAdmin-Ordner gespeichert. Jetzt meldet die Syno beim Aufruf von phpMyAdmin im lokalen Netz, dass die Seite nicht gefunden werden kann. Dies löst ja mein Problem mit dem Verhindern des externen Zugriffs, aber es wäre doch nett, wenn es innerhalb meines Netzwerks funktionieren würde. Hast Du eine Idee, warum das nicht klappt?

Gruss Thomas
 
Zuletzt bearbeitet:

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
aber es wäre doch nett, wenn es innerhalb meines Netzwerks funktionieren würde. Hast Du eine Idee, warum das nicht klappt?
Hallo Thomas,

wenn die IP, der PC ist von wo aus der Zugriff erfolgen soll
.htaccess
Code:
Order deny, allow
Deny from all
Allow from 192.168.1.25

sollte der Aufruf http: //192.168.1.25/phpMyAdmin funktionieren :)

benutzt Du Namen in Deinem Netz, zB.: bei einer FritzBox,
diskstation.fritz.box
dann noch
Allow from .fritz.box

Eine Zeile
ErrorDocument 403 Hier ein beliebiger Text

verschönert die ganze Geschichte :)

Gruß Jo
 

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Hallo Jo

ich habe folgendes im .htaccess drin:

Order deny, allow
Deny from all
Allow from 192.168.1.25
Allow from 172.0.0.1
Allow from synology

Aufruf durch http://192.168.1.25/phpMyAdmin
Hat leider wieder die gleiche Fehlermeldung gebracht

Gruss Thomas
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Und am Ende noch ein
Code:
Satisfy any
oder nicht?
 

DJ Mike

Benutzer
Mitglied seit
03. Mai 2012
Beiträge
264
Punkte für Reaktionen
0
Punkte
22
Hallo Jo

ich habe folgendes im .htaccess drin:

Order deny, allow
Deny from all
Allow from 192.168.1.25
Allow from 172.0.0.1
Allow from synology

Aufruf durch http://192.168.1.25/phpMyAdmin
Hat leider wieder die gleiche Fehlermeldung gebracht

Gruss Thomas

Bei Allow from musst du die IP von PC angeben oder kannst mit 192.168 für alle internen IP's zulassen.

http://192.168.1.25 ist die IP deiner Synology
Allow from 172.0.0.1 sollte eher 127.0.0.1 heissen, das kannst auslassen


Beispiel mit IP PC 192.168.1.30
http://192.168.1.34/phpMyAdmin IP Synology


Order deny,allow
Deny from all
Allow from 192.168
Allow from 192.168.1.30

# HTML für individuelle Fehleranzeige
ErrorDocument 403 "<html><head><title>Seite nicht vorhanden</title>\
<style type='text/css'>\
body {background-color:#EEEEEE;}\
h1,p,a {font-family:Helvetica,Arial,Sans-serif;}\
h1 {font-size:1.7em; margin-bottom:0em;}\
p {font-size:0.95em;}\
a {font-size:0.93em; text-decoration:none;}\
a:link,a:visited {color:#000080;}\
a:hover {color:#FF0000;}\
</style>\
</head><body>\
<h1>Fehler 404</h1>\
<p>Die angeforderte URL kann nicht gefunden werden.</p>\
</body></html>"



Gruss Mike
 
Zuletzt bearbeitet:

DKeppi

Benutzer
Mitglied seit
01. Apr 2011
Beiträge
3.218
Punkte für Reaktionen
74
Punkte
114
Wollte den Zugang von außerhalb auch mal sperren - dieser Thread hat mich wieder daran erinnert :) DANKE!

Habe jetzt eine .htaccess im phpMyAdmin Verzeichnis angelegt und den Zugriff aus meinem internen Netz bzw. dem OpenVPN Netz erlaubt!

Sieht folgendermaßen aus:

Rich (BBCode):
Order Deny,Allow

Allow from 10.8.0.0/24
Allow from 192.168.178.0/24


Deny from all

Funktioniert 1A!
 

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Mit folgender Version hat es jetzt auch bei mir geklappt:

Order Deny,Allow
Allow from 192.168.1.4/24
Deny from all
Satisfy any

Es hat allerdings erst funktioniert, als ich an die IP-Adresse /24 angehängt habe.
Mission erfüllt. Vielen Dank an Alle.

Gruss aus Basel
Thomas
 

joku

Benutzer
Mitglied seit
06. Mrz 2011
Beiträge
6.664
Punkte für Reaktionen
2
Punkte
164
Es hat allerdings erst funktioniert, als ich an die IP-Adresse /24 angehängt habe.
Hallo Thomas,
Allow from 192.168.1.4/24
Richtig ist wenn es so sein soll :)
Allow from 192.168.1.0/24
oder wie Mike es schreibt
Allow from 192.168
das Satisfy any ist nur Notwendig
Zitat
Die Anweisung Satisfy gibt an, welche der Bedingungen erfüllt sein müssen. Das Schlüsselwort any bedeutet, dass alle Benutzer mit einer numerischen IP im Bereich 192.168 automatisch zugelassen sind. Benutzer, die nicht von dort kommen, werden nach einem Benutzernamen und Passwort gefragt ("Oder"-Verknüpfung der beiden Bedingungen). Hingegen würde das Schlüsselwort all bedeuten, dass nur Benutzer mit einer IP aus dem Bereich 192.168 und einem gültigen Benutzernamen zugelassen sind ("Und"-Verknüpfung der beiden Bedingungen).

Gruß Jo
 

stebler

Benutzer
Mitglied seit
02. Jan 2009
Beiträge
75
Punkte für Reaktionen
0
Punkte
6
Hallo Jo
die endgültige, funktionierende Version lautet jetzt:

Order Deny,Allow
Deny from all
Allow from 192.168
Satisfy any

So habe ich aus meinem ganzen privaten Netz Zugriff. Danke für den Link und
einen schönen Sonntag

Thomas
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat