Mis on HTTPS ja SSL? Kuidas turvalised veebilehed töötavad, lihtsalt selgitatuna
HTTPS on HTTP turvaline versioon. HTTP on protokoll, mida brauserid kasutavad veebilehtedega suhtlemiseks. See mähib iga päringu ja vastuse krüpteeritud ühendusse TLS-i (Transport Layer Security) abil, nii et keegi külastaja ja veebilehe vahel ei saa saadetut lugeda ega sellega segada. SSL on sama idee vanem nimi — algne protokoll, mille TLS asendas — ja seetõttu ütlevad inimesed endiselt „SSL-sertifikaat“.
Miks HTTPS AI-ga ehitamisel oluline on
Iga avaldatud rakendus peaks olema serveeritud HTTPS-i kaudu. See pole ainult hea tava:
- Brauserid eeldavad seda. Lihtsa HTTP-ga lehed saavad märgise „Ei ole turvaline“ ja mõned brauserifunktsioonid, nagu asukohale juurdepääs, kaamera ja mikrofon ning võrguühenduseta rakenduste service worker’id, töötavad üldiselt ainult turvalistel (HTTPS) lehtedel.
- Sisselogimine ja vormid. Ilma HTTPS-ita liiguvad salasõnad, seansiküpsised ja vormiandmed loetava tekstina. Keegi samas kohvikus olevas WiFi-s võiks need potentsiaalselt kinni püüda.
- Maksed ja kolmandad osapooled. Makseteenuse pakkujad, OAuth-sisselogimine ja paljud API-d nõuavad HTTPS-i suunamis- ja tagasikutsumise URL-e.
- Usaldus ja otsing. Külastajad märkavad hoiatust ning Google on öelnud, et käsitleb HTTPS-i edetabeli signaalina.
Hea uudis: enamikus kaasaegsetes hostimisplatvormides on HTTPS seadistatud automaatselt. Peamiselt tuleb mõista osi piisavalt hästi, et parandada olukord, kui kohandatud domeen või segasisu hoiatus valesti läheb.
Igapäevane analoogia
Andmete saatmine lihtsa HTTP-ga on nagu postkaardi saatmine: iga postitöötaja, kes seda käsitleb, saab seda lugeda ja keegi võiks isegi sõnumit muuta.
HTTPS on nagu suletud, manipuleerimist märkav ümbrik — ja esmalt kontrollid saaja ametlikku isikutunnistust. Sertifikaat on see isikutunnistus, mille on välja andnud usaldusväärne asutus (sertifitseerimiskeskus), mis on kontrollinud, et veebileht tõesti kontrollib domeeni. Krüptimine on suletud ümbrik. Isikutunnistus tõestab, et kirjutad õigele aadressile; ümbrik hoiab sisu privaatsena.
Kuidas HTTPS lihtsalt töötab
Kui brauser avab aadressi https://shop.example.com:
- Tere. Brauser ühendub ja ütleb, milliseid krüptimismeetodeid ta toetab.
- Sertifikaat. Server saadab oma sertifikaadi, mis ütleb „see võti kuulub
shop.example.com-ile“ ja on allkirjastatud sertifitseerimiskeskuse poolt. - Kontroll. Brauser kontrollib allkirja nende asutuste vastu, mida ta juba usaldab, veendub, et sertifikaat pole aegunud, ja et domeen klapib.
- Võtmed. Brauser ja server lepivad selle seansi jaoks kokku uues salajases võtmes, ilma et seda kunagi lahtiselt saadetaks.
- Krüpteeritud vestlus. Kõik päringud ja vastused — lehed, vormiandmed, küpsised — liiguvad nüüd krüpteeritult.
See TLS-i käepigistus võtab mõne millisekundi ja toimub automaatselt. Külastaja näeb ainult lukusümbolit (või mõnes brauseris neutraalset saidi teabe ikooni).
Mida HTTPS kaitseb ja mida mitte
| Kaitseb | Ei kaitse |
|---|---|
| Andmeid brauseri ja serveri vahel liikumisel | Andmeid, kui need on juba sinu serveris või andmebaasis |
| Avaliku WiFi pealtkuulamise vastu | Pahatahtliku või petuskeleva veebilehe vastu |
| Lehtede muutmise vastu teel | Sinu rakenduse vigade vastu, nagu puuduvad õiguste kontrollid |
| Küpsiseid ja salasõnu nende saatmise ajal | Nõrkade salasõnade või lekkinud API võtmete vastu |
HTTPS krüpteerib päringute sisu, sealhulgas lehe tee ja päringu parameetrid. Domeeninimi, mida külastad, on aga tavaliselt teel olevatele võrkudele siiski nähtav. Üks põhjus, miks mitte kunagi panna URL-idesse isikuandmeid, on see, et need lõpevad ka logides ja brauseri ajaloos.
Töötav näide: kohandatud domeeni ühendamine
Oletame, et avaldad broneerimisrakenduse ja tahad selle aadressil book.myyogastudio.com:
- Lisad DNS-kirje, mis suunab
book.myyogastudio.comsinu hostile. Vt kuidas domeenid ja DNS töötavad. - Host tõestab sertifitseerimiskeskusele, et ta kontrollib seda nime — tavaliselt vastates selle domeeni väljakutsele — ja saab sertifikaadi.
- Host paigaldab selle ja uuendab selle automaatselt enne aegumist. Sertifikaadid on tahtlikult lühiajalised, seega on automaatne uuendamine oluline.
- Külastajad aadressilt
http://book.myyogastudio.comsuunataksehttps://-ile.
Kui samm 1 on vale — kirje viitab mujale või keegi proxy on vahel — võib samm 2 ebaõnnestuda ja külastajad näevad sertifikaadi viga. See on kõige levinum HTTPS-i probleem, millega inimesed kohandatud domeeni ühendamisel kokku puutuvad.
Põhimõisted
| Mõiste | Tähendus |
|---|---|
| TLS | Transport Layer Security, HTTPS-i taga olev krüptimisprotokoll. |
| SSL | Secure Sockets Layer, TLS-i vananenud eelkäija. Nimi on jäänud kasutusse. |
| Sertifikaat | Allkirjastatud fail, mis seob domeeni avaliku võtmega. |
| Sertifitseerimiskeskus (CA) | Organisatsioon, mida brauserid usaldavad sertifikaatide väljastamisel, näiteks Let's Encrypt. |
| Domeeni valideerimine (DV) | Sertifikaat, mis tõestab domeeni kontrolli — seda kasutavad peaaegu kõik saidid. |
| Metamärgisertifikaat | Kehtib kõigile alamdomeenidele ühe taseme sügavusel, nagu *.example.com. |
| Segasisu | HTTPS-lehel laaditakse mõni ressurss lihtsa HTTP kaudu. Brauserid blokeerivad selle või hoiatavad selle eest. |
| HSTS | Päis, mis käseb brauseritel sinu saidi puhul alates sellest hetkest alati HTTPS-i kasutada. |
| Port 443 | HTTPS-i standardpordi (HTTP kasutab porti 80). |
Levinud väärarusaamad
- „Lukusümbol tähendab, et sait on usaldusväärne.“ See tähendab, et ühendus on privaatne ja domeen klapib. Petturid saavad sertifikaate samuti.
- „HTTPS on vajalik ainult makselehtedel.“ Iga leht, millel on sisselogimine, vorm või küpsis, vajab seda — ja see on peaaegu iga rakendus. Kasuta seda kõikjal.
- „Sertifikaadid on kallid.“ Tasuta ja usaldusväärsed sertifikaadid on tavapärased ning enamik hoste haldab neid sinu eest.
- „HTTPS teeb mu rakenduse turvaliseks.“ See kaitseb ühendust. Sinu rakendus vajab ikka serveripoolseid õiguste kontrolle, turvalist saladuste käsitlust ja sisendi valideerimist. Vt AI-ga ehitatud rakenduste turvakontrollnimekiri.
- „HTTPS teeb saidid aeglaseks.“ Kaasaegne TLS lisab väga vähe koormust ning funktsioonid nagu HTTP/2, mis teevad saidid kiiremaks, nõuavad brauserites üldiselt HTTPS-i.
Levinud HTTPS-i probleemide parandamine
| Sümptom | Tõenäoline põhjus |
|---|---|
| „Your connection is not private“ (Ühendus pole privaatne) | Sertifikaat ei kata täpselt seda domeeni, on aegunud või pole veel välja antud |
Töötab www.-ga, aga mitte paljaga domeeniga (või vastupidi) | Ainult ühel nimel on DNS ja sertifikaat |
| Lukusümbol puudub, mõnel lehel „Ei ole turvaline“ | Segasisu: pilt, skript või font laaditakse http:// kaudu |
| Sertifikaadi viga kohe pärast domeeni ühendamist | DNS levib veel või ees olev proxy blokeerib sertifikaadi kontrolli |
Mida AI ehitajalt paluda
- „Veendu, et iga pilt, skript ja font laadib HTTPS-i kaudu või suhtelise URL-i kaudu — ei mingeid
http://linke.“ - „Suuna kogu HTTP liiklus HTTPS-ile.“
- „Sea seansiküpsised lippudega
SecurejaHttpOnly.“ - „Kasuta
https://igas OAuth-, makse- ja webhook’i tagasikutsumise URL-is.“ - „Mu kohandatud domeen näitab sertifikaadi viga — milline DNS-kirje host ootab?“
HTTPS Mythexis
Kui ühendad Mythexis kohandatud domeeni (Pro-funktsioon), lisad CNAME-kirje, mis viitab Mythexi kuvatavale slug.mythex.ai sihtkohale, klõpsad Verify ja Mythex väljastab domeenile HTTPS-i automaatselt. Dokumentatsioon katab kaks kõige levinumat takistust: kui sinu DNS on Cloudflare’is, pane kirje režiimile „DNS only“ (hall pilv) proxy asemel, et Mythex saaks sertifikaadi välja anda; ja DNS võib kontrolli läbida enne, kui HTTPS on täielikult seadistatud, seega oota paar minutit ja kontrolli uuesti. Vt dokumentatsioonist kohandatud domeenid ning meie juhendist kohandatud domeeni ühendamine.
Küsimused
Mis vahe on HTTP-l ja HTTPS-il?
HTTP saadab andmeid brauseri ja veebilehe vahel loetava tekstina. HTTPS on HTTP, mis saadetakse krüpteeritud TLS-ühenduse kaudu, nii et sama võrgus olevad inimesed või marsruudil olevad osapooled ei saa saadetut lugeda ega muuta ning brauser saab kontrollida, et ta räägib päris lehega.
Kas SSL ja TLS on sama asi?
TLS on SSL-i kaasaegne järeltulija. Kõik SSL-i versioonid on vananenud ja ebaturvalised ning tänapäeva turvalised veebilehed kasutavad TLS-i. Inimesed ütlevad harjumusest veel „SSL-sertifikaat“, aga sertifikaate kasutatakse TLS-iga.
Kas lukusümbol tähendab, et veebileht on ohutu?
Ei. Lukusümbol tähendab, et ühendus on krüpteeritud ja sertifikaat vastab domeenile. Petuskeeleva veebilehe puhul võib samuti kehtiv sertifikaat olla. See näitab, et keegi ei saa ühendust pealt kuulata, mitte seda, et lehe omanik on usaldusväärne.
Kas SSL-sertifikaadi eest peab maksma?
Tavaliselt ei pea. Tasuta ja automatiseeritud sertifikaadi väljastajad, nagu Let's Encrypt, väljastavad brauserite poolt usaldatavaid sertifikaate ning enamik hostimisplatvorme hangib ja uuendab need sinu eest. Tasulised sertifikaadid lisavad peamiselt tuge või täiendavaid identiteedikontrolle.
Miks mu leht ütleb „Ei ole turvaline“?
Levinud põhjused on lehe avamine http:// asemel https://-i, sertifikaat, mis on aegunud või ei kata täpselt seda domeeni, või lehe laadimine piltide või skriptide puhul lihtsa http:// kaudu (segasisu).