[Mapbender-users] Sicherheit im Mapbender

Arnulf Christl arnulf.christl at ccgis.de
Fri Nov 24 13:43:01 EST 2006


Lars-Hendrik Schneider wrote:
> Hallo,
> 
> Wigold at aol.com schrieb:
>>  
>> Hallo,
>> ich habe mal mehrere Fragen bezüglich der Sicherheit des Mapbender.

Hallo,
auch diese Mail ist etwas lange liegen geblieben. Ist die Frage noch aktuell? Ein paar weitere Ideen unten.

>> 1.)
>> Die in der mapbender.conf gespeicherten Daten (z.B Name und Passwort 
>> für die Postgresql Datenbank) - wie werden diese Informationen über 
>> das Internet verschickt? Sind die Daten MD5-codiert?
> 
> dies ist eine Frage der Einstellung der Verbindung zwischen PHP und 
> Postgresql und hat originär nichts mit Mapbender zu tun (sprich, diese 
> Infos laufen zwischen PHP und Postgresql-Server und keinesfalls 
> irgendwie übers Netz des Betrachters).
> 
> Hier sei auf die Dateien postgresql.conf (regelt grundsätzliche Zugriffe 
> über TCP/IP) und pg_hba.conf (regelt User und deren Zugriffsmethode) 
> verwiesen.
> 
> Sofern PHP und Postgresql-Server auf einer Maschine laufen, erfolgt der 
> Zugriff eigentlich über Sockets und damit ohne TCP/IP. Daher 
> funktioniert der Zugriff auch ohne daß der Postgresql-Server auf 
> "localhost" aka TCP/IP lauscht.
> 
> Sofern die Kommunikation zwischen verschiedenen Rechnern erfolgt, sollte 
> hier die entsprechenden Sicherheitspolicies greifen (Zugriff nur von 
> Host xyz erlaubt, Zugriff nur über MD5). Mitsniffen ist allerdings, 
> sofern man nicht direkt auf dem Rechner oder mitten im Netz hockt, sehr 
> schwierig ...

Das ist alles richtig, vielleicht noch ergänzend: Die Übertargung des Passwortes vom Client Browser zum Server erfolgt per http und ist damit abhörbar. Über eine verschlüsselte Leitung (https) kann das erschwert werden (100% sicher ist nichts, ausser das wir alle irgendwann sterben). Bei sicherheitrelevanten Daten kann es also sinnvoll sein über Secure-http und Port 403 zu gehen. Hinweis: Die WMS-Schnittstelle schreibt die Unterstützung  von Port 403 nicht vor, es kann also sein, dass sowohl Clients als auch Server auf dem Ohr taub sind. Allerdings sind die Gefahren beim Abhören eines Kartenbildes vielleicht auch nicht so groß...

>>    2.)
>> Der Zugang zu Mapbender kann auf bestimmte, registrierte Benutzer 
>> beschränkt werden. Aber was ist mit dem direkten Zugriff auf den "UMN 
>> Mapserver" oder den "Geoserver"? 

Die sind davon unbelassen erstmal immer offen und ungesichert! Das ist richtig und wichtig zu beachten.

>> Wenn diese auf einem anderen Server 
>> laufen, könnte man das wohl nur über eine Firewall verhindern, oder 
>> was gibt es noch für Möglichkeiten? Aber was, wenn die beiden Dienste 
>> auf dem gleichen Server laufen wie Mapbender?
>> Ich habe mir sagen lassen, dass der Geoserver wahrscheinlich ab 
>> Version 2 eine Benutzerauthentifizierung erhalten wird. Da so etwas 
>> bisher aber weder der Geo- noch der Mapserver unterstützen wäre ich um 
>> jede Hilfe dankbar.
> 
> Ohne da zu tief einzusteigen/vielleicht wissen die anderen 
> mehr/Denkanstoß: Was sagt allow/deny vom Apache dazu, den Zugriff 
> dezidiert nur vom berechtigten Server zuzulassen?
> 
> Sowas wie:
> <Directory "/usr/lib/cgi-bin">
>     AllowOverride None
>     Options None
>     Order deny,allow
>     Deny from all
>     Allow from mein.mapbender.rechner
> </Directory>

Das ist schon mal ein guter Start, benötigt obendrauf aber noch den OWS Proxy (siehe unten), der den Zugriff dann wieder ermöglicht.

> M.E. nach gibt es (zumindest im Apachen) bereits zahlreiche eigenbürtige 
> Werkzeuge, die den Einsatz einer Firewall erstmal unnötig machen. 
> (Spatzen -> Kanonenprinzip).
> 
> EDIT: So wie ich das gerade sehe, würde in dem Fall aber ein Proxy 
> (OWSPROXY?) die Bilder anfordern müssen, nicht direkt der Client beim 
> Kunden, da sonst der Zugriff von einer neuen IP erfolgt.
> 
> Bin mal gespannt, was da kömmt ...
> 
> Viele Grüße,
> Lars-Hendrik

Der OWS Security Proxy einige Möglichkeiten, deshalb implementiert Mapbender den auch. Allerdings ist die Einführungs-Doku nicht wirklich gut (hab ich gemacht, ich darf das sagen):
http://www.mapbender.org/index.php/Mapbender_Security_Proxy

Wie es technisch eingebunden wird ist zumindest syntaktisch richtig (wurde heute in der Mapbender Schulung durchgekaut und funktioniert):
http://www.mapbender.org/index.php/Owsproxy

Die Idee ist simpel: Das PHP-Skript im owsproxy-Verzeichnis verhält sich wie ein WMS Dienst, beantwortet Anfragen aber nicht selbst, sondern leitet sie an einen echten Dienst weiter. Bevor es das tut prüft es, ob der anfordernde Client sich ordentlich authentisiert hat und ob diese Identität berechtigt (autorisiert) ist die Daten anzufordern. 

Damit man den entsprechenden Dienst nicht unautorisiert anfragen kann muss der Dienst muss gegen alle Zugriff gesichert werden - nur und ausschließlich das Mapbender OWS Proxy Modul darf darauf zugreifen. Dann ist das Dings wirklich richtig sicher (siehe Lösung von Lars-Hendrik oben).  

Es gibt keine OWS Spezifikation, die Security regelt und ich glaube nicht daran, dass es die in naher Zukunft geben wird. Alle bisherigen Versuche laufen auf mehr oder weniger softwarespezifische oder propritäre Lösungen hinaus - wie bei Mapbender ja auch. Ohne eine differenzierte Benutzerberechtigung geht es eben nicht, das wird bei GeoServer auch nicht anders sein, ich bin aber gespannt was die sich einfallen lassen. 

Das Thema ist recht umfangreich und es wird viel Mist verbreitet, weil man die Leute bei ihrer Angst zu fassen bekommt. Also erst mal klein anfangen, selber wirklich verstehen wie es geht und dann langsam aufrüsten, wie Lars-Hendrik empfiehlt. 

Gruß, Arnulf. 

>> Viele Grüße
>> Mike
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapbender.osgeo.org
> For additional commands, e-mail: users-help at mapbender.osgeo.org
> 





More information about the Mapbender_users mailing list