Браўзер, які спачатку ўводзіць http:// і трапляе на https:// пасля перанакіравання, ужо адправіў адзін запыт у чыстым выглядзе, і VPN гэтага не мяняе. Тунэль абараняе нагу ад кліента да вузла выхаду; ён не шыфруе нічога над транспартным узроўнем, таму назіральнік паміж выхадам і пачаткам па-ранейшаму бачыць скачок адкрытага тэксту. Увядзенне HTTPS у першы запыт - гэта змяненне на баку кліента з трох частак: сапраўдны адрас HTTPS, рэжым абнаўлення браўзера і ўласная палітыка сайта. Прыведзеныя ніжэй крокі - гэта парадак, які я выкарыстоўваю, кожны з чэкам, які паказвае, ці спатрэбіўся ён.

Крок 1: пацвердзіце, што на самай справе з'яўляецца першым запытам

Перш чым нешта мяняць, паглядзіце, што дасылае браўзер. Адкрыйце сеткавую панэль са старонкай, перазагружанай з халоднага кэша, і прачытайце першы радок: калі схема http і статус 301 або 308, усё пасля гэтага радка з'яўляецца другім запытам. curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' http://example.com прайгравае тую ж паслядоўнасць па-за браўзерам і друкуе URL-адрас, на які вы патрапілі.

Магчымыя два вынікі, і яны патрабуюць розных выпраўленняў. Калі сайт абслугоўвае HTTPS на тым самым хасце, выпраўленне заключаецца ў спыненні публікацыі HTTP-формы: абнавіце закладку, спасылку на вікі, ярлык на працоўным стале і шаблон электроннай пошты, на які людзі націскаюць. Калі сайт увогуле не абслугоўвае HTTPS, ніякія налады браўзера не створаць яго, і сумленны адказ у тым, што праблемай з'яўляецца пункт прызначэння. Не закрывайце другі выпадак выключэннем, таму што выключэнне сертыфіката на старонцы ўліковага запісу ператварае праблему транспарту ў праблему ўліковых дадзеных. Запішыце, у якім выпадку вы знаходзіцеся, перш чым дакранацца да налады.

Крок 2: уключыце ў браўзеры рэжым толькі HTTPS

Рэжым абнаўлення - гэта другая частка, і рэжымы не ўзаемазаменныя. Праверце, што робіць ваш, перш чым уключыць яго: абнавіць бясшумна, абнавіць з папярэджаннем або адмовіцца ад загрузкі.

У Firefox элементы кіравання знаходзяцца за about:config і на старонцы налад прыватнасці, з dom.security.https_only_mode у якасці пераключальніка і выключэннямі для кожнага сайта, якія кіруюцца з меню замка. У Chrome і Edge такая ж ідэя знаходзіцца ў раздзеле «Настройкі», «Прыватнасць і бяспека», «Бяспека», пазначаная «Заўсёды выкарыстоўваць бяспечныя злучэнні». Незалежна ад цэтліка, праверце паводзіны супраць хоста, які адказвае толькі праз порт 80, таму што рэжым, які абнаўляецца, а потым бясшумна вяртаецца, не з'яўляецца абаронай, якую вы лічыце ўключанай. У дакументацыі Firefox толькі для HTTPS апісваюцца паводзіны пры абнаўленні, папярэджанні і выключэнні для гэтага браўзера.

Крок 3: выпраўце рэсурсы, а не толькі адрасны радок

Калі абнаўленне не атрымоўваецца, чытайце дакладнае паведамленне пра памылку замест адраснага радка. Хост без слухача HTTPS, імя хаста, якое не адпавядае сертыфікату, і пратэрмінаваны ланцужок ствараюць розныя паведамленні і належаць розным уладальнікам. Толькі першы - гэта разрыў на баку сервера; другая - звычайна закладка, якая ніколі не абнаўлялася; трэцяе - гэта праблема абнаўлення, да якой злучэнне VPN не мае дачынення.

Не дадавайце выключэнне сертыфіката на сайт уліковага запісу, таму што VPN уключаны. Выключэнне адключае праверку, якая выявіла б менавіта той перахоп, які павінен прадухіліць VPN.

Трэцяя частка знаходзіцца ўнутры старонкі, і гэта тая, па якой людзі сумуюць. Старонка, якая загружаецца праз HTTPS, усё яшчэ можа атрымліваць выявы, шрыфты або сцэнарыі з http URL, і браўзер альбо заблакуе іх, альбо панізіць індыкатар бяспекі для ўсёй старонкі. Праверце няўдалыя запыты на сеткавай панэлі і выправіце спасылкі на рэсурсы ў іх уладальніка, а не мяркуеце, што адрасны радок апісвае кожны запыт. На сайце, якім вы карыстаецеся, гэта азначае выпраўленне URL-адрасоў, захаваных у CMS або шаблоне, замест таго, каб перапісваць іх у браўзеры. Калі вы не можаце змяніць крыніцу, запішыце змешаны кантэнт як вядомы прабел, таму што навясны замок на старонцы, якая выцягвае адкрытыя тэкставыя рэсурсы, з'яўляецца ілжывым сігналам.

Крок 4: што HSTS дадае, а што не

HSTS - гэта палітыка сайта, а не перавага браўзера, і гэта адзіны механізм, які вытрымлівае ўведзены http:// у новым профілі. Пасля таго як браўзер бачыць загаловак Strict-Transport-Security для хаста, ён перазапісвае наступныя запыты на https перад іх адпраўкай, што з'яўляецца менавіта той уласцівасцю, якую вы хочаце. Ён нічога не робіць для хоста, які браўзер ніколі не наведваў, і нічога для іншага імя хоста, які абслугоўвае тое самае прыкладанне.

Праверце, што дасылае крыніца з curl -sSI https://example.com | grep -i strict-transport-security. Адсутны загаловак - гэта змяненне сервера, а не тое, што кліент можа ўсталяваць. Калі ён прысутнічае, прачытайце max-age і ці ўсталяваны includeSubDomains, таму што паміж наведваннямі заканчваецца кароткі максімальны ўзрост, а адсутнасць includeSubDomains пакідае кожны субдамен неабароненым. RFC 6797 вызначае, як агент карыстальніка прымяняе палітыку і што ён можа ігнараваць. Папярэдняя загрузка - гэта асобнае абавязацельства, таму праверце статус праз API hstspreload.org, перш чым абяцаць каму-небудзь, што дамен знаходзіцца ў спісе.

Праверка і адкат

Адкат танны для налад кліента і дарагі для HSTS. Адключэнне рэжыму толькі HTTPS неадкладна аднаўляе папярэднія паводзіны; доўгі максімальны ўзрост - не, і наведвальнікі, якія ўжо атрымалі яго, працягваюць абнаўляць, пакуль ён не скончыцца.

Такім чынам, праверце па парадку, перш чым называць гэта зробленым. Перазагрузіце з халоднага кэша і пацвердзіце, што першым запытам на сеткавай панэлі з'яўляецца https без папярэдняга перанакіравання. Затым праверце субдамен, таму што ў includeSubDomains гэтыя палітыкі звычайна аказваюцца больш вузкімі, чым мяркуецца. Затым праверце адну старонку, якая выцягвае актывы трэцяга боку, бо змешаны змест - гэта збой, які перажывае ўсе іншыя выпраўленні.

Калі пасля ўсяго гэтага першы запыт па-ранейшаму з'яўляецца http, кліент больш не з'яўляецца зменнай: гэта спасылка, па якой людзі націскаюць. Шукайце ў месцах, якія вы кантралюеце, http-форму імя хаста, абнаўляйце іх і правярайце паўторна з той жа перазагрузкай халоднага кэша. Трымайце пытанне аб VPN асобна ва ўсім, таму што тунэль змяняе, хто можа бачыць запыт і ніколі не змяняе, ці зашыфраваны запыт. Радок, які трэба змясціць у білеце, заключаецца ў тым, што першы запыт з'яўляецца важным, а перанакіраванне - гэта толькі квітанцыя на ўжо адпраўлены запыт.

Падобныя артыкулы