Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Apache als transparenter Proxy liefert falsches SSL Zertifikat

  1. #1
    @SlopePointNZ Avatar von craano
    Registriert seit
    Jul 2004
    Beiträge
    1.320

    Apache als transparenter Proxy liefert falsches SSL Zertifikat

    Hallo,
    ich versuchen einen Apache2 als transparenten reverse proxy zu konfigurieren.
    Anstelle des Zertifikats des Zielservers hinter dem Proxy liefert der Proxy sein eigenes SSL Zertifikat aus. Das führt im Browser der Clients natürlich zu einem Zertifkatsfehler.

    Code:
    # cat /etc/apache2/sites-enabled/https.prx.conf 
    # HTTP (Port 80)
    <VirtualHost *:80>
        ServerName xxx.net
        ServerAlias www.xxx.net
        # Behalte den ursprünglichen Host-Header (xxx.net) bei
        ProxyPreserveHost On
    
    #    ProxyRequests Off
    #    <Proxy *>
    #        Order deny,allow
    #        Allow from all
    #    </Proxy>
    
        ProxyPass / http://100.77.88.110:80/
    #    ProxyPass / http://xxx.net:80/
        ProxyPassReverse / http://100.77.88.110:80/
    #    ProxyPassReverse / http://xxx.net:80/
    
     #   <Location />
     #       Order allow,deny
     #       Allow from all
     #   </Location>
    </VirtualHost>
    
    # HTTPS (Port 443)
    <VirtualHost *:443>
        ServerName xxx.net
        ServerAlias www.xxx.net
    
        # Keine SSL-Konfiguration auf dem Proxy-Server notwendig
        # Die SSL-Verbindung wird direkt zum Zielserver weitergeleitet
    
        # SSLProxyEngine aktivieren, damit SSL über den Proxy durchgereicht wird
        SSLEngine Off
        SSLProxyEngine On
        SSLProxyVerify none
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off
        SSLProxyCheckPeerExpire Off 
    
        # Behalte den ursprünglichen Host-Header (xxx.net) bei
        ProxyPreserveHost On
    
    #    ProxyRequests Off
    #    <Proxy *>
    #        Order deny,allow
    #        Allow from all
    #    </Proxy>
    
    
        ProxyPass / https://100.77.88.110:443/
        ProxyPassReverse / https://100.77.88.110:443/
    #    <Location />
    #        Order allow,deny
    #        Allow from all
    #    </Location>
    </VirtualHost>
    Wenn ich den Zielserver direkt mit
    Code:
    openssl s_client -connect 100.77.88.110:443 -servername xxx.net
    wird das richtige Zertifikat ausgeliefert.

    Was übersehe ich?

  2. #2
    @SlopePointNZ Avatar von craano
    Registriert seit
    Jul 2004
    Beiträge
    1.320
    Ich habe als Zwischenlösung jetzt erstmal die SSL Zertifikat auf dem Proxy installiert und rufe den Zielserver über die IP-Adresse (ohne https) auf. Ist keine Problem, da beide Server auf der selben physischen Maschine laufen.
    Mir bleibt es aber ein Rätsel, wieso der Apache-Proxy im obigen Beispiel die SSL-Verbindung terminiert und nicht durchreicht. "SSLProxyEngine On" sollte doch genau das tun.
    Wenn jemand irgendwann hierüber stolpert und mehr weiß, würde ich mich über eine Lösung freuen.

  3. #3
    Registrierter Benutzer
    Registriert seit
    Jun 2004
    Beiträge
    1.429
    Servus,

    nur als Gedankenstoß: bei uns in der Org steht der rvr-proxy in der DMZ (aus dem Internet erreichbar), um die Server in der internen DMZ (iDMZ) aus dem Internet erreichbar zu machen und diese nicht den Gefahren der DMZ auszusetzen.

    DNS Eintrag: www.xxx.net verweist auf den rvr-proxy, der rvr-proxy weiß die Anfragen ans www.xxx.net zu xxx.net weiterzuleiten.
    xxx.net kann durchaus ein eigenes (intern vertraut) Zertifikat vorweisen, der rvr-proxy akzeptiert aus dem internen Netz alle Certs, auch selfsigned.

    Der rvr-proxy bietet nach außen hin ein offizielles Cert für www.xxx.net (LetsEncrypt o.ä.).

    Vom Namen her: ein transparent proxy sollte doch stumpf alle Verbindungen durchreichen?

    Grüße, temir.

  4. #4
    @SlopePointNZ Avatar von craano
    Registriert seit
    Jul 2004
    Beiträge
    1.320
    Zitat Zitat von temir Beitrag anzeigen
    Servus,

    nur als Gedankenstoß: bei uns in der Org steht der rvr-proxy in der DMZ (aus dem Internet erreichbar), um die Server in der internen DMZ (iDMZ) aus dem Internet erreichbar zu machen und diese nicht den Gefahren der DMZ auszusetzen.

    DNS Eintrag: www.xxx.net verweist auf den rvr-proxy, der rvr-proxy weiß die Anfragen ans www.xxx.net zu xxx.net weiterzuleiten.
    xxx.net kann durchaus ein eigenes (intern vertraut) Zertifikat vorweisen, der rvr-proxy akzeptiert aus dem internen Netz alle Certs, auch selfsigned.

    Der rvr-proxy bietet nach außen hin ein offizielles Cert für www.xxx.net (LetsEncrypt o.ä.).


    ...
    Genauso habe ich es jetzt ja zumindest vorläufig als Zwischenlösung aufgebaut.


    Vom Namen her: ein transparent proxy sollte doch stumpf alle Verbindungen durchreichen?
    Genau, und mit SNI Routing sollten auch SSL Requests weitergeleitet werden. Deswegen habe ich nicht verstanden, warum der Reverse Proxy die SSL Verbindung terminiert.

    Gruß
    craano

Ähnliche Themen

  1. Transparenter Proxy
    Von nixwisser im Forum Linux Allgemein
    Antworten: 6
    Letzter Beitrag: 27.01.08, 21:54
  2. apache und transparenter proxy
    Von berndbeer im Forum Router und Netzaufbau
    Antworten: 11
    Letzter Beitrag: 29.01.07, 07:53
  3. DMZ und transparenter Proxy
    Von ludmilla im Forum Router und Netzaufbau
    Antworten: 1
    Letzter Beitrag: 21.03.05, 12:45
  4. Transparenter Proxy in der DMZ???
    Von domi6580 im Forum Router und Netzaufbau
    Antworten: 4
    Letzter Beitrag: 21.01.05, 15:25
  5. Transparenter Proxy und SSL
    Von Sandal im Forum Router und Netzaufbau
    Antworten: 3
    Letzter Beitrag: 22.05.02, 21:51

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •