Sophos Mobile Control mit HAProxy
Zugegeben: Die Dokumentation von Sophos Mobile Control ist- schmeichelhaft ausgedrückt- spartanisch.Hat man das System jedoch erstmal am Laufen so gibt es kaum noch Kritikpunkte.
Ein Punkt, über den sich die Dokumentation gänzlich ausschweigt, ist die Konfiguration von Lastverteilungsszenarien.
Das Ziel war die bereits bestehende Lösung mit einem Loadbalancer (HAProxy) und 2 CAS- Servern auch für SMC (Sophos Mobile Control) nutzen zu können.
Herausgekommen bei allen Überlegungen ist folgendes Konstrukt:
Die SSL-Verbindung der Clients geht durch die Firewall und terminiert am HAProxy. Die Verbindung zu den CAS Servern erfolgt unverschlüsselt. Der HAProxy filtert, basierend auf der aufgerufenen URL den ActiveSync Traffic heraus, und leitet diesen an die auf den CAS Servern installierten Sophos EAS Proxies. Der restliche Traffic, wie z.B. Outlook WebAccess wird direkt zu den CAS Servern geleitet.
Grundvoraussetzung ist hierfür, dass der HAProxy auch SSL Offloading macht, da der Proxy ansonsten keine Möglichkeit hat die aufgerufene URL analysieren zu können, sondern lediglich "dumm" auf TCP/IP Pakete reagiert.
SSL Offloading beherrscht HAProxy seit der Version 1.5. Die Installation auf einem FreeBSD System kann entweder aus den Paketen oder auch aus den Sources erfolgen. Der zweite Weg sieht in etwa so aus:
Diese sieht stark vereinfacht wie folgt aus:
Grundvoraussetzung ist hierfür, dass der HAProxy auch SSL Offloading macht, da der Proxy ansonsten keine Möglichkeit hat die aufgerufene URL analysieren zu können, sondern lediglich "dumm" auf TCP/IP Pakete reagiert.
SSL Offloading beherrscht HAProxy seit der Version 1.5. Die Installation auf einem FreeBSD System kann entweder aus den Paketen oder auch aus den Sources erfolgen. Der zweite Weg sieht in etwa so aus:
# tar xvfz haproxy-ss-20130118.tar.gzNach der Installation erwartet das System eine Konfigurationsdatei haproxy.conf unter /usr/local/etc/.
# cd haproxy-ss-20130118
# gmake TARGET=freebsd USE_OPENSSL=1 USE_ZLIB=1 USE_PRIVATE_CACHE=1
# gmake install
Diese sieht stark vereinfacht wie folgt aus:
frontend WebAccess
mode http
bind 192.168.1.1:443 ssl crt /usr/local/etc/cert.pem
acl ACLActiveSync path_beg /Microsoft-Server-ActiveSync
use_backend ActiveSync
default_backend ExchangeOWA
option forwardfor
backend ActiveSync
balance roundrobin
server cas1 192.168.10.1:4430 maxconn 20000
server cas2 192.168.10.2:4430 maxconn 20000
backend ExchangeOWA
balance roundrobin
server cas1 192.168.10.1:80
server cas2 192.168.10.2:80
Besonders wichtig sind an dieser Konfiguration die Zeilen 4 und 5. Dort erfolgt die "Auskopplung" des ActiveSync Traffics und die Umleitung auf den Sophos EAS Proxy, der im Beispiel auf Port 4430 hört.
Nach dem Start des HAProxy ist dieser nun soweit einsatzbereit.
Ein weiterer wichtiger Punkt ist die Anpassung der CAS Server damit diese das SSL Offloading unterstützen und vor allem auch nicht auf SSL verschlüsselten Traffic bestehen.