HTTPS- en SSL-certificaten Maak uw website veilig (en waarom zou u dat moeten doen)
Hoewel ze niet allemaal begrijpen hoe het werkt, signaleert dat kleine hangslot in de adresbalk aan webgebruikers dat ze een vertrouwde verbinding hebben met een legitieme website. Als bezoekers dit niet zien in de adresbalk wanneer ze uw website openen, zult u hun bedrijf niet krijgen.
Om dat kleine adresbalk hangslot voor uw website te krijgen, hebt u een SSL-certificaat nodig. Hoe krijg je er een? Lees verder om erachter te komen.
Artikeloverzicht:
- Wat is SSL / TLS?
- HTTPS gebruiken?
- Wat is een SSL-certificaat en hoe krijg ik er een?
- SSL-certificaat winkelgids
- Certificeringsinstantie
- Domeinvalidatie versus uitgebreide validatie
- Gedeelde SSL versus privé SSL
- Vertrouw op zegels
- Wildcard SSL-certificaten
- garanties
- Gratis SSL-certificaten en zelfondertekende SSL-certificaten
- Een SSL-certificaat installeren
- HTTPS-voor- en nadelen
Wat is SSL / TLS?
Op internet worden gegevens overgedragen met behulp van het Hypertext Transfer Protocol. Daarom hebben alle webpagina-URL's "http: //" of "https://" voor hen.
Wat is het verschil tussen http en https? Dat extra kleine S heeft grote implicaties: beveiliging.
Laat het me uitleggen.
HTTP is de 'taal' die uw computer en de server gebruiken om met elkaar te praten. Deze taal is universeel begrepen, wat handig is, maar het heeft ook zijn nadelen. Wanneer gegevens via internet tussen u en een server worden doorgegeven, maakt het onderweg een aantal stops voordat het zijn eindbestemming bereikt. Dit brengt drie grote risico's met zich mee:
- Dat zou iemand kunnen afluisteren op uw gesprek (een beetje zoals een digitale afluisterapparatuur).
- Dat zou iemand kunnen verpersoonlijken één (of beide) van de partijen aan beide zijden.
- Dat zou iemand kunnen knoeien met de berichten die worden overgedragen.
Hackers en eikels gebruiken een combinatie van het bovenstaande voor een aantal oplichterijen en overvallen, waaronder phishing-trucs, man-in-the-middle-aanvallen en ouderwets adverteren. Schadelijke aanvallen kunnen net zo eenvoudig zijn als het opslokken van Facebook-inloggegevens door niet-versleutelde cookies (afluisteren) te onderscheppen, of ze kunnen geavanceerder zijn. U zou bijvoorbeeld kunnen denken dat u tegen uw bank zei: "Stuur alsjeblieft $ 100 over naar mijn ISP", maar iemand in het midden kan de boodschap wijzigen om te lezen: "Stuur alsjeblieft $ 100 al mijn geld over naar mijn ISP Peggy in Siberië" (knoeien met gegevens) en imitatie).
Dus dat zijn de problemen met HTTP. Om deze problemen op te lossen, kan HTTP worden gelaagd met een beveiligingsprotocol, wat resulteert in HTTP Secure (HTTPS). Meestal wordt de S in HTTPS geleverd door het Secure Sockets Layer (SSL) -protocol of het nieuwere Transport Layer Security (TLS) -protocol. Wanneer het wordt gebruikt, biedt HTTPS bidirectioneel encryptie (om afluisteren te voorkomen), server authenticatie (om nabootsing van identiteit te voorkomen) en berichtverificatie (om het knoeien met gegevens te voorkomen).
HTTPS gebruiken
Net als een gesproken taal werkt HTTPS alleen als beide partijen ervoor kiezen om het uit te spreken. Aan de clientzijde kan de keuze om HTTPS te gebruiken worden gemaakt door 'https' in de adresbalk van de browser vóór de URL in te voeren (bijvoorbeeld, in plaats van http://www.facebook.com te typen, typt u https: // www. facebook.com), of door een extensie te installeren die automatisch HTTPS afdwingt, zoals HTTPS Everywhere voor Firefox en Chrome. Wanneer uw webbrowser HTTPS gebruikt, ziet u een hangslotpictogram, een groene browserbalk, een thumbs-up of een ander geruststellend teken dat uw verbinding met de server veilig is.
Als u HTTPS wilt gebruiken, moet de webserver dit ondersteunen. Als u een webmaster bent en u wilt HTTPS aan uw webbezoekers aanbieden, dan heeft u een SSL-certificaat of TLS-certificaat nodig. Hoe krijg je een SSL- of TLS-certificaat? Blijf lezen.
Verder lezen: sommige populaire web-apps laten u kiezen voor HTTPS in uw gebruikersinstellingen. Lees onze artikelen op Facebook, Gmail en Twitter.
Wat is een SSL-certificaat en hoe krijg ik er een?
Als u HTTPS wilt gebruiken, moet op uw webserver een SSL-certificaat of TLS-certificaat zijn geïnstalleerd. Een SSL / TLS-certificaat is een soort van foto-ID voor uw website. Wanneer een browser die HTTPS gebruikt toegang heeft tot uw webpagina, voert deze een "handshake" uit, waarbij de clientcomputer om het SSL-certificaat vraagt. Het SSL-certificaat wordt vervolgens gevalideerd door een vertrouwde certificeringsinstantie (CA), die verifieert dat de server is wie het zegt dat het is. Als alles uitcheckt, krijgt uw webbezoeker het geruststellende groene vinkje of vergrendelingspictogram. Als er iets misgaat, krijgen ze een waarschuwing van de webbrowser waarin staat dat de identiteit van de server niet kan worden bevestigd.
Winkelen voor een SSL-certificaat
Als het gaat om het installeren van een SSL-certificaat op uw website, zijn er een overvloed aan parameters om te beslissen. Laten we het belangrijkste bekijken:
Certificeringsinstantie
De certificeringsinstantie (CA) is het bedrijf dat uw SSL-certificaat uitgeeft en is degene die uw certificaat zal valideren telkens wanneer een bezoeker uw website bezoekt. Hoewel elke SSL-certificaatprovider zal concurreren op prijs en functies, is het belangrijkste ding om te overwegen wanneer certificaatautoriteiten worden gecontroleerd of ze certificaten hebben die vooraf zijn geïnstalleerd in de populairste webbrowsers. Als de certificeringsinstantie die uw SSL-certificaat uitgeeft niet in die lijst staat, wordt de gebruiker gewaarschuwd dat het veiligheidscertificaat van de site niet wordt vertrouwd. Dit betekent natuurlijk niet dat uw website onwettig is - het betekent alleen dat uw CA (nog) niet op de lijst staat. Dit is een probleem, omdat de meeste gebruikers niet de moeite nemen om de waarschuwing te lezen of de niet-herkende CA te onderzoeken. Ze klikken waarschijnlijk gewoon weg.
Gelukkig is de lijst met vooraf geïnstalleerde CA's in de grote browsers behoorlijk groot. Het bevat enkele grote merknamen en minder bekende en goedkopere CA's. De namen van het huishouden omvatten Verisign, Go Daddy, Comodo, Thawte, Geotrust en Entrust.
U kunt ook in de instellingen van uw eigen browser kijken om te zien welke certificaatautoriteiten vooraf zijn geïnstalleerd.
- Ga voor Chrome naar Instellingen -> Geavanceerde instellingen weergeven ... -> Certificaten beheren.
- Voor Firefox, doe Opties -> Geavanceerd -> Bekijk Certificaten.
- Voor IE, Internetopties -> Inhoud -> Certificaten.
- Ga voor Safari naar de Finder en kies Go -> Utilities -> KeyChain Access en klik op System.
Raadpleeg deze thread voor een overzicht van de acceptabele SSL-certificaten voor Google Checkout.
Domeinvalidatie versus uitgebreide validatie
Standaard uitgiftetijd | Kosten | Adresbalk | |
Domeinvalidatie | Bijna onmiddellijk | Laag | Normaal HTTPS (hangslotpictogram) |
Organisatie Validatie | Een paar dagen | midden | Normaal HTTPS (hangslotpictogram) |
Extended Validation | Een week of langer | hoog | Groene adresbalk, bedrijfs-ID verificatie info |
Een SSL-certificaat is bedoeld om de identiteit aan te geven van de website waarnaar u informatie verzendt. Om ervoor te zorgen dat mensen geen valse SSL-certificaten afsluiten voor domeinen die ze niet op de juiste manier besturen, valideert een certificeringsinstantie dat de persoon die het certificaat aanvraagt, inderdaad de eigenaar van de domeinnaam is. Meestal gebeurt dit via een snelle validatie van e-mail of telefoongesprekken, vergelijkbaar met wanneer een website u een e-mail stuurt met een link voor accountbevestiging. Dit wordt een a genoemd domein gevalideerd SSL-certificaat. Het voordeel hiervan is dat SSL-certificaten bijna onmiddellijk kunnen worden uitgegeven. U zou waarschijnlijk een SSL-certificaat met domein-validatie kunnen krijgen in minder tijd dan dat u dit blog hebt gelezen. Met een domeingevalideerd SSL-certificaat krijgt u het hangslot en de mogelijkheid om het verkeer van uw website te versleutelen.
De voordelen van een domein-gevalideerd SSL-certificaat is dat ze snel, gemakkelijk en goedkoop te verkrijgen zijn. Dit is ook hun nadeel. Zoals je je kunt voorstellen, is het gemakkelijker om een geautomatiseerd systeem te bedriegen dan een systeem dat door levende mensen wordt gerund. Het is een beetje alsof een kind van de middelbare school tegen de DMV liep en zei dat hij Barack Obama was en een door de overheid uitgegeven identiteitsbewijs wilde krijgen. de persoon aan de balie zou hem eens bekijken en de FBI bellen (of de gekkennisbak). Maar als het een robot was die een foto-ID-kiosk had, had hij misschien wat geluk. Op een vergelijkbare manier kunnen phishers "nep-ID's" krijgen voor websites zoals Paypal, Amazon of Facebook door domeincontrolesystemen te misbruiken. In 2009 publiceerde Dan Kaminsky een voorbeeld van een manier om CA's op te lichten om certificaten te krijgen waarmee een phishing-website eruit zou zien als een veilige, legitieme verbinding. Voor een mens zou deze zwendel gemakkelijk te herkennen zijn. Maar de geautomatiseerde domeinvalidatie op dat moment miste de nodige controles om zoiets te voorkomen.
In reactie op de kwetsbaarheden van SSL en domein gevalideerde SSL-certificaten, heeft de industrie de Extended Validation certificaat. Om een EV SSL-certificaat te krijgen, moet uw bedrijf of organisatie strenge controles ondergaan om te zorgen dat het een goede reputatie bij uw overheid heeft en met recht het domein bestuurt waarvoor u zich aanmeldt. Deze controles vereisen, onder andere, een menselijk element en duren dus langer en zijn duurder.
In sommige industrieën is een EV-certificaat vereist. Maar voor anderen gaat het voordeel alleen zover als wat uw bezoekers zullen herkennen. Voor dagelijkse websitebezoekers is het verschil subtiel. Naast het slotpictogram wordt de adresbalk groen en wordt de naam van uw bedrijf weergegeven. Als u klikt voor meer informatie, ziet u dat de identiteit van het bedrijf is geverifieerd, niet alleen de website.
Hier is een voorbeeld van een normale HTTPS-site:
En hier is een voorbeeld van een HTTPS-website met een EV-certificaat:
Afhankelijk van uw branche is een EV-certificaat misschien niet de moeite waard. Bovendien moet je een bedrijf of organisatie zijn om er een te krijgen. Hoewel grote bedrijven trends vertonen in de richting van EV-certificering, zult u merken dat de meeste HTTPS-sites nog steeds de niet-EV-smaak hebben. Als het goed genoeg is voor Google, Facebook en Dropbox, is het misschien goed genoeg voor jou.
Nog een ding: er is een middenwegoptie genaamd een organisatie gevalideerd of zaken gevalideerd certificering. Dit is een grondiger doorlichting dan de geautomatiseerde domeinvalidatie, maar deze gaat niet zo ver als het voldoen aan de branchevoorschriften voor een Extended Validation-certificaat (merk op hoe Extended Validation is geactiveerd en "organisatorische validatie" niet?). Een OV- of bedrijfsgecertificeerde certificering kost meer en duurt langer, maar u krijgt niet de groene adresbalk en de geverifieerde bedrijfsgegevens. Eerlijk gezegd kan ik geen reden bedenken om te betalen voor een OV-certificaat. Als je er een kunt bedenken, licht dan alsjeblieft de opmerkingen in.
Gedeelde SSL versus privé SSL
Sommige webhosts bieden een gedeelde SSL-service, die vaak goedkoper is dan een privé-SSL. Afgezien van de prijs, is het voordeel van een gedeelde SSL dat u geen particulier IP-adres of speciale host hoeft te krijgen. Het nadeel is dat u uw eigen domeinnaam niet kunt gebruiken. In plaats daarvan ziet het beveiligde gedeelte van uw site er ongeveer zo uit:
https://www.hostgator.com/~yourdomain/secure.php
Vergelijk dat met een privé SSL-adres:
https://www.yourdomain.com/secure.php
Voor openbare sites, zoals e-commercesites en sociale netwerksites, is dit duidelijk een sleur, omdat het lijkt alsof u bent omgeleid van de hoofdsite. Maar voor gebieden die gewoonlijk niet worden bekeken door het grote publiek, zoals de ingewanden van een e-mailsysteem of een beheerdersgebied, kan een gedeelde SSL een goede deal zijn.
Vertrouw op zegels
Veel certificaatautoriteiten laten u een vertrouwenszegel plaatsen op uw webpagina nadat u zich heeft aangemeld voor een van hun certificaten. Dit geeft vrijwel dezelfde informatie als klikken op het hangslot in het browservenster zou doen, maar met een hogere zichtbaarheid. Het is niet verplicht om een vertrouwenszegel op te nemen, het versterkt ook uw veiligheid niet, maar als het uw bezoekers de warme fuzzies geeft die weten wie het SSL-certificaat heeft uitgegeven, gooi het dan daar naar boven.
Wildcard SSL-certificaten
Een SSL-certificaat verifieert de identiteit van één domein. Dus als u HTTPS op meerdere subdomeinen wilt hebben, bijvoorbeeld groovypost.com, mail.groovypost.com en answers.groovypost.com, moet u drie verschillende SSL-certificaten kopen. Op een gegeven moment wordt een wildcard SSL-certificaat zuiniger. Dat wil zeggen, één certificaat om één domein en alle subdomeinen te dekken, d.w.z. * .groovypost.com.
garanties
Hoe lang de reputatie van een bedrijf ook is, er zijn kwetsbaarheden. Zelfs vertrouwde CA's kunnen het doelwit zijn van hackers, zoals blijkt uit de schending bij VeriSign die in 2010 niet werd gemeld. Bovendien kan de status van een CA op de vertrouwde lijst snel worden ingetrokken, zoals we zagen met de DigiNotar snafu in 2011. Stuff happens.
Om eventuele ongerustheid over het potentieel voor dergelijke willekeurige daden van SSL-debauchery te verminderen, bieden veel CA's nu garanties. Dekking varieert van een paar duizend dollar tot meer dan een miljoen dollar en omvat verliezen als gevolg van het misbruik van uw certificaat of andere ongelukken. Ik heb geen idee of deze garanties daadwerkelijk waarde toevoegen of niet, of dat iemand ooit met succes een claim heeft gewonnen. Maar ze zijn er voor uw overweging.
Gratis SSL-certificaten en zelfondertekende SSL-certificaten
Er zijn twee soorten gratis SSL-certificaten beschikbaar. Een zelfondertekend, hoofdzakelijk gebruikt voor privétesten en volwaardige openbare SSL-waarschuwingspagina's die zijn uitgegeven door een geldige certificeringsinstantie. Het goede nieuws is dat er in 2018 een paar opties zijn om 100% gratis, geldige 90 dagen SSL-certificaten te krijgen van zowel SSL voor gratis als Let's Encrypt. SSL voor gratis is in de eerste plaats een GUI voor de Let's Encrypt-API. Het voordeel van de SSL for Free-site is dat deze eenvoudig te gebruiken is omdat deze een mooie GUI heeft. Let's Encrypt is echter leuk omdat u het aanvragen van SSL-certificaten van hen volledig kunt automatiseren. Ideaal als u SSL-certificaten voor meerdere websites / servers nodig hebt.
Een zelfondertekend SSL-certificaat is voor altijd gratis. Met een zelfondertekend certificaat bent u uw eigen CA. Omdat u echter niet behoort tot de vertrouwde CA's die zijn ingebouwd in webbrowsers, krijgen bezoekers een waarschuwing dat de autoriteit niet wordt herkend door het besturingssysteem. Als zodanig is er echt geen garantie dat je bent wie je zegt dat je bent (het is net zoiets als jezelf een identiteitsbewijs met foto uitgeven en proberen het af te geven bij de slijterij). Het voordeel van een zelfondertekend SSL-certificaat is echter dat het codering voor webverkeer mogelijk maakt. Het is misschien goed voor intern gebruik, waar uw personeel uw organisatie kan toevoegen als vertrouwde CA om zich te ontdoen van het waarschuwingsbericht en te werken aan een beveiligde verbinding via internet.
Raadpleeg de documentatie voor OpenSSL voor instructies over het instellen van een zelf ondertekend SSL-certificaat. (Of, als er voldoende vraag is, zal ik een tutorial schrijven.)
Een SSL-certificaat installeren
Nadat u uw SSL-certificaat hebt gekocht, moet u het op uw website installeren. Een goede webhost zal aanbieden om dit voor u te doen. Sommigen gaan misschien zelfs zover dat ze het voor je kopen. Vaak is dit de beste manier om te gaan, omdat het de facturering vereenvoudigt en ervoor zorgt dat het correct is ingesteld voor uw webserver.
Toch heeft u altijd de mogelijkheid om een SSL-certificaat te installeren dat u zelf hebt gekocht. Als u dat doet, wilt u misschien beginnen met het raadplegen van de kennisbank van uw webhost of door een helpdeskticket te openen. Zij zullen u doorverwijzen naar de beste instructies voor het installeren van uw SSL-certificaat. Raadpleeg ook de instructies van de CA. Deze zullen u betere begeleiding geven dan enig generiek advies dat ik u hier kan geven.
U kunt ook de volgende instructies voor het installeren van een SSL-certificaat raadplegen:
- Installeer een SSL-certificaat en stel het domein in cPanel in
- SSL implementeren in IIS (Windows Server)
- Apache SSL / TLS-codering
Al deze instructies omvatten het maken van een SSL Certificate Signing Request (CSR). In feite heeft u een CSR nodig om een SSL-certificaat te krijgen. Nogmaals, uw webhost kan u hiermee helpen. Voor meer specifieke doe-het-zelf-informatie over het creëren van een CSR, bekijk dit artikel van DigiCert.
Voors en tegens van HTTPS
We hebben de voordelen van HTTPS alvast duidelijk: beveiliging, beveiliging, beveiliging. Dit beperkt niet alleen het risico van een datalek, het wekt vertrouwen en voegt ook een reputatie toe aan uw website. Slimme klanten nemen misschien niet eens de moeite om zich aan te melden als ze een "http: //" zien op de inlogpagina.
Er zijn echter wat nadelen aan HTTPS. Gezien de noodzaak van HTTPS voor bepaalde soorten websites, is het logischer om deze te beschouwen als "consideraties "in plaats van negatieven.
- HTTPS kost geld. Om te beginnen zijn er de kosten voor het kopen en vernieuwen van uw SSL-certificaat om de geldigheid jaar op jaar te garanderen. Maar er zijn ook bepaalde 'systeemvereisten' voor HTTPS, zoals een speciaal IP-adres of speciaal hostingplan, wat duurder kan zijn dan een gedeeld hostingpakket.
- HTTPS kan het antwoord van de server vertragen. Er zijn twee problemen met SSL / TLS die de laadsnelheden van uw pagina kunnen vertragen. Ten eerste moet de browser van de gebruiker eerst het handshake-proces doorlopen om terug te gaan communiceren met uw website. Deze procedure wordt teruggestuurd naar de website van de certificeringsinstantie om het certificaat te verifiëren. Als de webserver van de CA traag is, zal er vertraging optreden bij het laden van uw pagina. Dit is grotendeels buiten je controle. Ten tweede maakt HTTPS gebruik van codering, wat meer verwerkingskracht vereist. Dit kan worden opgelost door uw inhoud te optimaliseren voor bandbreedte en de hardware op uw server te upgraden. CloudFare heeft een goede blogpost over hoe en waarom SSL uw website zou kunnen vertragen.
- HTTPS kan van invloed zijn op SEO-inspanningen Wanneer u overgaat van HTTP naar HTTPS; je gaat naar een nieuwe website. Bijvoorbeeld, https://www.groovypost.com zou niet hetzelfde zijn als http://www.groovypost.com. Het is belangrijk om ervoor te zorgen dat u uw oude links hebt omgeleid en de juiste regels hebt geschreven onder de motorkap van uw server om te voorkomen dat u kostbare linkensap verliest.
- Gemengde inhoud kan een gele vlag werpen. Voor sommige browsers, als u het grootste deel van een webpagina laadt vanaf HTTPS, maar afbeeldingen en andere elementen (zoals stylesheets of scripts) geladen vanuit een HTTP-URL, kan er een pop-up verschijnen die waarschuwt dat de pagina niet-beveiligde inhoud bevat. Natuurlijk, hebben sommige beveiligde inhoud is beter dan niets hebben, ook al leidt de laatste niet tot een pop-up. Maar toch, het kan de moeite waard zijn om ervoor te zorgen dat u geen "gemengde inhoud" op uw pagina's heeft.
- Soms is het eenvoudiger om een externe betalingsprocessor te krijgen. Het is niet schandelijk dat Google Checkout, Paypal of Checkout door Amazon uw betalingen verwerkt. Als al het bovenstaande te veel ruzie lijkt te veroorzaken, kunt u uw klanten betalingsinformatie laten uitwisselen op de beveiligde site van Paypal of op de beveiligde website van Google en uzelf de moeite besparen.
Hebt u nog andere vragen of opmerkingen over HTTPS- en SSL / TLS-certificaten? Laat me het horen in de comments.