Un răspuns direct la acest lucru ar deveni în cele din urmă depășit dacă mai multe domenii de nivel superior încep să impună HTTPS folosind HTTP Strict Transport Security (HSTS, RFC 6797). Din punct de vedere tehnic, aceasta este o politică HSTS a unui TLD trimis la lista de preîncărcare. Aceasta a început cu noile TLD-uri Google,
Lista de preîncărcare HSTS poate conține domenii sau subdomenii individuale și
chiar și domenii de nivel superior (TLD-uri), care sunt adăugate prin intermediul HSTS
site-ul web. TLD-ul este ultima parte a numelui de domeniu, de exemplu, .com
,
.net
, sau .org
. Google operează 45 de TLD-uri, inclusiv .Google
, .Cum
, și
.soia
. În 2015, am creat primul TLD securizat când am adăugat .Google
la
lista de preîncărcare HSTS, iar acum lansăm HSTS pentru o mai mare
numărul TLD-urilor noastre, începând cu .foo
și .dev
.
și chiar a existat gânduri preliminare asupra posibilității de a proteja întregul .gov
in viitor:
Micșorați și mai mult: este posibil din punct de vedere tehnic să preîncărcați HSTS
pentru un întreg domeniu de nivel superior (de ex. â.gov
â), așa cum a făcut Google prima dată
.Google
. Fiind un domeniu de nivel superior relativ mic, gestionat central,
poate într-o zi .gov
poate ajunge acolo.
Pentru a cunoaște situația actuală, trebuie să consultați Listă preîncărcată Chromium HSTS.
Lista preîncărcată este disponibilă și pe Chromium oglindă GitHub; mai ales cel versiunea brută este cel mai bine pentru răsuci
sau wget
. Lista este un non-standard JSON cu linii de comentarii. Se poate analiza cu jq
după eliminarea comentariilor cu de ex. sed
.
Aici jq
oferă toate numele de domenii din lista preîncărcată și grep
o reduce în TLD-uri:
cat transport_security_state_static.json \
| sed 's/^\s*\/\/.*//' \
| sed '/^$/d' \
| jq -r '.entries[]|select(.include_subdomains==true)|"\(.name)"' \
| grep -P "^\.?[a-z]*\.?$"
A cauta pentru sufixe publice în loc de TLD-uri:
cat transport_security_state_static.json \
| sed 's/^\s*\/\/.*//' \
| sed '/^$/d' \
| jq '.entries[]' \
| jq 'select((.policy=="public-suffix") și (.include_subdomains==true))' \
| jq -r '"\(.nume)"'