Door PDberlin: Dat leidt bij gebruik van HSTS tot een extra redirect (http > https > https://www) omdat van http naar https://www niet mogelijk is.
Voor alle duidelijkheid: dat laatste is
wel mogelijk, maar onverstandig (omdat dit de voordelen van HSTS voor bezoekers teniet doet). Ik heb het e.e.a. geprobeerd uit te leggen in o.a.
https://www.security.nl/posting/802243/Steekproef%3A+overheid+%2B+HSTS.
Door PDberlin: Is er een ontwikkeling om www niet meer te gebruiken, zijn hier adviezen over?
Er zijn een stel niet altijd duidelijke afwegingen die je moet maken, vooral bij grotere organisaties. Denk maar aan
google.com, met subdomein
sites.google.com waar user-content op staat. Als er de een of andere "policy" bestaat die wordt ingesteld voor
google.com, die
automatisch geldt voor subdomeinen, kan dat ongewenste gevolgen hebben.
Eén voorbeeld is "
includeSubdomains" bij HSTS. Indien je jouw website op
example.nl wilt zetten, en je daar HSTS met "
includeSubdomains" voor configureert, kun je geen "legacy" toepassingen (zoals
http://intranet.example.nl) meer gebruiken. Maar ook bij andere headers en content kan "naar beneden" (van een domeinnaam naar een subdomeinnaam) anders werken dan "omhoog".
Onthoud dat een publieke domeinnaam (in het publieke DNS geregistreerd) een krachtig iets is
omdat deze -noodzakelijkerwijs- wereldwijd uniek is. Precies daarom kun je er bijvoorbeeld publiek erkende https (en andere TLS-) servercertificaten voor kopen.
M.b.t. jouw website: als je bijvoorbeeld
internen iets anders (dan
externen) wilt laten zien als zij "naar
example.nl gaan" (in de adresbalk van hun browser
example.nl invoeren en op Enter drukken), kan het verstandig zijn om van
example.nl een
jumpsite te maken: internen stuur je door naar bijvoorbeeld
https://intranet.example.nl en externen naar
https://www.example.nl. Desgewenst kunnen internen dan ook
https://www.example.nl openen.
Nb.
Iedereen kan een interne server SRV01 of srv01.local noemen (waar je geen publiekelijk erkend certificaat voor kunt krijgen). Eveneens kan
iedereen een eigen CA (Certificate Authority) en DNS server realiseren en een server
intranet.example.nl met intern erkend certificaat optuigen - maar die zou, buiten hun netwerk, niet bereikbaar moeten zijn (zelfs een
interne website met de letterlijke naam
https://example.nl of
https://security.nl is mogelijk, maar ook die hoort extern niet vanaf internet bereikbaar te zijn, en mocht dat
toch zo zijn, krijgt een bezoeker een foutmelding - indien voor zijn/haar browser niet het rootcertificaat van de interne CA is geïnstalleerd).
Omdat het aanvallers van Windows-omgevingen vaak lukt om beheertoegang tot (AD) domain controllers te verkrijgen en vervolgens certificaten uit te geven, zou je zelfs kunnen overwegen om geen eigen CA in te richten en
alle interne servers (waar nodig) van publieke certificaten te voorzien (en de gangbare AD-beheertoegang op die servers te blokkeren - meer werk, minder risico's).
Kortom, je haalt je potentieel vanalles op de hals door de website van een Nederlandse organisatie genaamd "Example" te bouwen direct op
example.nl in plaats van op
www.example.nl; die laatste is meestal de veiligste keuze als je niet alles overziet en de toekomst niet kunt voorspellen.
En als je HSTS goed configureert (check je domein op
https://internet.nl, zeer leerzaam!) krijgen bezoekers twee in plaats van één records in de HSTS database van hun browser, maar verder zie ik geen nadelen voor hen.
P.S. let er wel op dat
alle klikbare links (vooral naar externe sites), in elk geval "onder water", met
https:// beginnen (dit zou m.i. op z'n minst een PTOLU moeten zijn). Bijv. op
https://inspiratie.uwv.nl kon ik met een paar klikken al 2 pagina's vinden met achter "Deel dit artikel" een "
(in)" icoontje met daaronder een link die begint met
http://www.linkedin.com/shareArticle?. Nergens voor nodig!