SSL Offloading für den SMC Server
Um den Sophos Mobile Control (SMC) Server für Hochverfügbarkeitsszenarien hinter einem Loadbalancer mit SSL Offloading betreiben zu können sind Änderungen am JBOSS Server notwendig.Dieser leitet in der Standardinstallation alle Aufrufe an Port 80 (HTTP) direkt auf eine gesicherte HTTPS Verbindung auf Port 443 weiter. Aktiviert man nun SSL Offloading so wird man nie eine (sichtbare) Antwort im Browser erhalten.
Der JBOSS muss die Seiten auch über unverschlüsseltes HTTP ausliefern. Hierzu muss im Verzeichnis
C:\Program Files (x86)\Sophos\Sophos Mobile Control\jboss\server\mdm\deploy\jboss-web.deployerin der Datei
server.xmlnach dem Connector für Port 80 gesucht werden. Dieser ist entsprechend dem unten stehenden Konfigurationsschnipsel zu ergänzen/ ändern:
...
<Connector port="80" address="${jboss.bind.address}"
maxThreads="500" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" server="server"
compression="on" scheme="https" secure="true" proxyName="SSL_PROXY" proxyPort="443"
compressionMinSize="512"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/css,text/html,text/javascript,application/x-javascript,application/javascript,text/xml,image/gif"
maxSavePostSize="-1"
/>
...
SSL_PROXY ist hierbei die offizielle URL des Sophos Mobile Control Servers (z.B. mobilecontrol.bayreuth.tk). Die Anpassung ist selbstverständlich auf allen beteiligten SMC Servern durchzuführen. Nach einem Neustart des Dienstes liefert der SMC Server nun unverschlüsselte Seiten auf Port 80 aus. Der Zugriff klappt nun durch den SSL Proxy problemlos.
HAProxy mit SSL offloading
Seit der Version 1.5 kann der HAProxy auch als Endpunkt für SSL gesicherte Verbindungen dienen und ermöglicht somit SSL Offloading. Hierbei wird das Zertifikat der HTTPS- Website nur einmal am Proxy hinterlegt; dieser "entschlüsselt" dann die Anfrage und leitet den Aufruf als regulären unverschlüsselten HTTP- Request an die dahinterliegenden Webserver weiter.Der relevante Ausschnitt aus der Konfiguration eines HAProxies sieht hierzu in etwa wie folgt aus:
frontend SMCSync
mode http
bind 172.317.6.433:4430 ssl crt /etc/haproxy-certs/cert.pem
default_backend SMCSync
backend SMCSyncNachdem alle beteiligten Komponenten entsprechend angepasst sind ist die Erreichbarkeit durch den SSL Proxy nun kein Problem mehr. ABER: Über eine interne URL ist der Zugriff nun nur noch durch explizite Angabe von https:// in der URL möglich.
balance roundrobin
server smcserver1 172.317.6.431:80
server smcserver2 172.317.6.432:80