PKI Overheid en Apache2

Bij een klant waar ik nu zit ben ik wat tegengekomen wat ik jullie niet wil onthouden.

Door het failissement van DigiNotar moeten veel bedrijven hun PKI overheid certificaten bij een andere leverancier afnemen. Omdat in de tussentijd de eisen aan de hash methoden zijn aangescherpt lopen veel bedrijven nu tegen het probleem aan dat hun software niet klaar is voor de nieuwe certificaten.

Update: het bleek niet TLS1.2 te zijn dat roet in het eten gooide (stukje miscommunicatie tussen ons en het Kadaster) maar de certificate-chain.  Neemt niet weg dat TLS1.2 nog bedroevend slecht wordt ondersteund

Het punt zit hem in het feit dat MD5 en SHA1 niet meer supported zijn. Men dient minimaal SHA256 te ondersteunen welke deel uitmaakt van TLS1.2. Windows XP, Windows 2003 maar ook bijvoorbeeld OpenSSL 0.9 (veel gebruikt in linux server distributies) beiden standaard geen support voor TLS1.2 waardoor het nieuwe certificaat niet te gebruiken is.

Het probleem was niet direct duidelijk omdat een aantal browsers hier anders mee omgaat en de combinatie niet noodzakelijk als fout bestempeld (ben er nog niet helemaal uit waar dit aan ligt). Duidelijk wordt het wel als men via een recente Internet Explorer probeert de pagina in kwestie te openen. Je krijgt niet eens een handshake maar meteen een error.

Het geval bij de klant was een Apache2 machine welke als reverse proxy werd gebruikt. Deze machine staat voor een systeem dat met het kadaster moet kunnen communiceren. Het achterliggend systeem wordt via HTTP aangesproken dus regelt de Apache2 installatie ook de SSL termination.

Dat OpenSSL in de standaard Debian 6 installatie een probleem opleverde was al vrij snel duidelijk omdat na de upgrade; het verdacht rustig bleef in de accesslog. Bij gebrek aan support vanuit de verschillende leveranciers (gebruiken jullie geen windows? sorry maar dan kunnen we je niet helpen) dook ik Google in en trof daar een aantal lotgenoten. Vele gaven het al snel op en besloten naar GnuTLS te migreren.

mod_GnuTLS is een relatief jong project waar ik niet bijzonder van onder de indruk ben geraakt. Het werkte welliswaar direct en ondersteund TLS1.2 maar er staan nogal wat issues open. Zo bleek ook het samenwerken met mod_proxy niet mogelijk in eerste instantie. Een aantal mensen hebben zich op dit probleem gestort en daar kwam een patch uit. Deze patch sloopt net zoveel als dat het fixt maar het moet dan theoretisch wel mogelijk zijn om SSL termination te doen. Ik zeg theoretisch, het kan aan mij liggen maar ik heb er geen zinnig bitje door geperst gekregen.
Niet dat ik negatief ben over het project en de voortgang, het is naar mijn mening alleen geen volwassen alternatief voor OpenSSL (mod_ssl specifiek)

Dus toch maar weer naar mod_ssl. In een recente Ubuntu test-install bleek OpenSSL 1.x aanwezig te zijn. Pakken we de release notes er even bij:

Changes between 1.0.0f and 1.0.1 [..] Initial TLS v1.2 support. Add new SHA256 digest to ssl code
[..]

Deze versie van OpenSSL lijkt feilloos te werken met het nieuwe PKI overheid certificaat. Uiteraard is de software nog niet zo volwassen als we graag zien maar het is in ieder geval beter stabiel en het biedt een oplossing voor ons probleem.

Volgende week gaan we dus waarschijnlijk een Debian 6 Testing server optuigen om te kijken of we het DigiNotar certificaat dan toch definitief te kunnen verwijderen van onze servers.

Tags: , , , ,

Leave a Reply

You must be logged in to post a comment.