Ի՞նչ են HTTPS-ը և SSL-ը։ Ինչպես են աշխատում անվտանգ կայքերը, պարզ բացատրությամբ
HTTPS-ը HTTP-ի անվտանգ տարբերակն է, այն արձանագրությունը, որով բրաուզերները խոսում են կայքերի հետ։ Այն յուրաքանչյուր հարցում և պատասխան փաթաթում է գաղտնագրված կապի մեջ՝ TLS-ի (Transport Layer Security) միջոցով, այնպես որ այցելուի և կայքի միջև գտնվող ոչ ոք չի կարող կարդալ կամ փոխել ուղարկվածը։ SSL-ը նույն գաղափարի հին անունն է՝ սկզբնական արձանագրությունը, որին TLS-ը փոխարինեց, և հենց դրա համար մարդիկ դեռ ասում են «SSL վկայագիր»։
Ինչու է HTTPS-ը կարևոր AI-ով կառուցելիս
Յուրաքանչյուր հավելված, որը հրապարակում եք, պետք է սպասարկվի HTTPS-ով։ Դա միայն լավ պրակտիկա չէ․
- Բրաուզերները սպասում են դրան։ Պարզ HTTP-ով կայքերը նշվում են որպես «Not secure», և որոշ բրաուզերային գործառույթներ, օրինակ՝ տեղորոշման, տեսախցիկի և միկրոֆոնի հասանելիությունը, կամ offline հավելվածների service worker-ները, սովորաբար աշխատում են միայն անվտանգ (HTTPS) էջերում։
- Մուտքը և ձևերը։ Առանց HTTPS-ի գաղտնաբառերը, session cookie-ները և ձևերի տվյալները ուղևորվում են ընթեռնելի տեքստով։ Նույն կաֆեի Wi-Fi-ին միացած ցանկացած մարդ կարող է դրանք գրավել։
- Վճարումներ և երրորդ կողմեր։ Վճարային մատակարարները, OAuth մուտքը և շատ API-ներ պահանջում են HTTPS վերահղման և callback URL-ներ։
- Վստահություն և որոնում։ Այցելուները նկատում են նախազգուշացումը, իսկ Google-ն ասել է, որ HTTPS-ը որպես դասակարգման ազդանշան է հաշվի առնում։
Լավ նորությունն այն է, որ մոդեռն հյուրընկալման հարթակների մեծ մասում HTTPS-ն ավտոմատ է կարգավորվում։ Հիմնականում պետք է հասկանաք մասերը այնքան, որ կարողանաք շտկել, երբ անհատական դոմենը կամ mixed content-ի նախազգուշացումը խափանվի։
Ամենօրյա անալոգիա
Տվյալները պարզ HTTP-ով ուղարկելը նման է բացիկ փոստով ուղարկելուն․ յուրաքանչյուր փոստատար, որ ձեռք է տալիս դրան, կարող է կարդալ, ու նույնիսկ կարող է փոխել հաղորդագրությունը։
HTTPS-ը նման է կնքված, չբացվող ծրարով ուղարկելուն, և նախ ստուգելով ստացողի պաշտոնական ինքնությունը։ Վկայագիրը այդ ինքնության քարտն է, որ տրվել է վստահելի մարմնի կողմից (վկայագրավորման մարմին), որը ստուգել է, որ կայքը իսկապես վերահսկում է դոմենը։ Գաղտնագրումը կնքված ծրարն է։ Ինքնությունը ապացուցում է, որ ճիշտ հասցեին եք գրում, իսկ ծրարը պահում է բովանդակությունը գաղտնի։
Ինչպես է աշխատում HTTPS-ը, պարզ
Երբ բրաուզերը բացում է https://shop.example.com-ը՝
- Բարև։ Բրաուզերը միանում է և ասում է, թե որ գաղտնագրման եղանակներն է աջակցում։
- Վկայագիր։ Սերվերը ուղարկում է իր վկայագիրը, որտեղ ասված է՝ «այս բանալին պատկանում է
shop.example.com-ին», և այն ստորագրված է վկայագրավորման մարմնի կողմից։ - Ստուգում։ Բրաուզերը ստուգում է ստորագրությունը այն մարմինների դեմ, որոնց արդեն վստահում է, ստուգում է, որ վկայագիրը ժամկետանց չէ, և որ դոմենը համընկնում է։
- Բանալիներ։ Բրաուզերը և սերվերը համաձայնում են այս սեսիայի համար նոր գաղտնի բանալու շուրջ՝ առանց այն երբևէ բաց ուղարկելու։
- Գաղտնագրված խոսակցություն։ Բոլոր հարցումներն ու պատասխանները՝ էջերը, ձևերի տվյալները, cookie-ները, այժմ ուղևորվում են գաղտնագրված։
Այս TLS handshake-ը տևում է մի քանի միլիվայրկյան և տեղի է ունենում ավտոմատ։ Այցելուն տեսնում է միայն կողպեքի պատկերակը (կամ, որոշ բրաուզերներում, չեզոք կայքի տեղեկության պատկերակը)։
Ինչ է պաշտպանում HTTPS-ը և ինչ՝ ոչ
| Պաշտպանում է | Չի պաշտպանում |
|---|---|
| Տվյալները բրաուզերի և սերվերի միջև տեղափոխման ընթացքում | Տվյալները, երբ արդեն ձեր սերվերում կամ տվյալների բազայում են |
| Հետախուզումից հանրային Wi-Fi-ում | Վնասակար կամ խարդախ կայքից |
| Ճանապարհին էջերի փոփոխությունից | Ձեր հավելվածի սխալներից, օրինակ՝ բացակայող թույլտվության ստուգումներից |
| Cookie-ներից և գաղտնաբառերից, երբ դրանք ուղարկվում են | Թույլ գաղտնաբառերից կամ արտահոսած API բանալիներից |
HTTPS-ը գաղտնագրում է հարցումների բովանդակությունը, ներառյալ էջի ուղին և query string-ը։ Բայց դոմենի անունը, որին այցելում եք, սովորաբար դեռ տեսանելի է ճանապարհին գտնվող ցանցերին։ Դա մեկ պատճառն է, թե ինչու երբեք անձնական տվյալներ չպետք է դնել URL-երում․ դրանք հայտնվում են նաև գրանցամատյաններում և բրաուզերի պատմության մեջ։
Օրինակ․ անհատական դոմեն միացնելը
Նշենք, որ հրապարակում եք ամրագրման հավելված և ուզում եք այն book.myyogastudio.com-ում։
- Ավելացնում եք DNS գրառում, որը
book.myyogastudio.com-ը ուղղում է ձեր հյուրընկալողին։ Տես ինչպես են աշխատում դոմեյնները և DNS-ը։ - Հյուրընկալողը ապացուցում է վկայագրավորման մարմնին, որ վերահսկում է այդ անունը՝ սովորաբար պատասխանելով այդ դոմենի վրա տրված մարտահրավերին, և ստանում է վկայագիր։
- Հյուրընկալողը տեղադրում է այն և ավտոմատ թարմացնում մինչև ժամկետի ավարտը։ Վկայագրերը միտումնավոր կարճաժամկետ են, ուստի ավտոմատ թարմացումը կարևոր է։
http://book.myyogastudio.com-ի այցելուները վերահղվում են դեպիhttps://։
Եթե քայլ 1-ը սխալ է․ գրառումը մեկ այլ տեղ է ուղղում, կամ միջում կա պրոքսի, քայլ 2-ը կարող է ձախողվել, և այցելուները տեսնում են վկայագրի սխալ։ Սա ամենատարածված HTTPS խնդիրն է, որին հանդիպում են անհատական դոմեն միացնելիս։
Հիմնական տերմիններ
| Տերմին | Նշանակություն |
|---|---|
| TLS | Transport Layer Security, գաղտնագրման արձանագրությունը HTTPS-ի հետևում։ |
| SSL | Secure Sockets Layer, TLS-ի հնացած նախորդը։ Անունը մնում է։ |
| Վկայագիր (Certificate) | Ստորագրված ֆայլ, որը կապում է դոմենը հանրային բանալու հետ։ |
| Վկայագրավորման մարմին (CA) | Կազմակերպություն, որին բրաուզերները վստահում են վկայագրեր տրամադրելու համար, օրինակ՝ Let's Encrypt-ը։ |
| Դոմենի ստուգում (DV) | Վկայագիր, որը ապացուցում է դոմենի վերահսկումը․ գրեթե բոլոր կայքերն օգտագործում են այն։ |
| Wildcard վկայագիր | Ծածկում է բոլոր ենթադոմեյնները մեկ մակարդակով, օրինակ՝ *.example.com։ |
| Mixed content | HTTPS էջ, որը որոշ ռեսուրսներ բեռնում է պարզ HTTP-ով։ Բրաուզերները արգելափակում կամ զգուշացնում են։ |
| HSTS | Վերնագիր, որը բրաուզերին ասում է՝ այսուհետ միշտ օգտագործել HTTPS ձեր կայքի համար։ |
| Port 443 | HTTPS-ի ստանդարտ պորտը (HTTP-ն օգտագործում է պորտ 80-ը)։ |
Սովորական թյուրըմբռնումներ
- «Կողպեքը նշանակում է, որ կայքը վստահելի է»։ Այն նշանակում է, որ կապը մասնավոր է, և դոմենը համընկնում է։ Խարդախները նույնպես ստանում են վկայագրեր։
- «HTTPS-ը պետք է միայն վճարման էջերի համար»։ Յուրաքանչյուր էջ, որ ունի մուտք, ձև կամ cookie, պետք է դա․ սա գրեթե յուրաքանչյուր հավելված է։ Օգտագործեք այն ամենուր։
- «Վկայագրերը թանկ են»։ Անվճար, վստահելի վկայագրերը ստանդարտ են, և հյուրընկալողների մեծ մասը դրանք ձեզ համար է կառավարում։
- «HTTPS-ը հավելվածս անվտանգ է դարձնում»։ Այն պաշտպանում է կապը։ Ձեր հավելվածին դեռ պետք են սերվերի կողմից թույլտվության ստուգումներ, գաղտնիքների ճիշտ մշակում և մուտքի վալիդացիա։ Տես AI-ով կառուցված հավելվածների անվտանգության ցանկը։
- «HTTPS-ը դանդաղեցնում է կայքերը»։ Մոդեռն TLS-ը գրեթե չի ավելացնում ծանրաբեռնվածություն, իսկ HTTP/2-ի նման գործառույթներ, որոնք արագացնում են կայքերը, բրաուզերներում սովորաբար պահանջում են HTTPS։
Ընդհանուր HTTPS խնդիրների շտկում
| Ախտանիշ | Հավանական պատճառ |
|---|---|
| «Ձեր կապը մասնավոր չէ» | Վկայագիրը չի ծածկում այս ճշգրիտ դոմենը, ժամկետանց է, կամ դեռ տրված չէ |
Աշխատում է www.-ով, բայց ոչ մերկ դոմենով (կամ հակառակը) | Միայն մի անուն ունի DNS և վկայագիր |
| Կողպեքը բացակայում է, «Not secure» որոշ էջերում | Mixed content․ պատկերը, սկրիպտը կամ տառատեսակը բեռնվել է http://-ով |
| Վկայագրի սխալ դոմեն միացնելուց անմիջապես հետո | DNS-ը դեռ տարածվում է, կամ առջևում պրոքսին արգելափակում է վկայագրի ստուգումը |
Ինչ խնդրել ձեր AI կառուցողից
- «Համոզվիր, որ յուրաքանչյուր պատկեր, սկրիպտ և տառատեսակ բեռնվում է HTTPS-ով կամ հարաբերական URL-ով, առանց
http://հղումների։» - «Վերահղիր ամբողջ HTTP երթևեկությունը դեպի HTTPS։»
- «Սեսիայի cookie-ները դիր
SecureևHttpOnlyդրոշակներով։» - «Օգտագործիր
https://յուրաքանչյուր OAuth, վճարման և webhook callback URL-ի համար։» - «Իմ անհատական դոմենը վկայագրի սխալ է ցույց տալիս․ ո՞ր DNS գրառումն է հյուրընկալողը սպասում։»
HTTPS-ը Mythex-ում
Երբ անհատական դոմեն եք միացնում Mythex-ում (Pro գործառույթ), ավելացնում եք CNAME գրառում, որը ուղղված է Mythex-ի ցուցադրած slug.mythex.ai թիրախին, սեղմում Verify, և Mythex-ը ավտոմատ տրամադրում է HTTPS դոմենի համար։ Փաստաթղթերը լուսաբանում են երկու ամենատարածված խոչընդոտները․ եթե ձեր DNS-ը Cloudflare-ում է, գրառումը դրեք «DNS only» (մոխրագույն ամպ), և ոչ թե proxied, որպեսզի Mythex-ը կարողանա տրամադրել վկայագիրը․ իսկ DNS-ը կարող է ստուգվել նախքան HTTPS-ի լրիվ կարգավորումը, այնպես որ սպասեք մի քանի րոպե և կրկին ստուգեք։ Տես անհատական դոմեյններ փաստաթղթերում և մեր ուղեցույցը՝ անհատական դոմեն միացնելու մասին։
Հարցեր
Ո՞րն է տարբերությունը HTTP-ի և HTTPS-ի միջև։
HTTP-ն տվյալները բրաուզերի և կայքի միջև ուղարկում է որպես ընթեռնելի տեքստ։ HTTPS-ը նույն HTTP-ն է, որը ուղարկվում է գաղտնագրված TLS կապով, այնպես որ նույն ցանցում կամ երթուղու վրա գտնվող մարդիկ չեն կարող կարդալ կամ փոխել ուղարկվածը, իսկ բրաուզերը կարող է ստուգել, որ հաղորդակցվում է իրական կայքի հետ։
Արդյո՞ք SSL-ը և TLS-ը նույն բանն են։
TLS-ը SSL-ի ժամանակակից իրավահաջորդն է։ SSL-ի բոլոր տարբերակները հնացած և անապահով են, իսկ այսօրվա անվտանգ կայքերը օգտագործում են TLS։ Մարդիկ դեռ ասում են «SSL վկայագիր» սովորության ուժով, բայց վկայագրերը օգտագործվում են TLS-ի հետ։
Արդյո՞ք կողպեքը նշանակում է, որ կայքը անվտանգ է։
Ոչ։ Կողպեքը նշանակում է, որ կապը գաղտնագրված է, և վկայագիրը համապատասխանում է դոմենին։ Խարդախ կայքը նույնպես կարող է ունենալ վավեր վկայագիր։ Այն ցույց է տալիս, որ կապը ոչ ոք չի կարող լրտեսել, բայց ոչ թե, որ կայքի սեփականատերը վստահելի է։
Պե՞տք է վճարեմ SSL վկայագրի համար։
Սովորաբար՝ ոչ։ Անվճար, ավտոմատ վկայագրավորման մարմինները, ինչպիսին է Let's Encrypt-ը, տրամադրում են բրաուզերների կողմից վստահելի վկայագրեր, և հյուրընկալման մեծ մասը դրանք ձեզ համար ստանում և թարմացնում է։ Վճարովի վկայագրերը հիմնականում ավելացնում են աջակցություն կամ լրացուցիչ ինքնության ստուգումներ։
Ինչու՞ է իմ կայքը ցույց տալիս «Not Secure»։
Սովորական պատճառներն են․ կայքը բացված է http:// -ով, այլ ոչ թե https:// -ով, վկայագիրը ժամկետանց է կամ չի ծածկում այդ ճշգրիտ դոմենը, կամ էջը բեռնում է պատկերներ կամ սկրիպտներ պարզ http:// -ով (mixed content)։