Al giorno d'oggi l'uso di certificati SSL sui siti web è della massima importanza, dato che questi forniscono all'utente un livello di sicurezza e confidenza sul sito che li utilizza, oltre al fatto che da qualche giorno Chrome ha già contrassegnato e avvisato gli utenti sui siti che non li utilizzano.
En In questo articolo, coglieremo l'occasione per conoscere uno strumento per poter installare i certificati SSL localmente sul nostro sistema.
Mkcert è un semplice strumento che può essere utilizzato per produrre localmente certificati affidabili. Non richiede alcuna configurazione. È sempre pericoloso o impossibile utilizzare i certificati effettivi dell'autorità di certificazione per localhost o 127.0.0.1. Anche l'uso di certificati firmati è ancora sconsigliato in quanto causano errori di fiducia.
mkcert ci fornisce la migliore soluzione a questo problema gestendo la tua CA. Questo creerà e installerà automaticamente una CA locale nella radice del sistema e genererà certificati attendibili in locale.
Nel caso dei certificati SSL per le pagine web, puoi consultare alcune altre alternative gratuite, come openSSL.
Requisiti
- Sistema configurato con Go 1.10+ e privilegi di root.
- Strumento database certificati (Certutil)
Vai all'installazione
Go è un linguaggio di programmazione generico con cui possiamo costruire un'ampia varietà di applicazioni. Go ei suoi toolkit sono disponibili nel nostro repository predefinito. Possiamo installare GO su Ubuntu 18.04 semplicemente eseguendo questo comando.
apt install golang
Y possiamo controllare l'installazione con:
go version
Ora possiamo creare un file nel seguente percorso "/Etc/profile.d/goenv.sh" per l'intera variabile d'ambiente come segue:
nano /etc/profile.d/goenv.sh
E all'interno dobbiamo posizionare:
export GOROOT=/usr/lib/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Adesso digitiamo:
source /etc/profile.d/goenv.sh
Installazione di Apache
Il prossimo passo è installare il nostro server web e abilitare SSL per utilizzare localmente questi certificati di attendibilità per lo sviluppo. Possiamo installare Apache usando il seguente comando.
apt install apache2 systemctl enable apache2 ssystemctl start apache2
Installazione di Certutil
Lo strumento di database Certutil è una semplice utilità della riga di comando che può creare e modificare certificati e relativi database.
Può essere utilizzato specificamente per elencare, generare, modificare o eliminare certificati. Può anche essere utilizzato per creare o modificare la password, generare nuove coppie di chiavi pubbliche e private.
Per installarlo, digita il seguente comando:
apt install libnss3-tools
Installazione di Mkcert
Per installare questo strumento basta scaricare il codice da GitHub, per questo dobbiamo solo digitare:
wget https://github.com/FiloSottile/mkcert/archive/v1.0.0.tar.gz tar -xvzf v1.0.0.tar.gz cd mkcert-1.0.0/
Y compiliamo lo strumento con:
make [/ sourcecode]
Ora possiamo copiare questo binario mkcert dalla cartella di installazione di / usr / bin / la cartella da utilizzare a livello di server.
cd mkcert-1.0.0/bin/ cp mkcert /usr/bin/
Infine, possiamo generare il nostro certificato locale con questo comando:
mkcert -install
Questo viene creato e salvato nel percorso /root/.local/share/mkcert
da di solito il certificato CA e la relativa chiave sono archiviati in una cartella dei dati dell'applicazione nella cartella "home" dell'utente.
La posizione può essere ottenuta anche utilizzando il comando mkcert -CAROOT.
mkcert -CAROOT /root/.local/share/mkcert
Ora Possiamo utilizzare questo strumento per generare certificati di fiducia per lo sviluppo locale secondo necessità:
mkcert example.com '*.example.org' myapp.dev localhost 127.0.0.1 ::1
Come riportato in questo comando eseguito, i certificati attendibili generati localmente vengono salvati nel percorso da cui viene eseguito questo comando.
È possibile spostare questi certificati, ad esempio:
cp /root/example.com+5.pem /etc/ssl/certs / cp /root/example.com+5-key.pem /etc/ssl/private /
Ora è necessario modificare il file SSL predefinito che si trova in /etc/apache2/sites-disponibili/default-ssl.conf
SSLCertificateFile /etc/ssl/certs/example.com+5.pem SSLCertificateKeyFile /etc/ssl/private/example.com+5-key.pem
Ora puoi abilitare il modulo SSL e riavviare il servizio Apache 2 per rendere effettive queste modifiche.
a2enmod ssl a2ensite default-ssl.conf systemctl reload apache2 systemctl restart apache2
Fatto ciò, possiamo effettuare i test di navigazione con un certificato SSL locale. Basta digitare https://localhost e potranno vedere che il browser lo riconosce.
Poco spiegato, non puoi immaginare cosa ho dovuto montare per poterlo installare con i prerequisiti.
Non c'era un modo umano per installare apached per configurare il resto.
Quando digiti: make [/ sourcecode]
Di cosa stai parlando??? cosa mettere in / sourcecode?
Ci dispiace per l'inconvenienza.
Saluti.
In Ubuntu 20.04 funziona solo per Firefox ma non per i browser basati su Chrome: '(