Denne artikkelen skal handle om SNI:
- Hva er det?
- Hvorfor er det viktig?
- Hvordan gjør man det?
Vi begynner med en liten fortelling for å gi et bilde av problemstillingen.
T. H. Blacktus tuslet gjennom svingdøren og bort til resepsjonisten.
– Hei, sa han smilende. Jeg skal besøke noen her. Vet ikke hva de heter, men jeg vil gjerne lete. Er de her i dag så vil jeg finne dem, helt sikkert. Er det greit?
– Javisst! Hvilken etasje vil du begynne i?
– Hva med fjerde? Hvordan kommer jeg meg dit?
– Heisene er der borte til venstre. Lykke til!
Dette var jo en naiv resepsjonist, men analogien til denne historien kan man finne igjen på Internett den dag i dag.
Trusselaktører blir gitt fritt leide til å sjekke om dørene er låst eller ikke. Med Server Name Indication blir trusselaktørene stoppet i resepsjonen.
Dette illustrerer viktigheten av SNI.
Hva er SNI og hvordan funger det?
Vi har reverse proxies og webservere der vi sikrer kommunikasjon over HTTPS. Likevel, det er ikke alltid vi spør det enkle ‘hvem skal du snakke med?’
Dette er én av grunnene til at enkle portscannere fremdeles flittig er i bruk blant trusselaktørene. Server Name Indication vil begrense nytten av disse.
Server Name Indication ble opprinnelig laget for å kunne stable flere web sites på samme server IP. Moderne browsere vil under TLS handshake sende FQDN fra adressen gjennom et eget TCP-felt for SNI.
Skriver jeg https://nrk.no/nyheter vil browseren sende dette i datastrømmen;
‘Server Name Indication extension> Server Name: nrk.no’
Webserveren til NRK vil sjekke hva det står i dette feltet. Er det tomt vil serveren kunne avslutte kommunikasjonen – jeg blir ikke sluppet videre.
En enkel portscanner vil legge inn IP-adressen i SNI-feltet, og det vil fungere om webserver-sertifikatet inkluderer IP-adressen.
Samtidig er det sjelden kost å ha dette på Internett-eksponerte sites. Klient skal benytte FQDN som ligger i DNS.
Hvordan gjør man det?
Kort om hvordan Server Name Indication aktiveres for noen mye brukte brannmurer og ADC-er:
- Netscaler. Aktiver SNI i TLS/SSL settings. Velg SNI-modus når sertifikat bindes til f.eks. Content Switch.
- BiGIP/F5. SNI Routing.
- Ngnx. Skru på ‘TLS SNI support’. Definer TLS-parametre i ‘server’-konfigurasjonen.
- Checkpoint. URL Filtering.
- Palo Alto. Custom Application.
- Fortigate. Inline SNI og SNI Policy.
Hva gjør vi når Server Name Indication er på plass? Om du har en reverse proxy kan mutual TLS være neste steg.
Har du spørsmål til dette ta gjerne kontakt med oss i Sicra.