Mitä ovat HTTPS ja SSL? Miten turvalliset verkkosivut toimivat selitettynä
HTTPS on HTTP:n turvallinen versio. HTTP on protokolla, jolla selaimet puhuvat verkkosivuille. Se kääri jokaisen pyynnön ja vastauksen salattuun yhteyteen TLS-protokollalla (Transport Layer Security), joten kukaan kävijän ja verkkosivun välissä ei voi lukea tai muokata lähetettyä tietoa. SSL on sama idea vanhalla nimellä. Se on alkuperäinen protokolla, jonka TLS korvasi, ja siksi ihmiset yhä puhuvat "SSL-varmenteesta".
Miksi HTTPS on tärkeää tekoälyllä rakennettaessa
Jokaisen julkaistun sovelluksen tulisi olla HTTPS:n takana. Syy ei ole pelkästään hyvä käytäntö:
- Selaimet odottavat sitä. Sivut ilman HTTPS:ää merkitään "Not secure" -tekstillä, ja jotkin selainominaisuudet, kuten sijaintitieto, kamera ja mikrofoni sekä offline-sovellusten service workerit, toimivat yleensä vain suojatuilla (HTTPS) sivuilla.
- Kirjautumiset ja lomakkeet. Ilman HTTPS:ää salasanat, istuntoevästeet ja lomaketiedot kulkevat luettavana tekstinä. Kuka tahansa samassa kahvilan Wi-Fi-verkossa voi periaatteessa kaapata ne.
- Maksut ja kolmannet osapuolet. Maksupalveluntarjoajat, OAuth-kirjautuminen ja monet rajapinnat vaativat HTTPS-osoitteet uudelleenohjauksille ja takaisinkutsuille.
- Luottamus ja hakukoneet. Kävijät huomaavat varoituksen, ja Google on sanonut käyttävänsä HTTPS:ää hakutulosten järjestyksen signaalina.
Hyvä uutinen on, että useimmilla nykyaikaisilla hostauspalveluilla HTTPS on määritetty automaattisesti. Sinun pitää lähinnä ymmärtää osat tarpeeksi hyvin korjataksesi asian, kun oma verkkotunnus tai sekasisältövaroitus menee pieleen.
Arkinen vertaus
Tiedon lähettäminen tavallisella HTTP:llä on kuin postikortin lähettämistä: jokainen postinkantaja, joka sen käsittelee, voi lukea sen, ja joku voisi jopa muuttaa viestin.
HTTPS on kuin lähettäisi suljetun, väärennyksen paljastavan kirjekuoren, ja ensin tarkistaisit vastaanottajan virallisen henkilöllisyystodistuksen. Varmenne on se henkilöllisyystodistus, jonka luotettu myöntäjä (varmentaja) on antanut sen jälkeen, kun se on varmistanut, että verkkosivusto todella hallitsee verkkotunnusta. Salaus on suljettu kirjekuori. Henkilöllisyystodistus todistaa, että kirjoitat oikealle osoitteelle, ja kirjekuori pitää sisällön yksityisenä.
Miten HTTPS toimii yksinkertaisesti
Kun selain avaa osoitteen https://shop.example.com:
- Tervehdys. Selain yhdistää palvelimeen ja kertoo, mitä salausmenetelmiä se tukee.
- Varmenne. Palvelin lähettää varmenteensa, jossa lukee "tämä avain kuuluu verkkotunnukselle
shop.example.com", ja jonka on allekirjoittanut varmentaja. - Tarkistus. Selain tarkistaa allekirjoituksen luotetuilta varmentajilta, varmistaa ettei varmenne ole vanhentunut ja että verkkotunnus täsmää.
- Avaimet. Selain ja palvelin sopivat uudesta salaisuudesta tähän istuntoon ilman, että sitä lähetetään avoimena.
- Salattu keskustelu. Kaikki pyynnöt ja vastaukset, eli sivut, lomaketiedot ja evästeet, kulkevat nyt salattuina.
Tämä TLS-kättely kestää muutamia millisekunteja ja tapahtuu automaattisesti. Kävijä näkee vain lukkokuvakkeen, tai joissakin selaimissa neutraalin sivutietokuvakkeen.
Mitä HTTPS suojaa ja mitä ei
| Suojaa | Ei suojaa |
|---|---|
| Tiedot selaimen ja palvelimen välisessä siirrossa | Tiedot, kun ne ovat jo palvelimellasi tai tietokannassasi |
| Kuuntelua vastaan julkisessa Wi-Fi-verkossa | Haitallista tai huijaavaa verkkosivustoa vastaan |
| Sivujen muokkaamista vastaan matkan varrella | Sovelluksesi virheitä vastaan, kuten puuttuvia käyttöoikeustarkistuksia |
| Evästeitä ja salasanoja niiden lähetyksen aikana | Heikkoja salasanoja tai vuotaneita API-avaimia vastaan |
HTTPS salaa pyyntöjen sisällön, myös sivupolun ja kyselyparametrit. Verkkotunnus, jolla vierailet, näkyy kuitenkin yleensä yhä reitin varrella oleville verkoille. Yksi syy olla laittamatta henkilötietoja URL-osoitteisiin on se, että ne päätyvät lokeihin ja selaimen historiaan.
Esimerkki: oman verkkotunnuksen liittäminen
Oletetaan, että julkaiset varaussovelluksen osoitteessa book.myyogastudio.com:
- Lisäät DNS-tietueen, joka osoittaa
book.myyogastudio.comhostillesi. Katso miten verkkotunnukset ja DNS toimivat. - Hostisi todistaa varmentajalle, että se hallitsee tätä nimeä, yleensä vastaamalla haasteeseen kyseisellä verkkotunnuksella, ja saa varmenteen.
- Hosti asentaa varmenteen ja uusii sen automaattisesti ennen vanhenemista. Varmenteet on tarkoituksella tehty lyhytaikaisiksi, joten automaattinen uusiminen on tärkeää.
- Osoitteella
http://book.myyogastudio.comvierailevat ohjataanhttps://-osoitteeseen.
Jos vaihe 1 on väärin, eli tietue osoittaa muualle tai välissä on välityspalvelin, vaihe 2 voi epäonnistua ja kävijät näkevät varmennevirheen. Tämä on yleisin HTTPS-ongelma, johon ihmiset törmäävät liittäessään oman verkkotunnuksen.
Keskeiset termit
| Termi | Merkitys |
|---|---|
| TLS | Transport Layer Security, HTTPS:n takana oleva salausprotokolla. |
| SSL | Secure Sockets Layer, TLS:n vanhentunut edeltäjä. Nimi elää yhä. |
| Varmenne | Allekirjoitettu tiedosto, joka yhdistää verkkotunnuksen julkiseen avaimeen. |
| Varmentaja (CA) | Organisaatio, johon selaimet luottavat ja joka myöntää varmenteita, kuten Let's Encrypt. |
| Verkkotunnusvahvistus (DV) | Varmenne, joka todistaa verkkotunnuksen hallinnan. Lähes kaikki sivustot käyttävät sitä. |
| Wildcard-varmenne | Kattaa kaikki yhden tason aliverkkotunnukset, kuten *.example.com. |
| Sekasisältö | HTTPS-sivu, joka lataa osan resursseista tavallisen HTTP:n kautta. Selaimet estävät tai varoittavat siitä. |
| HSTS | Otsikko, joka kertoo selaimille käyttää sivustollesi aina HTTPS:ää. |
| Portti 443 | HTTPS:n vakioportti (HTTP käyttää porttia 80). |
Yleisiä väärinkäsityksiä
- "Lukko tarkoittaa, että sivusto on luotettava." Se tarkoittaa, että yhteys on yksityinen ja verkkotunnus täsmää. Huijarit saavat varmenteita myös.
- "HTTPS tarvitaan vain maksusivuilla." Jokainen sivu, jolla on kirjautuminen, lomake tai eväste, tarvitsee sitä, eli käytännössä lähes jokainen sovellus. Käytä sitä kaikkialla.
- "Varmenteet ovat kalliita." Ilmaiset, luotetut varmenteet ovat yleisiä, ja useimmat hostit hoitavat ne puolestasi.
- "HTTPS tekee sovelluksestani turvallisen." Se suojaa yhteyden. Sovelluksesi tarvitsee yhä palvelinpuolen käyttöoikeustarkistukset, turvallisen salaisuuksien käsittelyn ja syötteiden validoinnin. Katso tekoälyllä rakennettujen sovellusten turvallisuuslista.
- "HTTPS hidastaa sivuja." Nykyaikainen TLS aiheuttaa hyvin vähän lisäkuormaa, ja nopeuttavat ominaisuudet, kuten HTTP/2, vaativat selaimissa yleensä HTTPS:n.
HTTPS-ongelmien korjaaminen
| Oire | Todennäköinen syy |
|---|---|
| "Yhteys ei ole yksityinen" | Varmenne ei kata tätä tarkkaa verkkotunnusta, on vanhentunut tai sitä ei ole vielä myönnetty |
Toimii www.-osoitteella mutta ei pelkällä verkkotunnuksella (tai päinvastoin) | Vain toisella nimellä on DNS ja varmenne |
| Lukko puuttuu, "Not secure" joillakin sivuilla | Sekasisältö: kuva, skripti tai fontti ladataan http://-osoitteesta |
| Varmennevirhe heti verkkotunnuksen liittämisen jälkeen | DNS on yhä leviämässä, tai edessä oleva välityspalvelin estää varmenteen tarkistuksen |
Mitä pyytää tekoälysovellusrakentajalta
- "Varmista, että jokainen kuva, skripti ja fontti latautuu HTTPS:n kautta tai suhteellisella URL-osoitteella. Ei
http://-linkkejä." - "Ohjaa kaikki HTTP-liikenne HTTPS:ään."
- "Aseta istuntoevästeet
Secure- jaHttpOnly-lipuilla." - "Käytä
https://-osoitetta jokaisessa OAuth-, maksu- ja webhook-takaisinkutsussa." - "Oma verkkotunnukseni näyttää varmennevirheen. Mitä DNS-tietuetta hostini odottaa?"
HTTPS Mythexissä
Kun liität oman verkkotunnuksen Mythexissä (Pro-ominaisuus), lisäät CNAME-tietueen, joka osoittaa Mythexin näyttämään slug.mythex.ai-kohteeseen, klikkaat Verify-painiketta, ja Mythex myöntää HTTPS:n verkkotunnukselle automaattisesti. Dokumentaatio kattaa kaksi yleisintä ongelmaa: jos DNS on Cloudflaressa, aseta tietue tilaan "DNS only" (harmaa pilvi) eikä proxy-tilaan, jotta Mythex voi myöntää varmenteen. Lisäksi DNS voi vahvistua ennen kuin HTTPS on täysin valmis, joten odota muutama minuutti ja vahvista uudelleen. Katso oma verkkotunnus dokumentaatiosta ja oppaamme oman verkkotunnuksen liittämisestä.
Kysymykset
Mikä ero on HTTP:llä ja HTTPS:llä?
HTTP lähettää tiedot selaimen ja verkkosivun välillä luettavana tekstinä. HTTPS on HTTP:tä, joka kulkee salatun TLS-yhteyden kautta. Ihmiset samassa verkossa tai reitin varrella eivät voi lukea tai muuttaa lähetettyä tietoa, ja selain voi tarkistaa puhuvansa oikealle sivustolle.
Ovatko SSL ja TLS sama asia?
TLS on SSL:n nykyinen seuraaja. Kaikki SSL-versiot ovat vanhentuneita ja turvattomia, ja nykyiset turvalliset verkkosivut käyttävät TLS:ää. Ihmiset puhuvat yhä "SSL-varmenteesta" tottumuksesta, mutta varmenteita käytetään TLS:n kanssa.
Tarkoittaako lukko, että sivusto on turvallinen?
Ei. Lukko tarkoittaa, että yhteys on salattu ja varmenne vastaa verkkotunnusta. Huijaussivustollakin voi olla kelvollinen varmenne. Lukko kertoo, ettei kukaan voi kuunnella yhteyttä, mutta ei sitä, että sivuston omistaja on luotettava.
Pitääkö SSL-varmenteesta maksaa?
Yleensä ei. Ilmaiset, automatisoidut varmentajat, kuten Let's Encrypt, myöntävät varmenteita, joihin selaimet luottavat, ja useimmat hostauspalvelut hankkivat ja uusivat ne puolestasi. Maksulliset varmenteet lisäävät lähinnä tukea tai tarkempia henkilöllisyyden tarkistuksia.
Miksi sivuni näyttää Not Secure -merkinnän?
Yleisiä syitä ovat sivun avaaminen osoitteella http:// eikä https://, varmenne, joka on vanhentunut tai ei kata täsmälleen tätä verkkotunnusta, tai sivu, joka lataa kuvia tai skriptejä tavallisen http:// -yhteyden kautta (sekasisältö).