Encrypted ForwardProxy mit Apache
jives 03.10.2008 - 17:25 807 1
jives
And the science gets done
|
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 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... 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
|
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
|