Homepage » Ospitando » Guida per principianti ai certificati SSL del sito web

    Guida per principianti ai certificati SSL del sito web

    Quando si crea un'applicazione web che si occupa di dati personali, la sicurezza è la prima priorità. Questo è vero non solo per i negozi online e per i carrelli della spesa, ma anche per i social network popolari come Twitter e Foursquare. SSL è un protocollo sicuro come HTTP in quanto può ricevere e trasferire dati su Internet.

    L'intero concetto è certamente un po 'contorto, ma non così difficile da capire. Se sei un webmaster o qualcuno appena interessato a conoscere i certificati SSL questa guida dovrebbe essere perfetta per te. Ho messo insieme questo insieme dei termini più confusi da presentare ai principianti. Passa un po 'di tempo a navigare qui e a leggere altri articoli esterni sull'argomento. La sicurezza è vitale per il successo di qualsiasi sito Web e SSL è semplicemente un trampolino di lancio nel quadro generale.

    Cos'è SSL?

    Protocollo SSL sta per Layer Secure Socket ed è stato originariamente sviluppato da Netscape. È un processo in cui i dati trasmessi tra l'utente e il server sono crittografati / decrittografati in modo che nessuna terza parte esterna possa dirottare la connessione.

    SSL si comporta come un passaporto digitale che verifica le credenziali di te stesso e del server web finale. Quando entrambe le identità vengono verificate, SSL garantisce una connessione protetta tramite HTTPS. Questo processo viene eseguito utilizzando certificati. Ho analizzato gli aspetti chiave di un certificato SSL, che include:

    • Il nome del proprietario
    • Numero di serie del certificato utilizzato per l'identificazione
    • La data di scadenza del certificato
    • La chiave pubblica del certificato utilizzata per crittografare le informazioni
    • La chiave privata del certificato utilizzata per decrittografare le informazioni (in genere provenienti da un server Web)

    Non è necessario comprendere appieno l'uso di tutte queste informazioni. In alcuni casi, riceverai un certificato con ancora più informazioni. Eppure nessuno di essi influenzerà direttamente l'utente; interessa solo la connessione tra il server e il computer remoto.

    Impostazione di un certificato

    Probabilmente è possibile capire il succo di come funziona SSL. È una forma più complessa di trasmissione di dati, ad esempio il trasferimento di un messaggio all'interno di una cassaforte bloccata. Non è necessario memorizzare gli elementi chiave di un certificato SSL o imparare come si collega a un server web, ma è bene comprendere almeno le basi del processo prima di configurarlo.

    I certificati SSL vengono effettivamente acquistati da numerosi fornitori affidabili sul Web. Ogni certificato ha una data di scadenza, il che significa che dovrai rinnovarlo per mantenere il tuo sito protetto (di solito questo è ogni anno). Sembra un vero dolore da affrontare, ma fortunatamente molti popolari web host come FatCow ti aiuteranno nel processo di installazione.

    Innanzitutto è necessario generare una richiesta di firma CSR o certificato sul proprio server web. La CSR è necessaria prima di poter ottenere un certificato SSL. È possibile crearlo da soli se si dispone di privilegi amministrativi completi sul server Web. Tuttavia, ti consigliamo vivamente di contattare prima il tuo host web in quanto probabilmente non ti permetteranno di farlo da solo. Nessun danno, anzi, rende davvero più facile il tuo lavoro!

    Dopo aver ottenuto questo CSR crittografato, puoi contattare un fornitore di certificati. Ci sono solo una manciata di fornitori di fiducia come Verisign o Thawte. Una volta acquistato il certificato, contatta il tuo supporto host web e lo installeranno felicemente per te.

    Diversi tipi di SSL

    Il modo più comune per impostare un certificato SSL è sul proprio indirizzo IP primario. Questo è noto come a Certificato SSL dedicato. Si applicherà solo al tuo dominio e server web. Non tutti hanno abbastanza soldi per acquistare un piano di hosting dedicato, ma per fortuna tutti noi, ci sono altre soluzioni disponibili.

    In generale esistono tre diversi tipi di certificati SSL che è possibile utilizzare. Alcuni fornitori di servizi possono offrire un certificato gratuito come offerta di prova a tempo limitato ma questi certificati non sono affatto più sicuri di una connessione HTTP standard e scadono rapidamente.

    • SSL dedicato - Questa è la soluzione più sicura ed evidentemente più costosa. Una connessione HTTPS viene verificata solo per il dominio di root scelto come target tramite un indirizzo IP designato.
    • SSL condiviso - Gli host Web che offrono hosting condiviso a volte hanno più nomi di dominio che puntano allo stesso indirizzo IP. In questo caso è molto più facile per l'host gestire un singolo SSL su ciascun server che si estende su una serie di siti Web diversi.
    • Wildcard SSL - Questi possono essere simili a un certificato SSL dedicato o condiviso in base alla configurazione del server. I certificati Wildcard SSL mirano a più sottodomini per il tuo sito web. Questa è una soluzione valida se dividi diverse funzioni del tuo sito web, ad es. shop.domain.com, checkout.domain.com, ecc.

    Se sei appena all'inizio, ti consiglio vivamente di utilizzare una configurazione SSL condivisa. È improbabile che tu possa permettersi subito un indirizzo web / indirizzo IP dedicato. E anche se è possibile, i costi di un certificato SSL dedicato sono atroci. Ma è assolutamente qualcosa che dovresti esaminare, se possibile.

    Tuttavia, poiché questa guida è rivolta ai principianti, penso che un certificato condiviso sia più che sufficiente per iniziare.

    Procedura dettagliata

    Il modo migliore per sentirsi a proprio agio con i certificati SSL è attraverso un esempio funzionante. Mettiamo insieme un piccolo certificato Comodo da Namecheap. Hanno un prezzo molto ragionevole che è perfetto per iniziare i principianti. E poiché abbiamo solo bisogno di passare attraverso il processo e i contorni, questo materiale sarà perfetto per questo tutorial.

    Genera una CSR

    Ora per iniziare, dobbiamo creare la richiesta di firma sul back-end del nostro server. Sto utilizzando un account di hosting aziendale tramite HostGator per testare uno dei miei domini. Ogni host web è un po 'diverso, quindi dovrai verificare con il personale di supporto se hai problemi. Questo URL viene utilizzato per una generazione CSR sugli account HostGator.

    Si noti che molte di queste informazioni devono essere associate ai dati Web Whois del mio dominio. Uso l'app Whois Domain Tools che fornisce tutte le informazioni richieste da questo modulo. Se hai installato la privacy del dominio, devi utilizzare questi dati anziché i tuoi, in modo che il CSR corrisponda.

    Questo processo può richiedere fino a 24 ore per completare la registrazione. Ho ricevuto la mia risposta entro 15 minuti. Andiamo avanti e acquistiamo il nostro certificato ora, così abbiamo pronto per l'installazione con la richiesta di firma.

    Facciamo l'acquisto!

    I piani di Comodo vanno da $ 9 / anno fino a quasi $ 100. Sto guardando il pacchetto EssentialSSL che costa solo $ 25 all'anno. Questo non è un cattivo affare considerando alcune delle alternative.

    Questo piano viene fornito con una politica di restituzione di 15 giorni se non siamo soddisfatti del certificato. Inoltre il nostro nome di dominio sarà protetto per il sottodominio www e non www. Dopo aver aggiunto questo pacchetto al mio carrello possiamo controllare. Namecheap richiederà che effettui l'accesso a un account esistente o l'iscrizione a uno nuovo.

    Dopo aver inserito tutti i dati del mio account, verrà visualizzata la schermata di pagamento finale. Abbiamo la possibilità di pagare con i fondi memorizzati nel mio account, carta di credito o PayPal. Se tutto va bene, verrai reindirizzato a un modulo di conferma dell'ordine (dovresti inoltre ricevere un'e-mail con queste informazioni). Tutto sembra buono finora!

    Installazione finale

    Il CSR dovrebbe apparire in una e-mail dal tuo host web. La chiave è più simile a un blocco di caratteri e chiavi confuse. Questo è ciò che dobbiamo fornire per la verifica SSL. Tornando in Namecheap, troviamo la pagina del certificato SSL e fai clic “Attivare”.

    In questa nuova pagina dobbiamo selezionare un tipo di server e inserire la chiave CSR. Ho scelto Apache + OpenSSL come selezione predefinita. Questa è una configurazione comune per Apache, ma se non sei sicuro, controlla prima con il tuo host. Nota che il tuo host web dovrebbe aver restituito più tempo Chiave RSA che viene utilizzato per l'autenticazione privata sul lato server. Tutto quello che dobbiamo fare è copiare e incollare la chiave CSR più breve nella casella e inviare.

    Quindi generiamo una e-mail inviata al “approver” del nome di dominio. Ciò conterrà alcune informazioni sul certificato SSL e su come attivarlo sull'host. Questo ultimo modulo di richiesta richiederà la nostra chiave segreta RSA e alcune informazioni aggiuntive sul bundle SSL. Questo è tutto fornito da Namecheap dopo che abbiamo passato il CSR.

    Vale la pena notare che su alcuni host Web potresti non essere in grado di utilizzare SSL in un ambiente condiviso. HostGator consente alle aziende di aggiornare i loro account a un indirizzo IP primario in modo che non vi siano errori in conflitto con il certificato. Il modulo di installazione SSL di HostGator è semplice e si convalida molto rapidamente.

    Dopo che il tuo host confermerà che tutto è a posto, allora dovremmo essere pronti. Capire che questo potrebbe richiedere tra un paio d'ore e un giorno o più. Sii paziente e continua a controllare la tua e-mail. Una volta verificato, prova ad accedere al tuo sito web tramite HTTPS e tutti i dettagli del certificato dovrebbero essere nella barra degli indirizzi. È sempre una lotta quando sei appena agli inizi ma non aver paura di chiedere aiuto al tuo provider SSL o al tuo host web, se necessario.

    Gestire una connessione sicura

    Ho trovato questo articolo di supporto Hostgator per immensamente utile per comprendere il processo di installazione. Anche se non sei un cliente di HostGator, molto probabilmente utilizzerai cPanel per gestire qualsiasi server web remoto. Questo è vero per Hosting 1 & 1, Bluehost, ecc.

    Ma la parte migliore dell'utilizzo di un'impostazione SSL su un host web di terze parti è che non è necessario apportare modifiche (o al massimo modifiche minuscole) al codice! Dopo aver acquistato un certificato, la maggior parte degli host Web sarà abbastanza cortese da installarli per te. Dopo che tutto è andato a buon fine, tutte le connessioni via HTTP e HTTPS dovrebbero funzionare in modo identico.

    È possibile verificare se il certificato è autenticato controllando la barra degli indirizzi URL nel browser web. Dovresti notare una piccola icona del lucchetto che denota una connessione SSL verificata tra il tuo computer e il server web remoto. Alcuni browser visualizzeranno anche più informazioni sui certificati se fai clic sull'icona a forma di lucchetto.

    Apache .htaccess Reindirizza

    Se hai problemi a tenere i visitatori sul protocollo HTTPS, potresti prendere in considerazione l'idea di utilizzare uno script di reindirizzamento. Questo è comunemente impostato su server Apache utilizzando un file .htaccess, che molti web host ti permettono di configurare direttamente all'interno di cPanel.

    Ho aggiunto alcuni codici di esempio di seguito che è possibile utilizzare per configurare il proprio file .htaccess. Questo reindirizzerà tutto il traffico in arrivo su https: // con un sottodominio www. È possibile rimuovere il www in modo da indirizzare tutto il traffico verso https://yourdomain.com/ e le regole di riscrittura continuerebbero a funzionare perfettamente.

    RewriteEngine On RewriteCond% HTTPS = off RewriteRule ^ (. *) $ Https://www.yourdomain.com/$1 [R = 301, L] RewriteCond% http_host ^ yourdomain.com [NC] RewriteRule ^ (. *) $ https://www.yourdomain.com/$1 [R = 301, L] 

    Riferimenti ai file

    Il problema più fastidioso in cui ti imbatterai è fare riferimento a URL assoluti anziché a percorsi di file relativi. Questo sarà non mostra una connessione completamente protetta, facendo riferimento invece all'avviso che ci sono “articoli non garantiti” essere visualizzato sulla pagina. Se chiami qualsiasi tipo di media esterno: video, immagine, foglio di stile, deve essere fatto localmente. Ho dimostrato un esempio qui sotto:

        

    Con il primo bit di codice stai caricando un documento potenzialmente insicuro su una pagina sicura. Questo è il metodo con cui gli hacker intelligenti possono aggirare la crittografia. La maggior parte dei casi che ho analizzato tramite JavaScript o VBScript. Ma per essere sicuri, assicurati che nessuno dei tuoi asset stia effettuando il push direttamente via HTTP.

    Se per qualsiasi motivo è necessario estrarre un file tramite l'URL assoluto, utilizzare invece HTTPS. Se i file sono ospitati su un sito Web o server esterni, ciò potrebbe causare problemi poiché non è possibile verificare un'altra connessione HTTPS. Lavora per mantenere tutti i media delle pagine Web consolidati in un unico IP in modo da non incorrere in questi problemi!

    Link correlati

    • Spiega come se avessi 5 anni: quali sono i certificati di sicurezza online, SSL, HTTPS e come funzionano?
    • L'evoluzione dell'autenticità SSL [Infografica]
    • Procedura per la generazione e l'installazione di certificati SSL

    Conclusione

    Spero che questa guida introduttiva ti abbia fornito una panoramica del mondo SSL. La sicurezza Web è un settore in piena espansione che protegge molti dati degli utenti privati. Tutti i famosi negozi online tra cui Amazon e eBay utilizzano SSL da anni.

    Ammetto che SSL / HTTPS non è un argomento che puoi studiare per capire. Simile alla programmazione, è davvero necessario immergersi e sporcarsi le mani impostando il proprio certificato. È un compito arduo partire dopo, ma a lungo andare offre un meraviglioso senso di realizzazione. Se sei a conoscenza di altre utili guide o materiale correlato sentiti libero di condividere l'area di discussione post.