რა არის HTTPS და SSL? როგორ მუშაობს უსაფრთხო ვებსაიტები, მარტივად
HTTPS არის HTTP-ის უსაფრთხო ვერსია — პროტოკოლი, რომლითაც ბრაუზერები ვებსაიტებთან საუბრობენ. ის ყოველ მოთხოვნასა და პასუხს TLS-ით (Transport Layer Security) დაშიფრულ კავშირში ახვევს, ასე რომ, ვიზიტორსა და ვებსაიტს შორის არავინ კითხულობს ან ცვლის გადაცემულს. SSL არის იგივე იდეის უფრო ძველი სახელი — ორიგინალური პროტოკოლი, რომელიც TLS-მა შეცვალა, და სწორედ ამიტომ ხალხი ჯერ კიდევ ამბობს «SSL სერტიფიკატს».
რატომ არის HTTPS მნიშვნელოვანი AI-ით აგებისას
ყველა აპლიკაცია, რომელსაც აქვეყნებთ, HTTPS-ით უნდა მიეწოდებოდეს. ეს მხოლოდ კარგი პრაქტიკა არ არის:
- ბრაუზერები ამას ელოდება. უსაფრთხო არმქონე HTTP-ზე მდებარე საიტები «Not secure» წარწერით იზრდება, ხოლო ზოგიერთი ბრაუზერის ფუნქცია — მაგალითად, მდებარეობაზე, კამერასა და მიკროფონზე წვდომა და ოფლაინ აპლიკაციებისთვის service worker-ები — ძირითადად მხოლოდ უსაფრთხო (HTTPS) გვერდებზე მუშაობს.
- შესვლა და ფორმები. HTTPS-ის გარეშე პაროლები, სესიის cookie-ები და ფორმის მონაცემები წაკითხვად ტექსტად მოძრაობს. ვინმეს, ვინც იმავე კაფეს Wi-Fi-ზეა, შეუძლია ისინი ჩაიჭიროს.
- გადახდები და მესამე მხარეები. გადახდის პროვაიდერები, OAuth შესვლა და ბევრი API მოითხოვს HTTPS-ის მისამართებს გადამისამართებისა და callback-ებისთვის.
- ნდობა და საძიებო სისტემები. ვიზიტორები აფრთხილებას ამჩნევენ, ხოლო 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. - ჰოსტი სერტიფიკაციის ორგანოს დაუმტკიცებს, რომ აკონტროლებს ამ სახელს — ჩვეულებრივ, ამ დომენზე გამოწვევაზე (challenge) პასუხით — და იღებს სერტიფიკატს.
- ჰოსტი სერტიფიკატს აყენებს და ვადის გასვლამდე ავტომატურად აახლებს. სერტიფიკატები განზრახ მოკლევადიანია, ამიტომ ავტომატური განახლება მნიშვნელოვანია.
http://book.myyogastudio.com-ის ვიზიტორებიhttps://-ზე გადამისამართდებიან.
თუ პირველი ნაბიჯი არასწორია — მაგალითად, ჩანაწერი სხვაგან მიუთითებს ან შუაში პროქსი დგას — მეორე ნაბიჯი შეიძლება ჩაიშალოს და ვიზიტორები სერტიფიკატის შეცდომას დაინახავენ. ეს ყველაზე გავრცელებული HTTPS პრობლემაა მორგებული დომენის დაკავშირებისას.
ძირითადი ტერმინები
| ტერმინი | მნიშვნელობა |
|---|---|
| TLS | Transport Layer Security — დაშიფვრის პროტოკოლი, რომელიც HTTPS-ის საფუძველია. |
| SSL | Secure Sockets Layer — TLS-ის მოძველებული წინამორბედი. სახელი კი დარჩა. |
| სერტიფიკატი | ხელმოწერილი ფაილი, რომელიც დომენს საჯარო გასაღებთან აკავშირებს. |
| სერტიფიკაციის ორგანო (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).