Nybörjarens guide till SSL-webbsidor på webbplatsen
När du bygger en webbapplikation som behandlar personuppgifter är säkerhet den första prioriteten. Det här är sant inte bara sant med nätbutiker och kundvagnar, men också lika mycket med populära sociala nätverk som Twitter och Foursquare. SSL är ett säkert protokoll som HTTP, eftersom det kan ta emot och överföra data via Internet.
Hela konceptet är visserligen lite trångt men inte så svårt att förstå. Om du är en webbansvarig eller någon som bara är intresserad av att lära dig om SSL-certifikat, bör den här guiden vara perfekt för dig. Jag har sammanställt den här uppsättningen av de mest förvirrande termerna att lägga ut för nybörjare. Tillbringa lite tid på att surfa här och läsa andra externa artiklar om ämnet. Säkerhet är avgörande för framgången för alla webbplatser och SSL är bara en stegningssten i den större bilden.
Vad är SSL?
SSL-protokollet står för Säkra socketlager och ursprungligen utvecklades av Netscape. Det är en process där data som skickas mellan användaren och servern är krypterad / dekrypterad så att ingen extern tredje part kan kapa anslutningen.
SSL beter sig som ett digitalt pass som verifierar credentials för både dig själv och slutwebbservern. När båda identiteterna är verifierade ger SSL en säker anslutning via HTTPS. Denna process utförs med användning av certifikat. Jag har brutit ner viktiga aspekter av ett SSL-certifikat, vilket inkluderar:
- Ägarens namn
- Certifikatets serienummer som används för identifiering
- Certifikatets utgångsdatum
- Certifikatets allmänna nyckel används för att kryptera information
- Certifikatets privata nyckel används för att dekryptera information (vanligtvis från en webbserver)
Du behöver inte fullt ut förstå användningen av all denna information. I vissa fall får du ett certifikat med ännu mer information. Ändå kommer ingen av det direkt att påverka användaren; Det påverkar bara anslutningen mellan servern och fjärrdatorn.
Ställa in en certifikat
Du kan troligen ta reda på hur SSL fungerar. Det är en mer komplex form av dataöverföring - som att överföra ett meddelande i ett låst säkerhetsskåp. Det är inte nödvändigt att memorera nyckelelement i ett SSL-certifikat eller lära sig hur det ansluter till en webbserver, men det är bra att minst förstå grunderna i processen innan du sätter upp din egen.
SSL-certifikat köps faktiskt av ett antal pålitliga leverantörer på webben. Varje certifikat har ett utgångsdatum, vilket innebär att du måste förnya det för att hålla din webbplats säker (vanligtvis är det varje år). Det verkar som en verklig smärta att hantera, men lyckligtvis kommer många populära webbhotell som FatCow att hjälpa dig i installationsprocessen.
Först måste du skapa en CSR- eller certifikatsigneringsbegäran på din egen webbserver. CSR behövs innan du kan få en SSL-cert. Det är möjligt att skapa detta själv om du har fullständiga administrativa behörigheter på webbservern. Det är dock starkt rekommenderat att du kontaktar din webbhotell först eftersom de sannolikt inte tillåter dig att göra det själv. Ingen skada i det faktum gör det faktiskt ditt jobb så mycket lättare!
När du har denna krypterade CSR kan du då kontakta en certifikatleverantör. Det finns bara en handfull pålitliga leverantörer som Verisign eller Thawte. När du har köpt certifikatet kontaktar du bara ditt webbhotellstöd och de installerar gärna det för dig.
Olika typer av SSL
Det vanligaste sättet att skapa ett SSL-certifikat är på din egen primära IP-adress. Detta är känt som a Dedikerat SSL-certifikat. Det gäller bara din domän och webbserver. Inte alla har tillräckligt med pengar för att köpa en dedikerad värdplan, men lycka till oss alla, det finns andra lösningar tillgängliga.
Generellt finns det tre olika typer av SSL-certifikat som du kan använda. Vissa tjänsteleverantörer kan erbjuda ett gratis certifikat som ett tidsbegränsat erbjudande, men dessa certs är inte längre säkra än en vanlig HTTP-anslutning och de löper ut snabbt.
- Dedikerad SSL - Detta är den mest säkra och uppenbarligen den dyraste lösningen. En HTTPS-anslutning verifieras bara för din rotdomän riktade via en angiven IP-adress.
- Delad SSL - Webbhotell som erbjuder delad hosting kommer ibland att ha flera domännamn som pekar på samma IP-adress. I det här fallet är det mycket lättare för värden att hantera en enda SSL på varje server som spänner över en rad olika webbplatser.
- Wildcard SSL - Dessa kan likna ett dedikerat eller delat SSL-certifikat baserat på serverkonfiguration. Wildcard SSL certs kommer att rikta sig till flera underdomäner för din webbplats. Det här är en lönsam lösning om du delar upp olika funktioner på din webbplats, t.ex. shop.domain.com, checkout.domain.com, etc.
Om du bara har börjat rekommenderar jag starkt att du använder en gemensam SSL-inställning. Det är osannolikt att du kan ha råd med en dedikerad webbhotell / IP-adress direkt. Och även om du kan, är kostnaderna för ett dedikerat SSL-certifikat skrämmande. Men det är absolut något du bör undersöka om det är möjligt.
Men eftersom denna guide riktar sig till nybörjare tror jag att ett delat certifikat är mer än tillräckligt för att komma igång på.
Steg för steg Walkthrough
Det bästa sättet att känna sig bekväm med SSL-certifikat är genom arbetsexempel. Låt oss sätta ihop ett litet Komodocertifikat från Namecheap. De har mycket rimliga priser som är perfekta för att få nybörjare påbörjade. Och eftersom vi bara behöver gå igenom processen och skisser kommer det att vara perfekt material för denna handledning.
Skapa en CSR
För att börja, måste vi skapa signeringsförfrågan på vår servers backend. Jag använder ett företagets värdkonto via HostGator för att testa ett av mina domäner. Varje webbhotell är lite annorlunda, så du måste kolla med supportpersonalen om du har problem. Den här webbadressen används för en CSR-generation på HostGator-konton.
Observera att mycket av denna information måste matchas med min domäns Whois webbdata. Jag använder Whois Domain Tools-appen som innehåller all information som denna blankett kräver. Om du har domänskyddspersonal installerad måste du använda denna data istället för din egen, så CSR kommer att matcha.
Denna process kan ta upp till 24 timmar för att slutföra registreringen. Jag fick mitt svar inom 15 minuter. Låt oss fortsätta och köpa vårt certifikat nu så att vi har det klart att installera med signeringsförfrågan.
Låt oss köpa!
Comodo planerna varierar från $ 9 / år upp till nästan $ 100. Jag tittar på EssentialSSL-paketet som bara kostar 25 dollar per år. Detta är inte en dålig affär med tanke på några av alternativen.
Denna plan kommer med en 15-dagars returpolitik om vi inte är nöjda med certifikatet. Dessutom kommer vårt domännamn att säkras för www-underdomänen och icke-www. Efter att du har lagt till paketet i min kundvagn kan vi kolla in. Namecheap kräver att jag loggar in på ett befintligt konto eller registrerar mig för en ny.
När du har angett alla mina kontouppgifter kommer den slutliga betalningsskärmen att komma upp. Vi har möjlighet att betala med pengar som sparats i mitt konto, kreditkort eller PayPal. Om allt går igenom ordentligt, riktas vi om till en orderbekräftelse (du ska dessutom få ett e-mail med denna information). Allt ser bra ut hittills!
Slutlig installation
CSR ska visas i ett e-postmeddelande från din webbhotell. Nyckeln är mer som ett block av jumbled upp tecken och nycklar. Det här är vad vi behöver för SSL-verifiering. Flytta tillbaka till Namecheap låt oss hitta SSL-certifikatets sida och klicka på “Aktivera”.
På den här nya sidan måste vi välja en servertyp och ange CSR-nyckeln. Jag har valt Apache + OpenSSL som standardval. Detta är en vanlig inställning för Apache, men om du är osäker, kolla bara med din värd i förväg. Observera att din webbhotell borde ha återlämnats en längre tid RSA-nyckel som används för privat autentisering på serverns ände. Allt vi behöver göra är att kopiera klistra in den kortare CSR-nyckeln i rutan och skicka in.
Vi genererar sedan ett e-postmeddelande skickat till “godkännare” av domännamnet. Detta kommer att innehålla lite information om ditt SSL-certifikat och hur du aktiverar det på värden. Den här sista inlämningsformuläret kräver vår RSA-hemliga nyckel samt ytterligare SSL-paketinformation. Detta levereras allt från Namecheap efter att vi skickat in CSR.
Det är värt att notera att på vissa webbhotell kan du kanske inte använda SSL i en gemensam miljö. HostGator tillåter företag att uppgradera sina konton till en primär IP-adress så att det inte kommer några motstridiga fel med certifikatet. SSL-installationsformuläret från HostGator är enkelt och validerar också mycket snabbt.
När din värd har bekräftat att allt är okej, så borde vi vara redo att gå. Förstå att det kan ta mellan ett par timmar och en dag eller mer. Var tålmodig och fortsätt kontrollera ditt e-postmeddelande. En gång verifierad, försök att komma åt din webbplats via HTTPS och alla certifikatuppgifter ska finnas i adressfältet. Det är alltid en kamp när du bara börjar, men var inte rädd att be om hjälp från din SSL-leverantör eller webbhotell om det behövs.
Hantera en säker anslutning
Jag har hittat den här Hostgators supportartikelen till stor hjälp för att förstå installationsprocessen. Även om du inte är värd för HostGator, använder du troligtvis cPanel för att hantera fjärrwebbservern. Detta gäller för 1 & 1 Hosting, Bluehost, etc.
Men det bästa med att använda en SSL-inställning på en tredjeparts webbhotell är att du inte behöver göra ändringar (eller vid de flesta minutändringar) till din kod! När du har gått igenom ett certifikat kommer de flesta webbhotell att vara tillräckligt artiga för att installera dem för dig. När allt är igång, ska alla anslutningar via HTTP och HTTPS fungera identiskt.
Du kan testa om certifikatet är autentiserat genom att kontrollera URL-adressfältet i din webbläsare. Du bör märka en liten hänglåsikon som anger en verifierad SSL-anslutning mellan din dator och fjärrwebbservern. Vissa webbläsare kommer även att visa mer certifikatinformation om du klickar på låsikonen.
Apache .htaccess Omdirigeringar
Om du har problem med att hålla besökare på HTTPS-protokollet, kan du överväga att använda ett omdirigeringsskript. Detta är vanligtvis inställt på Apache-servrar med en fil .htaccess, vilken webbhotell kan du konfigurera direkt inom cPanel.
Jag har lagt till några exempelkoder nedan som du kan använda för att skapa en egen .htaccess-fil. Detta kommer att omdirigera all inkommande trafik till https: // med en www-underdomän. Du kan ta bort www så all trafik skulle istället riktas till https://yourdomain.com/ och omskrivningsreglerna skulle fortfarande fungera perfekt.
RewriteEngine On RewriteCond% HTTPS = av RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R = 301, L] RewriteCond% http_host ^ dindomänen.com [NC] RewriteRule ^ (. *) $ https://www.yourdomain.com/$1 [R = 301, L]
Hänvisar till filer
Det mest irriterande problemet du kommer att köra till är att referera till absoluta webbadresser istället för relativa filbanor. Det här kommer att inte visa en helt säker anslutning, istället hänvisa till varningen om att det finns “osäkrade varor” visas på sidan. Om du ringer någon typ av externt media: video, bild, stilark, måste det ske lokalt. Jag har visat ett exempel nedan:
Med den första koden lägger du ett eventuellt osäkert dokument på en säker sida. Detta är själva metoden genom vilken intelligenta hackare kan kringgå din kryptering. De flesta fall som jag har stött på genom att analysera JavaScript eller VBScript. Men för att vara säker, se till att ingen av dina tillgångar drar direkt via HTTP.
Om du av någon anledning måste dra en fil via den absoluta webbadressen, använd sedan HTTPS istället. Om du har filer som finns på en extern webbplats eller server kan det här orsaka problem eftersom du inte kan verifiera en annan HTTPS-anslutning. Arbeta för att hålla alla webbsidor konsoliderade under en IP så att du inte stöter på dessa problem alls!
relaterade länkar
- Förklara som jag är 5: Vad är säkerhetsintyg för internet, SSL, HTTPS och hur fungerar de??
- Utvecklingen av SSL Authenticity [Infographic]
- Generera och installera SSL-certifikat steg för steg
Slutsats
Jag hoppas att den här introduktionsguiden har gett dig lite insikt i SSL-världen. Websäkerhet är en blomstrande bransch som säkrar mycket privat användardata. Alla de kända onlinebutikerna, inklusive Amazon och eBay, har använt SSL i flera år.
Jag ska medge att SSL / HTTPS inte är ett ämne du bara kan studera för att förstå. I likhet med programmering behöver du verkligen dyka in och få dina händer smutsiga och skapa ditt eget certifikat. Det är en skrämmande uppgift att sätta upp efter, men det ger en underbar känsla av prestation på lång sikt. Om du känner till andra hjälpsamma guider eller relaterat material kan du dela med dig i diskussionsområdet.