Inserisci qui la tua pubblicità
Introduzione
---------------
Google ha dichiarato che da **Gennaio 2017** il browser Chrome, usato da circa il 75% dei navigatori web, mostrerà la scritta **“SITO NON SICURO”** nella barra degli indirizzi accanto ai siti che non utilizzano il protocollo https.
Pertanto su tutti i siti dove non è attivo il certificato di protezione, l’_https_ sarà barrato in rosso.
L’obiettivo principale di Google è quello di far utilizzare il certificato di protezione SSL a tutti i webmaster. Attualmente necessitano maggiormente della protezione tutti quei siti in cui avvengono transazioni di denaro, ma in futuro verrà esteso a tutti i siti web, per una protezione maggiore dei dati sensibili e in generale per rendere il web più sicuro contro attacchi hakers.
Cripteremo il nostro sito utilizzando un'autorità di certificazione chiamata Let's Encrypt , un'iniziativa aperta e gratuita che mira a rendere onnipresente la crittografia online. Il processo di crittografia può essere un po 'complicato, quindi l'ho diviso in 5 passaggi:
1. Aggiungendo Let's Encrypt support a Django
2. Installazione ed esecuzione di Certbot
3. Dimostrare la proprietà del sito con la sfida ACME
4. Generazione del certificato di sicurezza con Certbot
1. Aggiungiamo Let's Encrypt a Django
----------------------------------------
Prima di tutto, è importante capire come funziona Let's Encrypt. Quando si richiede un certificato di sicurezza, è necessario dimostrare di essere realmente il proprietario del sito. Questa è chiamata una sfida ACME .
La sfida ACME implica che un url chiave di sfida sul tuo sito restituisca una risposta chiave di sfida . Sia la chiave che la risposta sono uniche e sono fornite da Let's Encrypt.
Aggiungeremo il supporto per le sfide ACME alla nostra applicazione utilizzando la libreria django-letsencrypt di Urda .
La libreria è abbastanza semplice e consente di aggiungere le coppie di chiavi e risposte attraverso l'ambiente di amministrazione Django. Questo esporrà l'url necessario per dimostrare la tua proprietà.
Utilizzando pip , eseguire i seguenti comandi per aggiornare l'ambiente Python ei requisiti:
pip installa django-letsencrypt
pip freeze > requirements.txt
In settings.py , aggiungi letsencrypt alle tue app installate:
INSTALLED_APPS = [
... ,
'letsencrypt' ,
... ,
]
nfine, esporre gli URL della chiave di verifica aggiornando urls.py con il seguente indirizzo:
urlpatterns = [
... ,
url ( r '^ \. well-known /' , include ( 'letsencrypt.urls' )),
... ,
]
2. Installazione ed esecuzione di Certbot
-----------------------------------------
Successivamente installiamo Certbot , il client che recupera il certificato da Let's Encrypt.
Sto usando apache e pip, il che rende l'installazione semplice. Apri un terminale ed esegui:
preparare installare certbot
Nel terminale eseguire il seguente comando e seguire le istruzioni.
sudo certbot certonly --manual
**CertBot** chiederà alcune delle tue informazioni, inclusa la tua email e il nome del dominio .
Alla fine produrrà un mucchio di testo, la maggior parte non pertinente alla nostra situazione. Soprattutto, produrrà qualcosa seguendo queste linee:
Create a file containing just this data:
CHALLENGE-KEY
And make it available on your web server at this URL:
http://dominio/.well-known/acme-challenge/CHALLENGE-RESPONSE
Per motivi di leggibilità, ho sostituito gli hash delle chiavi e delle risposte con CHALLENGE-RESPONSE e CHALLENGE-KEY . In pratica questi saranno degli hash complicati, che aggiungerai al tuo back-end.
*ricordarsi di sostituire la parola dominio col il proprio sito web
3. Dimostrare la proprietà con ACME
-----------------------------------
Nell'amministratore di Django, vai alla nuova sezione Let's Encrypt e aggiungi una nuova richiesta ACME.
Incolla la CHALLENGE-KEY e CHALLENGE-RESPONSE nei campi corrispondenti e salva la voce.
L'URL della sfida dovrebbe ora essere visibile e corretto.
4. Generazione del certificato di sicurezza con Certbot
-------------------------------------------------------
Tornare al terminale e continuare premendo enter. CertBot ora tenterà di accedere all'URL della richiesto. In caso di successo, verrà generato quanto segue:
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/dominio/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/dominio/privkey.pem
Your cert will expire on 2019-04-04. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Rinnovo del certificato
-----------------------
Let's Encrypt emette certificati validi per 90 giorni e ti invierà un'e-mail quando stanno per scadere. Dato che hai tutto configurato, è facile (ma non ideale) fare manualmente.
Per rinnovarlo automaticamente entrare nel terminale e digitare:
certbot renew
Congratulazioni!
----------------
Il tuo sito dovrebbe essere crittografato.
barone.anto1@gmail.com
Iscriviti alla nostra newsletter
Iscriviti alla nostra newsletter per non perderti nessuna novità!