"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Encrypted ForwardProxy mit Apache

jives 03.10.2008 - 17:25 807 1
Posts

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Ich würde gerne auf meinem Server (Arch Linux, Apache 2.2.x) einen Proxy für HTTP/HTTPS/FTP-Verbindungen einrichten, mit dem kleinen Zusatz, dass _jeder_ Traffic zwischen dem Client und dem Proxy über eine SSL-verschlüsselte Verbindung geht - egal ob der eigentliche Zielhost gerade SSL spricht oder nicht.

Zusätzlich soll der Zugang zum Proxy passwortgeschützt sein, später wird vielleicht auf Auth über Zertifikate umgestiegen.

Mein zugehöriges Config-File schaut derzeit so aus
Code:
Listen 443

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl

<VirtualHost xxx:443> 

    SSLEngine On  
    
    ServerName  xxx:443
    ServerAdmin xxx
    
    SSLCipherSuite HIGH:MEDIUM
    
    SSLProtocol all -SSLv2
    
    #   Server Certificate:
    SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
    
    #   Server Private Key:
    SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
    
    #   Server Certificate Chain:
    SSLCertificateChainFile /etc/httpd/conf/ssl.crt/CA.crt
    
    #   Certificate Authority (CA):
    SSLCACertificateFile /etc/httpd/conf/ssl.crt/CA.crt
    
    ProxyRequests On
    ProxyVia On
    
    <Proxy *>
	    AuthType Basic
	    AuthName "proxy server login"
	    AuthUserFile /etc/httpd/htpasswds/proxy_htpasswd
	    Require valid-user
    </Proxy>
</VirtualHost>
nur leider haut das natürlich nicht ganz hin - ich bekomm mit keinem Browser eine Verbindung zum Server, wenn ich xxx:443 als Proxy für alle Protokolle angebe.

Was mach ich falsch? Gehts nicht, weil der Browser dem Zertifikat nicht traut? Geht das was ich will überhaupt (auf diesem Weg)?

Tia :)

Edit:
Tja, man sollte halt schon auch die Firewall entsprechend konfigurieren und die entsprechenden Module laden... :bash:

Jedenfalls lande ich jetzt aber immer im Root-Verzeichnis des HTTP-Servers. Muss ich in diesem Fall die Defaults aus httpd.conf entfernen und den HTTP-Server in einen eignen vhost packen?
Bearbeitet von jives am 03.10.2008, 20:48

jives

And the science gets done
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Der Fehler lag bei <VirtualHost xxx:443>. Da gehört <VirtualHost *:443> hin, dann komm ich zu einem Load-Error ;)
Nachdem ich mir aber überlegt hab, dass das Herumschupfen mit Protokollen nicht so ganz das Wahre ist (und dass es vor allem nicht so hinhauen kann wie ich mir das vorstell), bin ich zu einer anderen Lösung übergegangen:

Ich hab den Proxy jetzt "normal" laufen, und tunnele per SSH auf den Server.
Das hat den Vorteil, dass ich kein eigenes htpasswd-File pflegen muss und die Zugriffsrechte auf den Proxy bequem per Firewall- und Apache-Direktive erledigen kann. Zusätzliche Software muss ich trotzdem nicht installieren und pflegen. Dass der User dann halt Putty oder etwas Vergleichbares starten muss ist glaube ich nicht so schlimm :)
Bearbeitet von jives am 03.10.2008, 20:51
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz