Configurare il client ACME per ottenere gratis certificati SSL validi
-
Ciao,
se vi interessa configurare il client ACME per ottenere gratis certificati SSL validi, potete seguire questa guida
http://www.pfsenseitaly.com/2017/03/ottenere-gratuitamente-un-certificato.html#moreCiao Fabio
-
Ciao,
se vi interessa configurare il client ACME per ottenere gratis certificati SSL validi, potete seguire questa guida
http://www.pfsenseitaly.com/2017/03/ottenere-gratuitamente-un-certificato.html#moreCiao Fabio
grazie.
-
Ciao Fabio, grazie della guida: dettagliata più di ogni altra sull'argomento…
Volevo solo esporti una perplessità : mi sembra che per poter ottenere il certificato di Let'sEncrypt bisogna avere la porta 80 aperta. Sempre, perché è necessario anche per il rinnovo.
Questo non è un problema per la sicurezza? Come si può attenuare al massimo la cosa?Grazie mille!
-
Ciao,
utilizzando la verifica tramite DNS non occorre aprire alcuna porta, basta inserire nel dns del dominio un record TXT con la relativa chiave di verifica.
La procedura fa tutti i check del caso con due query dns: una per il nome host del pfsense e una per la chiave di verifica.
Ciao Fabio -
Grazie, era proprio la cosa che speravo fosse possibile, avendo letto diversi forum…
Ho inserito un record CNAME nel pannello di controllo del DNS e ho realizzato la procedura che tu hai descritto. Ho registrato diversi sottodomini che uso nella nostra rete.
Purtroppo, però, al penultimo punto, quello nel quale devo creare il record TXT sul DNS, non riesco a trovare nell'output la chiave di verifica da mettere.Ecco qui quello che mi viene restituito dalla procedura ACME:
pfsense.mydomain.it
Renewing certificateaccount: pfSense_Certificate
server: letsencrypt-productiongetCertificatePSK creating new cert
/usr/local/pkg/acme/acme.sh –home '/tmp/acme/pfsense.mydomain.it/' --accountconf '/tmp/acme/pfsense.mydomain.it/accountconf.conf' --createDomainKey -d 'pfsense.mydomain.it' --keylength '2048' --log-level 3 --log '/tmp/acme/pfsense.mydomain.it/acme_createdomainkey.log'
Array
(
[path] => /etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/
[PATH] => /etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/
)
[Sun Mar 5 16:31:38 CET 2017] Creating domain keyLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVB (ecc.) PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
/usr/local/pkg/acme/acme.sh –issue -d 'pfsense.mydomain.it' -d 'rackstation.mydomain.it' -d 'rs-backup.mydomain.it' -d 'rs-files172.mydomain.it' -d 'proxmox.mydomain.it' --home '/tmp/acme/pfsense.mydomain.it/' --accountconf '/tmp/acme/pfsense.mydomain.it/accountconf.conf' --force --reloadCmd '/tmp/acme/pfsense.mydomain.it/reloadcmd.sh' --webroot pfSenseacme --dnssleep '120' --log-level 3 --log '/tmp/acme/pfsense.mydomain.it/acme_issuecert.log'
Array
(
[path] => /etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/
[PATH] => /etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin/
[folder] =>
)
[Sun Mar 5 16:31:41 CET 2017] Registering account
[Sun Mar 5 16:31:42 CET 2017] Already registered
[Sun Mar 5 16:31:43 CET 2017] Update success.
[Sun Mar 5 16:31:43 CET 2017] Multi domain='DNS:rackstation.mydomain.it,DNS:rs-backup.mydomain.it,DNS:rs-files172.mydomain.it,DNS:proxmox.mydomain.it'
[Sun Mar 5 16:31:43 CET 2017] Getting domain auth token for each domain
[Sun Mar 5 16:31:43 CET 2017] Getting webroot for domain='pfsense.mydomain.it'
[Sun Mar 5 16:31:43 CET 2017] _w='pfSenseacme'
[Sun Mar 5 16:31:43 CET 2017] Getting new-authz for domain='pfsense.mydomain.it'
[Sun Mar 5 16:31:44 CET 2017] The new-authz request is ok.
[Sun Mar 5 16:31:44 CET 2017] Getting webroot for domain='rackstation.mydomain.it'
[Sun Mar 5 16:31:44 CET 2017] _w='pfSenseacme'
[Sun Mar 5 16:31:44 CET 2017] Getting new-authz for domain='rackstation.mydomain.it'
[Sun Mar 5 16:31:45 CET 2017] The new-authz request is ok.
[Sun Mar 5 16:31:45 CET 2017] Getting webroot for domain='rs-backup.mydomain.it'
[Sun Mar 5 16:31:45 CET 2017] _w='pfSenseacme'
[Sun Mar 5 16:31:45 CET 2017] Getting new-authz for domain='rs-backup.mydomain.it'
[Sun Mar 5 16:31:46 CET 2017] The new-authz request is ok.
[Sun Mar 5 16:31:46 CET 2017] Getting webroot for domain='rs-files172.mydomain.it'
[Sun Mar 5 16:31:46 CET 2017] _w='pfSenseacme'
[Sun Mar 5 16:31:46 CET 2017] Getting new-authz for domain='rs-files172.mydomain.it'
[Sun Mar 5 16:31:47 CET 2017] The new-authz request is ok.
[Sun Mar 5 16:31:47 CET 2017] Getting webroot for domain='proxmox.mydomain.it'
[Sun Mar 5 16:31:47 CET 2017] _w='pfSenseacme'
[Sun Mar 5 16:31:47 CET 2017] Getting new-authz for domain='proxmox.mydomain.it'
[Sun Mar 5 16:31:48 CET 2017] The new-authz request is ok.
[Sun Mar 5 16:31:48 CET 2017] Verifying:pfsense.mydomain.it
[Sun Mar 5 16:31:48 CET 2017] Found domain http api file: /tmp/acme/pfsense.mydomain.it//httpapi/pfSenseacme.shchallenge_response_put pfsense.mydomain.it, pfsense.mydomain.it
FOUND domainitem[Sun Mar 5 16:31:52 CET 2017] Found domain http api file: /tmp/acme/pfsense.mydomain.it//httpapi/pfSenseacme.sh
[Sun Mar 5 16:31:52 CET 2017] pfsense.mydomain.it:Verify error:Invalid response from http://pfsense.mydomain.it/.well-known/acme-challenge/0Q6uRFssvyubDcKi8GbNXfAlpcb8ECTu9xCckFf-ybM:
[Sun Mar 5 16:31:52 CET 2017] Please check log file for more details: /tmp/acme/pfsense.mydomain.it/acme_issuecert.logHo provato a vedere il file acme_issuecert.log indicato e non ho trovato nulla di strano:
[Sun Mar 5 16:31:39 CET 2017] readlink exists=0
[Sun Mar 5 16:31:39 CET 2017] dirname exists=0
[Sun Mar 5 16:31:39 CET 2017] Lets find script dir.
[Sun Mar 5 16:31:39 CET 2017] SCRIPT='/usr/local/pkg/acme/acme.sh'
[Sun Mar 5 16:31:39 CET 2017] _script='/usr/local/pkg/acme/acme.sh'
[Sun Mar 5 16:31:39 CET 2017] _script_home='/usr/local/pkg/acme'
[Sun Mar 5 16:31:39 CET 2017] APP
[Sun Mar 5 16:31:39 CET 2017] 2:LOG_FILE='/tmp/acme/pfsense.mydomain.it/acme_issuecert.log'
[Sun Mar 5 16:31:39 CET 2017] APP
[Sun Mar 5 16:31:39 CET 2017] 3:LOG_LEVEL='3'
[Sun Mar 5 16:31:39 CET 2017] LE_WORKING_DIR='/tmp/acme/pfsense.mydomain.it/'
[Sun Mar 5 16:31:39 CET 2017] Using api:
[Sun Mar 5 16:31:39 CET 2017] CA_CONF='/tmp/acme/pfsense.mydomain.it//ca/acme-v01.api.letsencrypt.org/ca.conf'
[Sun Mar 5 16:31:39 CET 2017] DOMAIN_PATH='/tmp/acme/pfsense.mydomain.it//pfsense.mydomain.it'
[Sun Mar 5 16:31:39 CET 2017] APP
[Sun Mar 5 16:31:39 CET 2017] 1:Le_Domain='pfsense.mydomain.it'
[Sun Mar 5 16:31:39 CET 2017] APP
[Sun Mar 5 16:31:39 CET 2017] 2:Le_Alt='rackstation.mydomain.it,rs-backup.mydomain.it,rs-files172.istit
utomurialdo.it,proxmox.mydomain.it'
[Sun Mar 5 16:31:39 CET 2017] APP
[Sun Mar 5 16:31:39 CET 2017] 3:Le_Webroot='pfSenseacme'
[Sun Mar 5 16:31:39 CET 2017] APP
[Sun Mar 5 16:31:39 CET 2017] 4:Le_PreHook=''Se non chiedo troppo, dove trovo il codice da mettere? Non riesco a trovare la stringa: acme_challenge.pfsense.mydomain.it e la relativa chiave di verifica…
Grazie ancora!
-
Ciao,
sei sicuro di aver scelto come metodo di verifica DNS-Manual?
Dal log sembrerebbe che tu stia usando Webroot local folder[Sun Mar 5 16:31:52 CET 2017] pfsense.mydomain.it:Verify error:Invalid response from http://pfsense.mydomain.it/.well-known/acme-challenge/0Q6uRFssvyubDcKi8GbNXfAlpcb8ECTu9xCckFf-ybM:
Ciao Fabio
-
E' vero, problema mio.
Grazie dell'aiuto, ora è tutto ok!
-
Ciao,
utilizzando la verifica tramite DNS non occorre aprire alcuna porta, basta inserire nel dns del dominio un record TXT con la relativa chiave di verifica.
La procedura fa tutti i check del caso con due query dns: una per il nome host del pfsense e una per la chiave di verifica.
Ciao FabioGrazie mille per l'ennessima bellissima guida.
Giusto una domanda:
Il record TXT inserito _acme-challenge.nostro_FQDN dopo la creazione del certificato può essere eliminato oppure deve rimanere per i successivi rinnovi? -
Ciao,
non ho trovato documentazione in merito quindi mi sono limitato ad una prova.
Sembrerebbe che si possa rimuovere il record, una volta validato il dominio la riemissione dei certificati avviene senza il challenge response via DNS
Per ora io ho provato il rinnovo con certificato lontano dalla scadenza, sarebbe da riprovare il rinnovo alla scadenza. Alcuni dicono che dopo 60 gg occorre rifare un challenge response basato sulla chiave, mi sembra abbastanza anomalo.
Per sicurezza, se non ti danno fastidio io lascerei le chiavi nel DNSCiao Fabio
-
Ottima quida, io ho installato il client ACMEÂ nella scuola dove lavoro e riesco ad autenticare l'utenza del captive portal in https.
Grazie fabio.vigano ;)