Squid als RPCoHTTPS Proxy für Outlook Anywhere

Dieses Thema im Forum "Web- & File-Services" wurde erstellt von Zyrano, 08.08.2012.

  1. Zyrano

    Zyrano Tripel-As

    Dabei seit:
    22.03.2007
    Beiträge:
    185
    Zustimmungen:
    0
    Hallo Community,

    ich habe bereits versucht in einem anderen Forum Hilfe zu finden leider ohne Erfolg, darum versuche ich nochmal hier mein Glück und hoffe das mir jemand dabei behilflich sein kann.

    Mein Chef hat bei einem Kunden (vor meiner Zeit) einen Exchangeserver eingerichtet. Nun will er exchange over https nutzen, damit Endgeräte für exchange nicht immer die vpn nutzen müssen. Ich habe mich dabei für den Squid auf Ubuntu entschieden.
    Da die OWA Lösung bereits über das VPN realisiert ist, möchte ich hier ausschließlich RPC darüber abwickeln. Daher würde ich die config abspecken, so dass auschließlich darüber rpc läuft.

    Das Zertifikat (SSL) wird vom Exchange vorgegeben und daher brauche ich kein eigenes auf dem Squid zu erstellen. (wenn ich richtig liege)

    Ok nach gründlicher Recherche bin ich ein ganzes Stück weitergekommen. Trotzdem sind noch ein paar Fragen offen.

    Da ich das erste mal mich mit Proxy Servern beschäftige fiel mir das Verständnis nicht ganz so leicht und die vielen Forenbeiträge im Internet verwirren bei dem Thema schon sehr. Ich bin zuerst davon ausgegangen, das der Squid in der Lage ist das SSL Zertifikat das vom IIS (auf dem Exchange) ausgestellt ist selber für die interne Verschlüsselung zu nutzen und auch dieses Zertifikat zu nutzen um die SSL Verschlüsselung zum Client zu gewährleisten. Dieser Gedanke ist an sich jedoch völlig falsch was sich dann gezeigt hat. Squid ist jedoch in der Lage mit der sogenannten Connect -request Methode sämtliche Protokolle 1:1 weiterzuleiten ohne die Verbindung zu terminieren.

    http://www.warp9.de/pub/BO07RevProxy.pdf hier sagt jemand das es mit der Version 2.6 definitiv möglich ist RPCoHTTPS zu betreiben.

    Ok. Soweit so gut nun habe ich mich an die ersten Schritte gemacht und nochmal bei 0 begonnen.

    Zuerst ist es wichtig zu wissen, das Squid an sich in der Grundkonfiguration nicht SSL beinhaltet und man daher das Paket neu kompilieren muss.

    1. installieren von OpenSSL und kompilieren des Squid Paketes mit dem Parameter --enable-ssl
    Code:
    apt-get install openssl
    
    su - 
    
    passwort eingeben
    
    wget [url]http://www.squid-cache.org/Versions/v3/3.0/[/url] 
    
    cd /root
    
    tar xvf *.gz
    
    ./configure --prefix=/usr --includedir=${prefix}/include --enable-ssl --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=${prefix}/lib/squid3 --disable-maintainer-mode --disable-dependency-tracking --srcdir=. --datadir=/usr/share/squid3 --sysconfdir=/etc/squid3 --mandir=/usr/share/man --enable-inline --enable-async-io=8 --enable-storeio=ufs,aufs,diskd,null --enable-removal-policies=lru,heap --enable-delay-pools --enable-cache-digests --enable-underscores --enable-icap-client --enable-follow-x-forwarded-for --enable-auth=basic,digest,ntlm --enable-basic-auth-helpers=LDAP,MSNT,NCSA,SASL,SMB,YP,getpwnam,multi-domain-NTLM --enable-ntlm-auth-helpers=SMB --enable-digest-auth-helpers=ldap,password --enable-external-acl-helpers=ip_user,ldap_group --with-filedescriptors=65536 --with-default-user=proxy --enable-epoll --enable-linux-netfilter -with-openssl=/usr/include/openssl/
    
    make
    
    make install
    
    2. Danach überprüft man, ob Squid nun SSl inkludiert hat.
    Code:
    squid -v
    
    3. Nun macht man sich an die Configfile

    Hier habe ich verschiedene Methoden gefunden ich hoffe das jemand nun dort Erfahrung hat und mir vielleicht noch helfen kann.

    ein configfile das vielversprechend aussieht fand ich hier: http://wiki.squid-cache.org/ConfigExamples/Reverse/ExchangeRpc
    Code:
    # Publish the RPCoHTTP service via SSL
    https_port ip_of_squid:443 accel cert=/path/to/clientcertificate defaultsite=rpc_domain_name
    
    cache_peer ip_of_exchange_server parent 443 0 no-query originserver login=PASS ssl sslcert=/path/to/certificate name=exchangeServer
    
    acl EXCH dstdomain .rpc_domain_name
    
    cache_peer_access exchangeServer allow EXCH
    cache_peer_access exchangeServer deny all
    never_direct allow EXCH
    
    # Lock down access to just the Exchange Server!
    http_access allow EXCH
    http_access deny all
    miss_access allow EXCH
    miss_access deny all
    
    und eine andere hier: http://www.unixboard.de/vb3/showthread.php?49100-Squid-proxy-f%FCr-rpc-over-https
    Code:
    # Publish the RPCoHTTP service via SSL
    https_port Proxy_IP:443  accel cert=/etc/squid3/cert/zertifikat.pem defaultsite=exchange.domain.de
    cache_peer Exchange_IP parent 443 0 no-query originserver login=PASS ssl sslflags=DONT_VERIFY_PEER ssl sslcert=/etc/squid3/cert/Zertifikat.pem  name=exchangeServer
    #cache_peer Exchange_IP parent 80 0 no-query originserver login=PASS front-end-https=on name=exchangeServer
    
    acl localhost src 127.0.0.1/255.255.255.255
    acl local src Netzwerk/255.255.255.0
    acl to_localhost dst 127.0.0.0/8
    
    #zugriff auf folgende URLs Erlauben, EXCH dient nur als frei wählbarer Parameter
    acl EXCH url_regex -i ^https://exchange.domain.de/rpc/rpcproxy.dll.*$
    acl EXCH url_regex -i ^https://exchange.domain.de/exchange.*$
    acl EXCH url_regex -i ^https://exchange.domain.de/exchweb.*$
    acl EXCH url_regex -i ^https://exchange.domain.de/owa.*$
    acl EXCH url_regex -i ^https://exchange.domain.de/Microsoft-Server-ActiveSync.*$
    acl EXCH url_regex -i ^https://exchange.domain.de/ecp.*$
    acl EXCH url_regex -i ^https://exchange.domain.de/public.*$
    acl EXCH url_regex -i ^https://exchange.domain.de/cert.*$
    
    cache_peer_access exchangeServer allow EXCH
    cache_peer_access exchangeServer deny all
    never_direct allow EXCH
    
    # Zugriffe für Parameter EXCH
    http_access allow EXCH
    http_access deny all
    miss_access allow EXCH
    miss_access deny all
    
    #erweitertes Logging
    debug_options ALL,1 33,2
    
    Ok wie oben beschrieben gibt in dieser Konstellation der IIS vom Exchange das SSL Zertifikat vor. Damit haben wir 3 Zertifikate beim Server

    root.cert
    CA.cert
    Client.cert

    wenn man sich jetzt oben das configfile ansieht denkt man als erstes "ok ich muss nun das CA & Client.cert auf dem Squid hochladen und die Pfade angeben."

    Das habe ich dann auch gemacht. Eine Abfrage vom Client mit Outlook gestartet. Sehe auf dem Router auch die eingehende Verbindung, jedoch leitet der Squid die Anfrage nicht weiter.

    Dann habe ich nochmal recherchiert und bin auf die o.g. Methode gestoßen "Connect Method". Also das der Squid gar nichts mit den Zertifikaten an sich zu tun hat und im Grunde nur die Pakete an den Exchange durchreicht ohne dabei zu cachen bzw. zu loggen. (wäre mir auch nicht wichtig)
    Im Grunde soll der Squid nur als Schutzschild dienen, damit der Exchange nicht das erste Glied der Kette ist.

    Folgender Foren Beitrag hat mir dann die Connect request Methode gezeigt: http://debianforum.de/forum/viewtopic.php?t=65898

    Squid also supports these encrypted protocols by ``tunelling'' traffic between clients and servers. In this case, Squid can relay the encrypted bits between a client and a server.

    Normally, when your browser comes across an https URL, it does one of two things:

    The browser opens an SSL connection directly to the origin server.
    The browser tunnels the request through Squid with the CONNECT request method.

    The CONNECT method is a way to tunnel any kind of connection through an HTTP proxy. The proxy doesn't understand or interpret the contents. It just passes bytes back and forth between the client and server.

    Alles klar nun will ich diese Connect Request Methode testen und hoffe dort mehr Erfolg zu haben. Wenn jemand in der Lage ist mir hier zu helfen wäre ich ihm sehr dankbar. Ich werde auch gerne nach der erfolgreichen Arbeit ein PDF in diesem Forum hochladen das dann alles von Installation bis zur Configfile beschreibt, damit dann alle deutschen Admins die sowas machen wollen etwas davon haben.

    Wie gesagt für weitere Hilfe bin ich sehr dankbar!
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Squid als RPCoHTTPS Proxy für Outlook Anywhere

Die Seite wird geladen...

Squid als RPCoHTTPS Proxy für Outlook Anywhere - Ähnliche Themen

  1. Ubuntu 14.04 Squid3 zum Webseiten sperren

    Ubuntu 14.04 Squid3 zum Webseiten sperren: Hallo, ich habe mich nun nochmal an ein kleines Projekt rangemacht zum sperren von Webseiten über Squid. Folgende Konfiguration habe ich in...
  2. Squid3 als Reverse Proxy

    Squid3 als Reverse Proxy: Hallo zusammen Ich hoffe, ihr könnt mir hier weiterhelfen, stehe irgendwie was Squid angeht mächtig auf dem Schlauch. Ich möchte Squid3 als...
  3. SquidGuard - urls-Eintraege werden z.T. nicht gefiltert

    SquidGuard - urls-Eintraege werden z.T. nicht gefiltert: Hallo, bei mir läuft Squid + SquidGuard eigentlich ohne Probleme, aber seit ca. zwei Tagen kämpfe ich hier mit einigen Porn-Seiten, die sich...
  4. Squid Ausnahmen für allg. Downloadsperre

    Squid Ausnahmen für allg. Downloadsperre: Hallo zusammen, ich habe im Netzwerk einen Proxy auf dem Squid läuft. Hier wird über eine Textdatei festgelegt, welche Dateiendungen nicht...
  5. Perm. Ausfall von SquidGuard

    Perm. Ausfall von SquidGuard: Sali @ll, hab ein recht merkwürdiges Problem mit SquidGuard. Desöffteren stelle ich fest, dass SquidGuard Webseiten nicht blockiert, die...