Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Outlook Web Access- bzw. Outlook Anywhere-Zugriff mittels Squid und Gruppenzugehörigkeit regeln

Anleitung Microsoft Exchange Server

Mitglied: tikayevent

tikayevent (Level 2) - Jetzt verbinden

05.01.2014, aktualisiert 13:55 Uhr, 8466 Aufrufe, 6 Kommentare, 4 Danke

Dani hat vor einiger Zeit eine Anleitung geschrieben, in der erklärt wird, wie man Squid als Reverse Proxy für den Einsatz mit Exchange/Outlook Web Access/Outlook Anywhere einsetzt. Aufgrund einiger Vorkommnisse in unserem Unternehmen im Umgang mit Outlook Web Access habe ich auf Basis der Anleitung eine Möglichkeit gebaut, mit der anhand der Zugehörigkeit einer Sicherheitsgruppe im Active Directory gesteuert werden kann, wer aus dem Internet auf Outlook Web Access bzw. auch auf Outlook Anywhere zugreifen darf.
Dieses System ist jetzt seit etwa einem Jahr erfolgreich im Einsatz und funktioniert, bis auf die ständig gleichen Anwenderfehler, problemlos.

Visualisiert sieht es wie folgt aus

dfd20ad5a43ee5c80283b333977bbbf2 - Klicke auf das Bild, um es zu vergrößern

Diese Anleitung erläutert nur einige nötige Schritte, die von anderen Anleitungen abweicht, um keine Redundanz hineinzubringen. Dazu gehören die Originalanleitung von Dani, die grundlegende Konfiguration eines Exchangeserver sowie die Integration eines Linuxsystems im Active Directory mittels Samba/Winbind.

Damit es funktioniert, müssen aber einige Anpassungen in den Exchange Servern getätigt werden, die die CAS-Rolle installiert haben.

Dazu muss die Authentifizierung von Outlook Web Access, der Exchange-Systemsteuerung und Exchange ActiveSync auf die Standard-Authentifizierung umgestellt werden.

Als Beispiel hab ich mal das entsprechende Tab für Outlook Web Access geöffnet:

3001d579c15658da9701631d2ef6853c - Klicke auf das Bild, um es zu vergrößern
Das Feld Anmeldedomäne beinhaltet normal einen Wert, dieser ist hier entfernt worden.

Beachtet bei Exchange ActiveSync auch den Hinweis unten im Tab.

In den Einstellungen der jeweiligen CAS-Server muss man, weil die SSL-Verbindung mehrfach aufgebrochen wird, das SSL-Offloading/die SSL-Verschiebung aktivieren:

8767f6def24ee22dee37f901272e7ec4 - Klicke auf das Bild, um es zu vergrößern
Das Feld Externer Hostname muss normal einen Wert beinhalten, dieser ist hier entfernt worden.

Anschließend baut ihr euch zwei Linuxserver anhand von Danis Anleitung. Damit ihr euch nicht zuviel Arbeit macht, könnt ihr das gebaute deb-Paket für beide Server nutzen.

Squid1 entspricht ganz genau Danis Anleitung, nur zeigt der eingetragene cache_peer nicht auf den Exchangeserver sondern auf die IP-Adresse vom internen Squid.

Squid2 entspricht bis auf ein paar Anpassungen in der Konfiguration auch Danis Anleitung, wobei der cache_peer hier auf den Exchangeserver zeigt, aber noch über die Authentifizierung verfügt.

Dazu müsst ihr, nachdem ihr den Squid installieren, aber bevor ihr die Konfiguration des Squid vornehmt, müsst ihr noch einen kleinen Extraschritt machen. Ihr müsst auf diesem Server Samba sowie Winbind installieren und dann diesen Server zum Mitglied des Active Directorys machen. Nutzt dazu bitte eine der Anleitungen, die ihr überall im Internet finden könnt, ich geh einfach mal davon aus, dass ihr wisst, was ihr macht und wie man diese Anleitungen findet.

Die dazugehörige smb.conf sieht so aus:
01.
02.
### Hostname des Servers 
03.
04.
netbios name = www01 
05.
06.
### Domaenenkurzname 
07.
08.
workgroup = DOMAIN 
09.
10.
### Domaenencontroller 
11.
12.
password server = server1.domain.local, server2.domain.local 
13.
14.
### FQDN der Domaene 
15.
16.
realm = DOMAIN.LOCAL 
17.
security = ads 
18.
winbind uid = 10000-20000 
19.
winbind gid = 10000-20000 
20.
restrict anonymous = 2 
21.
22.
### Achtung, der Backslash muss escaped werden 
23.
24.
winbind separator = \\ 
25.
winbind use default domain = yes
Wichtig sind die beiden winbind-Zeilen am Ende sowie der darüberstehende Hinweis. Normalerweise wird ein einzelner Backslash bei Windows genutzt, da dieses aber normal das Escapezeichen ist, wie auch bei Samba/Winbind muss dieser selbst escaped werden, daher \\. Der Rest der Konfiguration von Samba entspricht einer normalen AD-Mitgliedschaft eines Linuxsystems.

Jetzt kommt die eigentliche Konfiguration des internen Squids:
01.
02.
### Basiseinstellungen 
03.
04.
visible_hostname webmail.domain.de 
05.
unique_hostname www01.domain.de 
06.
httpd_suppress_version_string on 
07.
extension_methods RPC_IN_DATA RPC_OUT_DATA 
08.
error_directory /usr/share/squid/errors/German 
09.
cache_mgr squidmaster@domain.de 
10.
11.
### Squid soll nur SSL und nur von einer bestimmten IP-Adresse annehmen 
12.
### Da Squid als Man-in-the-Middle arbeitet, ist hier das Zertifikat zu 
13.
### hinterlegen 
14.
15.
https_port 192.168.0.171:443 cert=/etc/squid/ssl/webmail.domain.de.crt key=/etc/squid/ssl/webmail.domain.de.key  defaultsite=webmail.domain.de options=NO_SSLv2 cipher=ALL:!aNULL:!eNULL:!LOW:!EXP:!ADH:!RC4+RSA:+HIGH:+MEDIUM:!SSLv2 
16.
17.
### CAS-Array ueber Loadbalancer als Parent Server hinterlegt 
18.
### Authentifizierung wird durchgereicht 
19.
### Keine Pruefung des SSL-Zertifikats des CAS-Arrays 
20.
21.
cache_peer 192.168.0.133 parent 443 0 no-query originserver login=PASS ssl sslflags=DONT_VERIFY_PEER name=ExchangeServer 
22.
23.
### ACLs, welche nur die URLs des CAS-Arrays erlauben, die noeting sind 
24.
25.
acl EXCH url_regex -i ^https://webmail.domain.de/rpc/rpcproxy.dll.*$ 
26.
acl EXCH url_regex -i ^https://webmail.domain.de/exchange.*$ 
27.
acl EXCH url_regex -i ^https://webmail.domain.de/exchweb.*$ 
28.
acl EXCH url_regex -i ^https://webmail.domain.de/owa.*$ 
29.
acl EXCH url_regex -i ^https://webmail.domain.de/Microsoft-Server-ActiveSync.*$ 
30.
acl EXCH url_regex -i ^https://webmail.domain.de/ecp.*$ 
31.
acl EXCH url_regex -i ^https://webmail.domain.de/public.*$ 
32.
acl EXCH url_regex -i ^https://webmail.domain.de/autodiscover.*$ 
33.
34.
35.
### Authentifizierung gegen das AD via Samba und Winbind 
36.
### erlaubte Gruppe: DOMAIN\_OWAExtern 
37.
### Wichtung: Backslash escapen => \\ 
38.
39.
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="domain\\_owaextern" 
40.
auth_param basic children 5 
41.
auth_param basic realm Firma OWA 
42.
auth_param basic credentialsttl 5 hours 
43.
#auth_param basic utf8 on 
44.
45.
### ACLs fuer die Definition der Authentifizierung 
46.
### lokale Netzwerke duerfen ohne Auth zugreifen 
47.
### Der Rest muss authentifiziert werden 
48.
### Erlaubt ist nur der Zugriff auf den ExchangeServer 
49.
### Alles andere wird verboten 
50.
51.
acl users proxy_auth REQUIRED 
52.
acl localnet src 192.168.0.0/22 
53.
acl localnet src 172.21.0.0/22 
54.
 
55.
 
56.
#Eingefugt zu Testwecken 
57.
#acl localnet src all 
58.
 
59.
 
60.
acl all src all 
61.
 
62.
63.
cache_peer_access ExchangeServer allow EXCH 
64.
never_direct allow localnet EXCH 
65.
never_direct allow users EXCH 
66.
http_access allow localnet EXCH 
67.
http_access allow users EXCH 
68.
http_access deny all 
69.
miss_access allow localnet EXCH 
70.
miss_access allow users EXCH 
71.
miss_access deny all 
72.
 
73.
ignore_expect_100 on 
74.
forwarded_for on 
75.
 
76.
logformat common2 IP %>a via %<A, Benutzer: %[un [%tl] "%rm %ru HTTP/%rv" %Hs %<st %Ss:%Sh 
77.
access_log /var/log/squid/access.log common2
Wie ihr seht, entspricht die Konfiguration des internen Squids sehr stark der von Dani.
Der Server lauscht auf der 192.168.0.171:443 und erwartet eine HTTPS-Verbindung, 192.168.0.131 ist der Exchangeserver mit der CAS-Rolle.
Der erste wichtige Teil ist dieser hier:
01.
### Authentifizierung gegen das AD via Samba und Winbind 
02.
### erlaubte Gruppe: DOMAIN\_OWAExtern 
03.
### Wichtung: Backslash escapen => \\ 
04.
05.
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic --require-membership-of="domain\\_owaextern" 
06.
auth_param basic children 5 
07.
auth_param basic realm Firma OWA 
08.
auth_param basic credentialsttl 5 hours
Damit ermöglicht man dem Squid, eine Standardauthentifizierung gegen das Active Directory auszuführen, die Sicherheitsgruppe, die auf OWA von extern zugreifen darf, wird mittels --require-membership-of="domain\\_owaextern" angegeben.

Sehr wichtig ist auch das login=PASS in der Definition des cache_peers, damit wird nämlich die Authentifizierung transparent an den Exchangeserver weitergeleitet, so dass keine Mehrfachanmeldung nötig ist, dieses war aber auch in der Originalkonfiguration der Fall.

Die letzte Änderung ist bei den ACLs erfolgt.
Und zwar wird hierüber gesteuert, wer was darf. In meinem Fall ist es so, dass die lokalen Netzwerke, also 192.168.0.0/22 und 172.21.0.0/22 immer auf OWA zugreifen dürfen, während alles aus den anderen Netzen nur nach einer Benutzerauthentifizierung zugreifen darf. Aber Achtung, im Regelfall sieht der interne Squid nur die IP-Adresse des Squids in der DMZ, wenn jemand von außerhalb zugreift, daher könnte man diese ACL noch viel feiner einstellen.

Diese ACLs stammen noch aus den Anfängen, als wir intern noch nicht geklärt haben, wie unsere Filialen auf OWA zugreifen sollen. Mittlerweile ist es so, dass die Filialen direkt auf die CAS-Server zugreifen und der Squid nur den Traffic aus dem Internet behandelt. Man könnte also die ACLs vereinfachen, dass überlasse ich aber euch.

Die letzte Zeile der Konfiguration habe ich reingesetzt, um mir das Logging während der Inbetriebnahme zu vereinfachen. Diese Zeile erzeugt dann in der access.log folgende Einträge
IP 10.0.44.5 via ExchangeServer, Benutzer: domain\\user1 [04/Jan/2014:06:28:33 +0100] "POST https://webmail.domain.de/Microsoft-Server-ActiveSync? HTTP/1.0" 504 1691 TCP_MISS:FIRST_UP_PARENT 
IP 10.0.44.5 via ExchangeServer, Benutzer: domain\\user2 [04/Jan/2014:06:28:53 +0100] "POST https://webmail.domain.de/Microsoft-Server-ActiveSync? HTTP/1.0" 200 233 TCP_MISS:FIRST_UP_PARENT
Wie ihr seht, sieht man bei der IP immer die IP des Squid1. In den Logs des Squid1 sieht man dagegen immer die öffentliche IP des Benutzers, aber keine Benutzerkennung, da diese hier nicht ausgewertet werden kann.

Es gibt aber ein bekanntes Problem, was ich bisher noch nicht lösen konnte: Outlook Web Access akzeptiert in den neueren Versionen den Slash (/) sowie den Backslash (\) gleichermaßen, obwohl in Active Directory-Umgebungen nur der Backslash zulässig ist. Benutzer kennen normal den Unterschied zwischen Slash und Backslash nicht, so dass die im Regelfall den falschen, also den Slash, nutzen. Damit ist keine Anmeldung über den Squid möglich. Dieser bzw. Winbind als Authentifizierungsdienst erwartet zwangsläufig den Backslash (oder das eingetragene Trennzeichen). Dieses hat bei mir zu sehr viel Verwirrung geführt, weil im internen Netzwerk der Slash grundsätzlich funktioniert.

EDIT: Ich habe gerade nochmal eben einen Test gemacht, die neue Schreibweise, also user@domain.de funktioniert auch problemlos.

Ebenso ist keine Nutzung der formularbasierten Authentifizierung möglich. Per Squid ist es gar nicht möglich, wenn man anhand meiner Anleitung den Zugriff regeln will, für die interne Nutzung müsste man einen extra CAS-Server, der nicht via Squid veröffentlicht wird, einrichten, der die formularbasierte Authentifizierung anbietet.
Mitglied: wiesi200
05.01.2014 um 16:42 Uhr
Hallo,

Am Exchange selbst kann man doch die zugriffe auch regeln?

Wobei der Squid ist ja auch interessant um andere Dienste zu veröffentlichen, von der Seite auf jedem Fall interessant.
Bitte warten ..
Mitglied: tikayevent
05.01.2014 um 16:57 Uhr
Am Exchange kannst du nur einstellen, ob OWA oder nicht. Wir haben es so, dass wir für unsere Filialen auch intern OWA nutzen (spart etwa 200 Outlooklizenzen), aber die Filialen dürfen nicht von außerhalb auf OWA zugreifen.

Wir hatten schon den Fall, dass Filialmitarbeiter gegangen sind, in der Filiale das Passwort nicht geändert wurde (Filialmitarbeiter gehen auch mal außerhalb der üblichen Passwortwechselintervalle) und dann waren auf einmal unternehmensinterne Informationen bei Personen, die nichts davon wissen sollten.

Diese Sache war aber nicht nur bei uns so gewünscht sondern auch bei unserem Outsourcingpartner, der bis vor einem Jahr unseren Exchangebetrieb inne hatten. Leider können die mit meiner Lösung nichts anfangen, da die die formularbasierte Authentifizierung nutzen und davon auch nicht wegwollen. Bisher nutzen die einen ISA oder ein TMG, ich glaube aber, dass es noch der ISA ist und die interne Sicherheitspolitik besagt, dass die DMZ keinerlei AD-Zugriff haben darf, daher die Zwei-Proxy-Strategie.
Bitte warten ..
Mitglied: wiesi200
05.01.2014 um 17:40 Uhr
Auf jeden Fall ein Interessantes Konstrukt. Squid bietet einiges an Spielmöglichkeiten auch für kleine Firmen bietet.

Ich bin gespannt @certifiedit wollt eftl noch ausprobieren wie es mit webTS aussieht.
Bitte warten ..
Mitglied: tikayevent
05.01.2014 um 17:56 Uhr
Ich hatte auch mal eine Konfiguration mit eingebautem Load Balancer, die dann aber nicht umgesetzt wurde, weil mein Chef auch "mitspielen" wollte. Weil Pound mit dem SSL-Offloading irgendwie nicht funktioniert hat, ist dann einfach ein Kemp VLM gekauft worden. Ich weiß nicht, ob ich die LoadBalancer-Config noch irgendwo rumliegen habe.

In Verbindung mit dem Mittelstandscluster (wie Frank Carius ihn nennt) bekommt man eine All-in-One-Lösung für so.
Bitte warten ..
Mitglied: Dani
06.01.2014 um 13:56 Uhr
Moin,
ich habe deine Anleitung in meiner querverlinkt, damit diese besser gefunden wird.

Am Exchange kannst du nur einstellen, ob OWA oder nicht.
Das ist so nicht richtig. Alle anderen Protokolle wie POP3, IMAP, OA und Activesync lassen sich am Exchangeserver konfiguieren. Ich habe dazu auch einen kl. Tipp vor einer Ewigkeit veröffentlicht

Grüße,
Dani
Bitte warten ..
Mitglied: tikayevent
06.01.2014 um 15:47 Uhr
Ich weiß was du meinst, ich meinte auch damit, dass man pro Benutzer einstellen kann, ob er OWA, OA, POP3, ... nutzen kann, aber nicht von welcher IP oder ob über einen Proxy oder so. Sobald einem Benutzer das Recht OWA eingeräumt würde, kann er es intern wie extern nutzen (wenn OWA von außerhalb erreichbar ist, was bei den meisten Installationen so sein wird).
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Exchange Server
SBS 2011 - Outlook Web App - Kritischer Fehler im Script (4)

Frage von Antshit zum Thema Exchange Server ...

Exchange Server
AUTODISCOVER EXCHANGE für OUTlook Anywhere (3)

Frage von pooner zum Thema Exchange Server ...

Exchange Server
Kein Zugriff auf freigebene Outlook Kalender (6)

Frage von akae11 zum Thema Exchange Server ...

Exchange Server
Outlook Anywhere läuft auf 2 Rechner nicht (4)

Frage von Leo-le zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...