Apache of IIS als Reverse Proxy voor Domino

Gisteren bij een klant een Domino server voorzien van een wildcard SSL certificaat.
Klant heeft meerdere (sub)domeinen maar slechts 1 publiek IP-adres.
Voor sites draaiend op HTTP geen enkel probleem, maar zelfs in versie 9 van Domino is het nog steeds niet mogelijk om meerdere SSL sites op 1 IP-adres te configureren.
Ik ben echt een groot liefhebber van IBM en Domino/Notes in het bijzonder, maar dat simpele dingen zoals dit nog steeds niet kan vind ik echt een misser!
http://www-01.ibm.com/support/docview.wss?uid=swg21173919

Meestal plaats ik er dan maar een Apache HTTP of Microsoft Internet Information Services (IIS) server als Reverse Proxy voor (vaak op de zelfde machine), configureer de SSL sites en stuur ze intern door naar Domino via http op een andere poort, bijvoorbeeld poort 1080, zodat IIS of Apache op poort 80 een 443 kan draaien.
In zowel Apache HTTP als IIS servers is het geen probleem om meerdere SSL/HTTPS sites aan 1 IP-adres te koppelen.

IIS

Voor IIS 8 ziet het er dan als volgt uit:
iis_rewrite01

iis_rewrite02

iis_rewrite03

iis_rewrite04

Apache

Voor Apache zijn er ook wel mooie interfaces, maar een tekstverwerker is snel en werkt ook prima:

<VirtualHost *:80>
ServerName demobedrijf.nl
RewriteEngine On
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
ServerName demobedrijf.nl
SSLEngine on
SSLProtocol ALL -SSLv2 -SSLv3
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:!RC4+RSA:+HIGH:+MEDIUM
SSLCertificateFile “C:/Program Files/Apache/conf/ssl/star_ demobedrijf_nl.crt”
SSLCertificateKeyFile “C:/Program Files/Apache/conf/ssl/star_ demobedrijf_nl.key”
SSLCertificateChainFile “C:/Program Files/Apache/conf/ssl/Comodo_PositiveSSL_bundle.crt”
ProxyPass / http://demobedrijf.nl:1080/
ProxyPassReverse / http://demobedrijf.nl:1080/
</VirtualHost>

De webserver die als Proxy fungeert  luistert dan naar poort 80 en 443.
iis_bindings

En Domino staat ingesteld op  bijvoorbeeld poort 1080.

domino_bindings

Doordat de reverse proxy server intern via het gewone HTTP protocol verstuurd zal Domino geen probleem hebben om het juiste website document te koppelen aan het verzoek.

 

Beveiligingslek in SSL 3.0 – ook van toepassing voor IBM Domino

Afgelopen week was het weer raak: diverse beveiliging sites waarschuwen voor een probleem met SSL (HTTPS verkeer).
Zie bijvoorbeeld: www.security.nl
Met POODLE (Padding Oracle On Downgraded Legacy Encryption) is een aanval via een SSL versie 3 verbinding mogelijk.

SSL 3.0

SSL 3.0 blijkt een forse fout te bevatten waardoor hackers toegang kunnen krijgen tot versleutelde informatie.
Doordat het verouderde SSL 3.0 protocol ook in de nieuwe standaard, TLS, nog steeds beschikbaar is als terugval-optie, is de ‘Poodle’ bug ook voor nieuwe systemen een aanmerkelijk risico.

Diverse software leveranciers zijn druk bezig met een oplossing voor dit probleem.
Tot er een oplossing is wordt aanbevolen SSL2 en SSL3 uit te zetten op uw webserver en gebruik te maken van het veiligere TLS.
Voor webservers als Apache is dit geen probleem, op internet zijn diverse manieren te vinden die dit helemaal uitleggen.
Echter voor Domino servers met de standaard HTTP taak, is dit geen optie.

De laatste versie van Domino, 9x Social Edition heeft ook de mogelijkheid om IBM HTTP Server als alternatieve webserver te gebruiken.
Dit is al een hele verbetering omdat de IBM HTTP Server, gebaseerd op Apache, wel de veiligere verbindingen ondersteund.
Met een paar aanpassingen (dezelfde als bij Apache) kan SSLv3 uitgeschakeld worden.
Het installeren van IBM HTTP Server is een optie in het installatie programma van Domino 9. Zie ook http://www.ibm.com/support/docview.wss?uid=swg27039743
Toch zijn ook met deze opzet diverse (andere) problemen gemeld op internet.
IBM zelf heeft nog geen officiële reactie gegeven op dit probleem. Zie ook: www-10.lotus.com/ldd/ndseforum.nsf

Apache reverse proxy

Op dit moment lijkt het de meest betrouwbare oplossing om een Apache webserver te installeren die als reverse proxy wordt ingesteld om alle verzoeken door te sturen naar Domino.
Dit kan, mits de server voldoende capaciteit heeft, op de zelfde machine geïnstalleerd worden zodat er geen extra hardware nodig is.
De veilige SSL verbinding wordt dan tot stand gebracht met de Apache webserver die op zijn beurt intern een normale verbinding via HTTP met Domino maakt.
Het voordeel is dat problemen met Apache veel sneller opgelost worden door de Open Source gemeenschap.
Ten opzichte van de Domino HTTP server is certificaat beheer in IBM HTTP Server en Apache ook veel eenvoudiger.

Microsoft IIS

Voor Windows beheerders die liever met Microsoft IIS werken, natuurlijk is dat ook mogelijk in combinatie met IBM Domino.
Op de site van Microsoft is ook informatie te vinden SSLv3 (en overige protocollen) uit te schakelen: http://support.microsoft.com/kb/187498/en-us

Om te controleren of uw webserver kwetsbaar is zijn er diverse testen op internet te vinden, onder andere op:

www.ssllabs.com
ssltools.websecurity.symantec.com

Vanzelfsprekend kunnen wij u helpen met het testen, adviseren en zo nodig het oplossen van dit probleem!

Update 23 oktober 2014

IBM heeft ook een Technote geplaatst over dit onderwerp:
http://www.ibm.com/support/docview.wss?uid=swg21687167

Zie ook:
http://www.ibm.com/support/docview.wss?uid=swg21418982