Server Name Indication

Iedereen die met SSL en virtuele servers bezig is geweest kent het probleem waarschijnlijk wel. Per combinatie van ip en poort is maar 1 host mogelijk. Dit komt omdat de host nog geëncrypt is op het moment dat het verzoek bij de webserver binnenkomt.

Onlangs kwam ik per toeval de term SNI tegen (Server Name Indication). Deze uitbreiding van TLS zorgt er voor dat SSL voor virtuele hosts mogelijk is door de host mee te sturen als onderdeel van het TLS pakket. Dit is vastgelegd in de RFC 3546.

Overigens staat dit los van TLS v1.1, dit is vastgelegd in RFC 2817. Voor SNI heeft Microsoft duidelijk gesteld dat het vanaf beta 2 in IE7 is opgenomen. Het complete lijstje met browsers die ondersteuning hebben voor SNI is:

  • Firefox 2.0 en hoger
  • IE 7 en hoger
  • Opera 8.0 en hoger

Is alleen nog de vraag hoe de webservers hier mee omgaan. Voor Apache is er een nog experimentele uitbreiding genaamd mod_gnutls. In Lighttpd is vanaf versie 1.4 – met een kleine aanpassing – ondersteuning voor SNI aanwezig.