Как да добавите HTTPS към вашия уебсайт безплатно за 10 минути и защо трябва да направите това сега повече от ...

Миналата седмица Google обяви, че Chrome 68, който пристига през юли, ще маркира всички HTTP страници като „Не е защитен“.

Това е най-силният тласък, който досега е насочил мрежата към криптиране по подразбиране и отдавна идва.

Въпреки че има много доказателства, които говорят защо всеки трябва да се възползва от HTTPS бандата, много хора все още не виждат ползата от безопасното обслужване на сайтовете си.

Защо ми трябва това за блог ?“

И преди съм писал за стойността на HTTPS, но само за да повторя:

  • HTTPS защитава потребителите срещу атаките Man In the Middle.
  • HTTPS се изисква, за да използва много нови функции в браузъри като Service Workers
  • HTTPS влияе на SEO

Ако не сте убедени, прочетете doesmysiteneedhttps.com, за да получите пълната картина защо всеки уебсайт трябва да се обслужва сигурно.

И ако все още не го разберете, тогава животът ще стане много по-труден за вас.

В опит да отблъснат потребителите от несигурни сайтове, браузърите измамват уебсайтове, обслужвани несигурно в определени контексти.

Chrome 56 стартира тази тенденция, като маркира страниците с чувствителни полета за вход като „Несигурни“, докато Chrome 62 разшири това предупреждение до всички HTTP страници, които съдържаха всякакъв вид поле за въвеждане. Освен това предупреждението се показва на всички HTTP страници в режим инкогнито, независимо дали съдържат поле за въвеждане или не.

Firefox също предупреждава потребителите, когато се опитват да попълнят несигурен формуляр за вход.

Сега Chrome реши да постави това предупреждение на всички HTTP страници занапред. В крайна сметка иконата до етикета „Не е защитена“ ще се промени и текстът ще стане червен, за да подчертае допълнително, че на HTTP страниците не може да се вярва.

За да попречите на потребителите да виждат това предупреждение на вашия уебсайт, всичко, от което се нуждаете, е да получите валиден SSL сертификат. Добрата новина е, че това не е толкова трудно или скъпо, колкото преди. Всъщност ще ви покажа как да разположите HTTPS на вашия сайт безплатно с помощта на Cloudflare. И изобщо няма да отнеме много време.

Защо Cloudflare?

CloudFlare може да ви помогне да защитите SSL сертификат безплатно, независимо от сървърната инфраструктура, която имате. Той също така работи за сайтове, които се хостват на платформи, които не предоставят достъп до сървъри като GitHub Pages, Ghost и подобни.

Не е необходимо да инсталирате нищо или да пишете какъвто и да е код. Това го прави наистина чудесна възможност за разполагане на HTTPS на вашия уебсайт и времето за настройка буквално трябва да отнеме не повече от 10 минути.

Той също така предоставя безброй други предимства в сигурността и работата на вашия уебсайт, които няма да разглеждам тук. Но ще говоря малко за това как всичко работи, за да можете да добиете добра представа за това как е в състояние да прави всички тези неща.

Как работи Cloudflare

Cloudflare се намира точно в средата на трафика между посетителите на вашия уебсайт и вашия сървър. Посетителите могат да бъдат обикновени хора, роботи и ботове (като ботове на търсачките) или хакери. Действайки като посредник между вашия уеб сървър и посетителите на вашия сайт, Cloudflare помага да се филтрира целият нелегитимен трафик, така че да преминават само добрите неща.

Сега може би се чудите дали всичко това може да има неблагоприятен ефект върху скоростта на вашия уебсайт, но е точно обратното. Cloudflare разполага с центрове за данни по целия свят, така че той просто ще използва най-близката крайна точка до посетителя ви, което трябва да направи вашия сайт много по-бърз, отколкото преди.

След като вече знаем как работи Cloudflare, нека да разгледаме как да настроим уебсайт на тяхната инфраструктура и как да влезем безплатно в HTTPS. Фокусът тук ще бъде върху функциите, които Cloudflare предоставя безплатно, но имайте предвид, че платените планове се предлагат и с куп допълнителни функции.

Създаване на нов сайт

След като се регистрирате в Cloudflare, първото нещо, което трябва да направите, е да добавите домейн и да сканирате DNS записите.

След като сканирането приключи, ще бъдат показани всички DNS записи в домейна. Можете да изберете поддомейните, на които искате да активирате Cloudflare, и да направите желаните модификации. След като сте готови, щракнете върху Продължи, за да преминете към следващата стъпка.

Изберете безплатния план и щракнете върху Напред.

След това ще трябва да промените сървърите на имена в регистратора на вашия домейн на предоставените от Cloudflare. Процесът за това при всеки регистратор на домейни е малко по-различен, затова се консултирайте с вашия регистратор на домейни.

Ето как изглежда в Namecheap:

Сега трябва да изчакате промените на сървъра на имена да завършат разпространението. Кликнете върху Проверете сървърите на имена след известно време, за да видите дали вашият сайт вече е активен в Cloudflare. Това е най-дългата част от настройката и може да отнеме до 24 часа, но според моя опит отнема по-малко от 5 минути.

След като актуализациите на сървъра ви за имена бъдат потвърдени от Cloudflare, вашият сайт става активен в услугата.

Ако искате да сте абсолютно сигурни, че вашите DNS настройки са се разпространили навсякъде, What My DNS предоставя начин да проверите на кой IP адрес вашият домейн разрешава на различни места.

Можете също да използвате digили nslookupв командния ред, за да проверите DNS конфигурацията на вашите домейни.

По този начин можете да сте сигурни, че целият трафик към вашия домейн сега се насочва през Cloudflare.

Преди да започнете да конфигурирате Cloudflare, уверете се, че браузърът ви не използва старите DNS записи от кеша си. В Chrome и Firefox можете да направите това, като изчистите историята на браузъра си.

Получаване на SSL безплатно

SSL все още е първокласна услуга и много сертифициращи органи начисляват значителни суми, преди да издадат SSL сертификат. Това не е нещо, което можете просто да получите безплатно навсякъде, но това се променя бързо в индустрията.

След като Cloudflare седи в средата на вашия уеб трафик, трябва автоматично да получите SSL на вашия домейн. Може да отнеме до 24 часа, докато сертификатът стане активен, но според моя опит изобщо не отнема много време.

След като сертификатът стане активен, заредете сайта си в браузър. Трябва да видите сайта, обслужван през HTTPS и хубав зелен катинар в адресната лента.

Ако видите повече информация за сертификата, ще видите сертифициращия орган, който го е издал (Comodo в моя случай) и датата на изтичане. Едно от страхотните неща за Cloudflare е, че подновяването на сертификата се извършва автоматично за вас, така че няма притеснения там.

Разлика между гъвкав, пълен и пълен (строг) SSL

Cloudflare улеснява получаването на SSL на вашия сайт безплатно, без да конфигурирате нищо, но не винаги е същото като обслужването на вашия сайт чрез SSL директно от произхода.

Има три реализации на SSL на Cloudflare. Първият, който получавате по подразбиране, е гъвкав SSL. В този случай трафикът е криптиран между потребителите на вашия сайт и Cloudflare, но това криптиране не отива чак до първоначалния сървър. Cloudflare все още говори с вашия сървър през обикновен HTTP.

Това означава, че всеки човек в средата (като доставчици на мрежи) между Cloudflare и вашия сървър може да вижда трафика. Ако събирате поверителна информация на уебсайта си, въздържайте се да използвате тази опция.

За да имате шифроване до изходния сървър, трябва да използвате пълното или пълно (стриктно) изпълнение. Първият изисква да инсталирате валиден сертификат на вашия сървър, но автентичността на сертификата няма да бъде проверена, за да можете да се справите със самоподписан сертификат. От друга страна, пълното (стриктно) внедряване изисква да инсталирате валиден SSL сертификат, подписан от доверен сертифициращ орган.

Ако не искате да закупите SSL от подобни на Comodo, можете да получите безплатни сертификати Origin CA от Cloudflare, които могат да се използват с опциите Пълен или Пълен (строг), тъй като те се доверяват от Cloudflare. Но имайте предвид, че тези сертификати се доверяват само от Cloudflare, така че те ще спрат да работят, ако решите да премахнете уебсайта си от инфраструктурата на Cloudflare.

Ако не контролирате сървърната си среда, кажете дали вашият сайт се хоства на GitHub Pages или подобни платформи, няма да можете да използвате изпълненията Full или Full (Strict), което означава, че въпреки че вашите потребители виждат HTTPS в адресната лента, трафикът няма да отиде чак до криптирания първоначален сървър.

Но това все още е значително подобрение в сравнение с липсата на HTTPS изобщо, защото ще предпази потребителите ви от това да сте Man In The Middled от страна на клиента.

Укрепване на прилагането на SSL

Без значение за каква SSL реализация сте избрали, има начини да я засилите, за да сте сигурни, че потребителите никога няма да имат достъп до вашия сайт чрез несигурен HTTP. Qualys SSL Labs е инструмент, който ви помага да изпълните тест на вашата SSL конфигурация, за да видите дали има място за подобрение.

Въпреки че получавам оценка A от моя домейн, ако разгледате резултатите, ще видите, че определено има място за подобрение в обмена на ключове и силата на шифъра на нещата.

Нека да разгледаме няколко неща, които можем да направим в Cloudflare, за да подсилим SSL и да увеличим рейтинга си.

Принуждавайте HTTPS навсякъде

След като излезете от HTTPS, определено искате да предотвратите достъпа на потребителите до вашия сайт по несигурна връзка. Можете да направите това в Cloudflare, като 301 пренасочите целия HTTP трафик към HTTPS.

Под Настройки на крипто намерете опцията Винаги използвай HTTPS и го включете.

Активиране на HTTP строга транспортна сигурност (HSTS)

Писах за това как HSTS укрепва SSL на вашите сайтове в миналото, но нека просто да го прегледаме отново накратко.

Проблемът само с 301 пренасочване на HTTP трафик към HTTPS е, че първоначалната несигурна заявка все още преминава през кабела, което означава, че може да бъде прочетена от всеки, който има достъп до трафика.

HSTS е заглавна част на отговора, която решава този проблем, като казва на браузъра, че може да не направи несигурна заявка към уебсайт за определено време.

Ето как изглежда заглавката:

strict-transport-security: max-age=31536000

След като браузърът получи този хедър, той няма да направи несигурна заявка към вашия сайт за следващите 31 536 000 секунди (на стойност 1 година). Вместо това всички HTTP заявки ще бъдат надстроени вътрешно до HTTPS, преди да бъдат изпратени по мрежата.

Ако искате да предотвратите достъпа до всички поддомейни през HTTP, ще ви е необходима includeSubdomainsдирективата. Можете също да добавите preloadдирективата, за да позволите на доставчиците на браузъри да изпекат сайта ви в самия браузър като само HTTPS.

strict-transport-security: max-age=31536000; includeSubdomains; preload

След като активирате HSTS за вашия домейн, можете да бъдете почти сигурни, че след като някой е заредил уебсайта ви през HTTPS, той ще може да направи достъп до него само през защитената схема занапред.

Така че, преди да активирате HSTS на вашия сайт, уверете се, че сте уверени, че целият ви трафик ще бъде обслужван през HTTPS, в противен случай ще срещнете проблеми.

За да активирате това в Cloudflare, отидете в настройките на Crypto и превъртете надолу до секцията HTTP Strict Transport Security (HSTS) . Кликнете върху Промяна на настройките на HSTS, активирайте всички съответни опции и натиснете Запазване .

И само в случай, че се чудите, поддръжката на браузъра за HSTS е доста добра.

Коригирайте несигурните препратки към схемата

Ако вградите пасивен ресурс (като изображение) по несигурен начин в защитена страница, браузърът все още го зарежда добре. Просто сваля зеления катинар от адресната лента. Можете да видите пример за тази грешка тук.

Ако проверите конзолата на браузъра, ще видите някои предупреждения или грешки, които сочат към ресурса, който е бил вграден по несигурен начин. В този случай е така

HTTP image

За да поправите това, просто сменете схемата на HTTPS и всичко ще бъде добре отново.

HTTP image

Ако имате много съдържание във вашия сайт, вградено по несигурен начин, намирането и поправянето на всеки може да бъде доста досаден. Но Cloudflare може отново да ви помогне тук с функцията за автоматично пренаписване на HTTPS.

За да сте двойно сигурни, че никое съдържание на вашия уебсайт никога не може да бъде обслужвано по несигурен начин, помислете за прилагане на политика за сигурност на съдържанието на вашия сайт.

Сега нека видим как горните промени в са повлияли на нашия отчет за SSL Labs. Повторих теста в моя домейн и сега получаваме рейтинг A +.

Ако проверите индивидуалните оценки в графиката, нищо не се е променило, но все пак получаваме наистина сигурна SSL реализация безплатно и само за няколко минути.

Алтернативи на Cloudflare за безплатен SSL

Ако предпочитате да не използвате Cloudflare по някаква причина, има и други начини, по които можете да получите уебсайта си на HTTPS безплатно. Ето две опции, които можете да опитате:

Нека шифроваме

Ако имате контрол над сървъра си, можете бързо да разположите HTTPS на вашия сайт, използвайки Let's Encrypt. Те предлагат безплатни SSL сертификати, които продължават три месеца и могат да бъдат подновени автоматично.

Дори да нямате достъп до сървъра, консултирайте се с вашия уеб хост. Някои хостове ще ви позволят да използваме Let's Encrypt SSL, без да предоставят достъп до черупки.

Amazon AWS Certificate Manager

Amazon също издава и автоматично подновява SSL сертификати за клиенти на своята инфраструктура на Amazon Web Services (AWS). По този начин можете да зададете и забравите HTTPS на вашия сайт, ако използвате ресурси на AWS като Cloudfront.

Независимо от начина, по който прилагате HTTPS на уебсайта си, най-важното е да се уверите, че получавате настройка възможно най-скоро, така че вашите потребители да получат предимствата на сигурността, които предоставя, и да не пропускате няколко страхотни функции в браузърите, които ще ви помогнат създавате по-добри уеб изживявания.

Ако тази статия ви е харесала, споделете с други, които могат да се възползват от нейното четене. Между другото, направете проверка на моя блог на freshman.tech за статии за уеб разработка. Благодаря за четенето.