PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Squid als Reverse Proxy & SSL



Newton1987
29.01.09, 13:45
Hallo,

ich betreibe einen Reverse Proxy mit SQUID 3.0.STABLE1 auf einem Ubuntu 2.6.24-23-server. Squid habe ich mit den vorhanden Paketen von Ubuntu installiert.

Bis jetzt funktioniert dieser auch einwandfrei. Doch nun möchte ich auf SSL umstellen.

Meine Frage ist nun:
Wie funktioniert das genau bzw. was mache ich falsch?

Bei Squid gibt es folgende Konfigurationsmöglichkeit in der squid.conf:


TAG: https_port

An dieser Stelle verlinke ich auf den weiteren Inhalt der https_port Option (http://www.squid-cache.org/Doc/config/https_port/)

Das ganze habe ich dann wie folgt in die squid.conf eingebunden:

https_port test_page_for_ssl.de:443 accel defaultsite=www.cach_me.de cert=/home/user/test.csr key=/home/user/test.key

Starte ich squid nun neu kommt folgende Fehlermeldung:



parseConfigFile: 'squid.conf' line 943 unrecognized: 'https_port test_page_for_ssl.de:443 accel defaultsite=www.cach_me.de cert=/home/user/test.csr key=/home/user/test.key'

Die Seite wird auch nun nicht mehr angezeigt.

Binde ich das ganze falsch ein? Hab ich was vergessen? Muss der www.cach_me.de auch ein SSL Zertifikat haben?

Bin da ein bißchen überfragt. Hoffe es kann mir einer von euch weiterhelfen.

Vielen Dank schonmal für eure Hilfe.

Weitere Foren Anfragen:
http://www.linux-forum.de/reverse-proxy-and-ssl-22990.html#post78208

Mit freundlichen Grüßen
Newton

JAF
29.01.09, 21:25
mal anders...

was ganau ist dein ziel?

"The socket address where Squid will listen for HTTPS client requests."
also vermutlich, dass deine clients nur verschlüsselte anfragen an deinen squid-server schicken dürfen.

nun, wenn squid meldet:
"parseConfigFile: 'squid.conf' line 943 unrecognized: 'https_port test_page_for_ssl.de:443 accel defaultsite=www.cach_me.de cert=/home/user/test.csr key=/home/user/test.key'"

erkannt er vermutlich den parameter "https_port" nicht.


Requires: --enable-ssl

ist das erfüllt?

Newton1987
30.01.09, 09:29
Hi,

also mein Ziel ist es eine Seite über HTTPS zu cachen. Gerade kann man die Seiten nur über HTTP erreichen.

Hab Squid eigentlich mit dem --enable=ssl installiert, doch hat er dieses wohl nicht gemacht. War mir da leider zu sicher um nochmal zu schauen. Ich werde nochmal Rückmeldung geben wenn ich Squid mit ssl neu comepliert habe.

Danke nochmal für die Info. Hab wohl schon zu lange an Squid gearbeitet das man sogar solche wichtigen dinge übersieht ;)

Thorashh
30.01.09, 10:42
Moin Newton

Squid muss das Zertifikat an den Client ausliefern und die Verbindung zum Webserver dann per HTTP aufbauen. Eine verschlüsselte Verbindung kann Squid weder cachen noch korrekt an einen dahinterliegenden Webserver weiterleiten.

Newton1987
30.01.09, 10:47
Moin Newton

Squid muss das Zertifikat an den Client ausliefern und die Verbindung zum Webserver dann per HTTP aufbauen. Eine verschlüsselte Verbindung kann Squid weder cachen noch korrekt an einen dahinterliegenden Webserver weiterleiten.

Ok das heißt also: Die Verbindung zwischen Squid und dem zu cachenden Server wird per http aufgebaut. Und Squid gibt dann die Daten über HTTPS an die Client zurück?

JAF
30.01.09, 18:00
Ok das heißt also: Die Verbindung zwischen Squid und dem zu cachenden Server wird per http aufgebaut. Und Squid gibt dann die Daten über HTTPS an die Client zurück?

hab squid mit https zum client noch nie versucht,
aber das glaube und hoffe ich nicht.

in diesem fall hiese das ja, dass du auf http-server mit ssl (also https-server) nicht mehr zugreifen könntest!

Newton1987
06.02.09, 11:55
Hallo,

ich habe squid nochmal neue mit der option


--enable-ssl

compiliert. Beim Starten zeigt er auch nun folgende Meldung an:


Initializing https proxy context
Initializing https_port IP:PORT SSL context
Using certificate in /usr/local/squid/ssl/squid_web1.csr
Using private key in /usr/local/squid/ssl/squid_web1.key

Doch rufe ich nun die Seite wieder auf kommt folgende Fehler meldung:


The following error was encountered:
Connection to IP Failed
The system returned:
(111) Connection refused


Hab mir nochmal die Config angeschaut, doch konnte leider nix finden was ich noch einstellen muss.

JAF
06.02.09, 12:18
wie gesagt, ich hab das noch nie versucht ...

unterstützten das die güngigen browser überhaupt?

wenn du auf

http://SERVER_IP:SERVER_PORT

zugreiffst, kommt da vielleich noch ein zertifikatfehler?

ich könnte mir vorstellen, das das noch ein grund sein könnte, da das zertifikat es proxy-servers noch installiert werden muss...

Newton1987
06.02.09, 12:25
Hi,

also das Zetifikate. Beim aufruf der Seite wird man gefragt ob man dieses akzeptieren möchte. Deswegen hat es mich gewundert. Aufforderung kommt doch dann funktioniert die weiterleitung nicht.

JAF
06.02.09, 12:31
hast du das zertikat des ssl-squid am client installiert?
falls nein => einmal machen

funktionert der zugriff mit squid über ssl auf eine normale HTTP-seite?

Newton1987
09.02.09, 16:01
Hi,

also haben nun auf beiden Servern (Proxy & Web) ein SSL Zertifikat installiert. Gehe ich nun auf die Seite: test_page_for_ssl.de erhalte ich folengede Fehlermeldung:


While trying to retrieve the URL: https://cache_me.de/

The following error was encountered:

* Connection to IP Failed

The system returned:

(71) Protocol error

The remote host or network may be down. Please try the request again.


Die Anfrage auf der normalen Seite funktioniert aber ohne Probleme.

Dazu habe ich mir auch nochmal die Logs angeschaut die Squid macht und folgendes entdeckt:



2009/02/09 15:50:27| SSL unknown certificate error 18 in /C=DE/ST=NRW/L=Duesseldorf/O=G m B H/CN=cache_me.de/emailAddress=EM@AIL.de
2009/02/09 15:50:27| fwdNegotiateSSL: Error negotiating SSL connection on FD 17: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (1/-1/0)


Ich habe schon verschiedene Sachen Probiert:
1. SSL Zertifikat auf dem Proxy erstellt und eingebunden.
2. Das gleiche SSL Zertifkiat wie auf Webserver eingebunden
3. Auf dem Webserver das gleiche SSL Zetifikat eingebunden wie beim Proxy

Weiß gerade nicht was ich falsch mache.

Bin mir nicht sicher ob ich das hier Posten darf, aber ich habe das SSL Zertifikat nach folgender Anleitung erstellt: http://www.schirmacher.de/display/INFO/Apache+SSL+Zertifikat+erstellen+und+installieren

JAF
09.02.09, 21:35
wie gesagt, was passiert, wenn du den proxy-server auf dem CLIENT NICHT einstelltst und auf http://PROXY_SERVER:PROXY port zugreifst?

Newton1987
10.02.09, 12:09
Hi,

dann kommt die Fehlermeldung: "Adresse nicht gefunden"

JAF
10.02.09, 22:05
mit angebe das ports?

das kann ich mir nicht vorstellen..