client IP filtern (mod_authz_host) geht nicht mit SSL/HTTPS

Alles, was den Apache betrifft, kann hier besprochen werden.

client IP filtern (mod_authz_host) geht nicht mit SSL/HTTPS

Postby lexaiden » 18. April 2017 21:09

Hallo,

ich möchte gerne den Zugang z.B. zu phpmyadmin stark begrenzen und nur Clients aus bestimmten Netzwerken erlauben, dafür hab ich folgendes in "/etc/httpd/conf/extra/httpd-vhosts.conf" ergänzt:
Code: Select all
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require forward-dns dummy.dyndns.org
    Require ip 192.168
</Directory>

Das funktioniert tadellos und erlaubt nur Clients deren IP-Adresse zum DNS-Namen dummy.dyndns.org passt, oder deren IP mit 192.168 anfängt!

Jetzt würde ich das ganze gerne noch mit SSL/HTTPS kombinieren, also leite ich alle normalen HTTP Anfragen auf HTTPS um, dafür hab ich die Konfiguration in "/etc/httpd/conf/extra/httpd-vhosts.conf" wie folgt abgeändert:
Code: Select all
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteCond %{REQUEST_URI} phpmyadmin
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/phpmyadmin/$1 [R,L]
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
</Directory>

In die SSL Konfiguration "/etc/httpd/conf/extra/httpd-ssl.conf" hab ich für den Anfang mal folgendes hinzugefügt:
Code: Select all
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

Das funktioniert auch noch, sowohl ein Aufruf über HTTP (der auf HTTPS umgeleitet wird) als auch der direkte Aufruf über HTTPS.

Jetzt wollte ich den Zugriff über HTTPS anhand von DNS und IP beschränken, so wie zuvor über HTTP auch und das geht nicht! Wenn ich in die "/etc/httpd/conf/extra/httpd-ssl.conf" das schreibe:
Code: Select all
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require forward-dns dummy.dyndns.org
    Require ip 192.168
</Directory>

Bekomme ich keinen Zugriff mehr, warum? Das Authentifizierungs-Modul von apache2 (mod_authz_host) muss doch über HTTPS genau so Zugriff auf die Client IP bekommen können wie über HTTP. Die IP Adressen werden doch nicht verschlüsselt?! Was mache ich falsch?

Die Fehlermedlung vom apache2 Log ist leider nicht wirklich hilfreich
Code: Select all
[Sun Apr 09 17:01:54.908037 2017] [authz_core:error] [pid 17513] [client 127.0.0.1:41966] AH01630: client denied by server configuration: /usr/share/webapps/phpMyAdmin/index.php
lexaiden
 
Posts: 10
Joined: 14. August 2004 22:58
XAMPP version: apache 2.4.25-1
Operating System: Linux Arch

Re: client IP filtern (mod_authz_host) geht nicht mit SSL/HT

Postby Nobbie » 19. April 2017 03:50

Wieso findest Du die Fehlermeldung nicht hilfreich? Da steht die Ursache doch offensichtlich drin. Der Client mit IP 127.0.0.1 darf nicht zugreifen.

Ich verstehe ansonsten den betriebenen Krampf nicht ansatzweise, ich habe meinen phpmyadmin einfach via auth_type “cookie“ mit Userid und Passwort geschützt, schlicht und gut.
Nobbie
 
Posts: 9244
Joined: 09. March 2008 13:04

Re: client IP filtern (mod_authz_host) geht nicht mit SSL/HT

Postby lexaiden » 19. April 2017 09:52

Ich greife von einem anderen Rechner auf den Server zu, der Client hat also gegenüber dem Server nicht die IP 127.0.0.1 (localhost). Unter HTTPS/SSL scheinen alle Clients die 127.0.0.1 zu haben für das mod_authz_host, warum?
lexaiden
 
Posts: 10
Joined: 14. August 2004 22:58
XAMPP version: apache 2.4.25-1
Operating System: Linux Arch

Re: client IP filtern (mod_authz_host) geht nicht mit SSL/HT

Postby Nobbie » 21. April 2017 01:07

lexaiden wrote:Ich greife von einem anderen Rechner auf den Server zu, der Client hat also gegenüber dem Server nicht die IP 127.0.0.1 (localhost).


In der Apache Fehlermeldung wird eindeutig 127.0.0.1 als Client angegeben und dann ist das auch so, ohne wenn und aber.

lexaiden wrote:Unter HTTPS/SSL scheinen alle Clients die 127.0.0.1 zu haben für das mod_authz_host, warum?


Mit absoluter Sicherheit NICHT. Anscheinend bist Du Dir nicht im Klaren, welche Requests ausgelöst und bedient werden, das macht es für uns unmöglich, irgendeinen Hinweis zu geben. Jedenfalls sagt Apache (der sich mit absoluter Sicherheit nicht irrt) anderes, als Du es sagst. Ich kenne und sehe die Umgebung nicht und kann nicht beurteilen, was diesen Querstand verursacht.
Nobbie
 
Posts: 9244
Joined: 09. March 2008 13:04

Re: client IP filtern (mod_authz_host) geht nicht mit SSL/HT

Postby lexaiden » 21. April 2017 02:07

Ich hab mein Problem gefunden. Ich nutze das portshare Feature von openvpn um sowohl apache als auch openvpn auf Port 443 zu nutzen. Deshalb sieht es für apache so aus, als wenn die Anfragen vom localhost kommen...

Dazu gibt es auch schon ein Ticket: https://community.openvpn.net/openvpn/ticket/694

So ein Mist, das wird so wohl nix...

EDIT
...aber mit sslh scheint das zu gehen was ich möchte. Das muss ich die Tage mal testen! http://www.rutschle.net/sslh
lexaiden
 
Posts: 10
Joined: 14. August 2004 22:58
XAMPP version: apache 2.4.25-1
Operating System: Linux Arch

Re: client IP filtern (mod_authz_host) geht nicht mit SSL/HT

Postby Nobbie » 22. April 2017 03:41

lexaiden wrote:Ich hab mein Problem gefunden. Ich nutze das portshare Feature von openvpn um sowohl apache als auch openvpn auf Port 443 zu nutzen.


... was nur leider vollständig in der Problembeschreibung fehlt, eine sehr verlässliche Methode zu verhindern, dass hier jemand eine Lösung findet.

lexaiden wrote:Dazu gibt es auch schon ein Ticket: https://community.openvpn.net/openvpn/ticket/694


"Ticket" ist witzig. Ist mehr so ein Weihnachtswunsch eines unbedarften Anwenders, zu Recht direkt geschlossen mit Status "wontfix", sprich "machen wir nicht", weil es auch gar nicht anders geht.
Nobbie
 
Posts: 9244
Joined: 09. March 2008 13:04

Re: client IP filtern (mod_authz_host) geht nicht mit SSL/HT

Postby lexaiden » 22. April 2017 16:46

Hätte ich daran gedacht, das ich openvpn damals so eingerichtet habe auf diesem Server, hätte ich erst gar keinen Forum Beitrag erstellt. Denn das Problem ist dann ja offensichtlich... Daher fehlt es in der Problembeschreibung Nobbie. ;-) (Da hilft mir jetzt auch kein pissiger Kommentar Deinerseits, aber besten dank für 's mit grübeln.)

Wenn ich das mit dem sslh getestet habe poste ich noch meine Lösung für die Nachwelt.
lexaiden
 
Posts: 10
Joined: 14. August 2004 22:58
XAMPP version: apache 2.4.25-1
Operating System: Linux Arch


Return to Apache

Who is online

Users browsing this forum: No registered users and 6 guests