Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: tikayevent

tikayevent (Level 3) - Jetzt verbinden

05.01.2014, aktualisiert 13:55 Uhr, 9253 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 ..
Ähnliche Inhalte
Netzwerke

Kindersicherung mit PfSense und Squid (-Guard) für lokale und mobile Verbindungen

Erfahrungsbericht von the-buccaneerNetzwerke2 Kommentare

Vorneweg: Das hier ist "Infotainement". Es mag die eine oder andere technische Information zur Lösung der Aufgabe, an die ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.CilinInternet23 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Windows 10

Assigned access unter Win10 (1511) buggy bis unters Dach

Erfahrungsbericht von DerWoWussteWindows 101 Kommentar

Zur Info: Was unter Win8 noch funktionierte, ist mal wieder "überarbeitet" worden, schönen Dank dafür, Microsoft. Will man einem ...

Mac OS X

MacOS: Sicherheitslücke durch Root-Zugriff selbst schließen

Anleitung von FrankMac OS X8 Kommentare

Eine neue ziemlich heftige Sicherheitslücke in macOS High Sierra 10.13.1 (17B48) macht die Runde. Sie erlaubt unbefugten den Root-Zugriff ...

Neue Wissensbeiträge
Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 StundenAdministrator.de Feedback7 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 19 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...