acme.sh - Migración a certbot
Asegúrese de haber iniciado sesión como usuario no root que se utiliza para ejecutar zend y el tracker de nodos seguro.
- PM2 / Monit - Migración a systemd.
- Instale certbot.
- Pare zend y zentracker.
- Cree certificado independiente.
- Agregue certificado de CA raíz al almacén de certificados (certificate store).
- Actualice ubicaciones de cert de zen.conf
- Agregue usuario no root en grupos.
- Inice zend y verifique el estado del certificado (cert).
- Inicie zentracker y verifique el estado del certificado (cert).
- Limpie archivos de acme.sh
- Configurar la renovación del certificado
Descripción | Comando | |
---|---|---|
1 | Primero siga la guía PM2 / Monit - Migración a systemd | |
2 | Agregue el repositorio de certbot. NOTA: Omita este paso para Debian 9. | Ubuntu solamente sudo add-apt-repository ppa:certbot/certbot -y |
3 | Agregue el repositorio stretch-backports, actualice el paquete caché e instale certbot directamente desde stretch-backports. NOTA: Omita este paso para Ubuntu. | Debian 9 solamente echo "deb http://ftp.debian.org/debian stretch-backports main" | sudo tee -a /etc/apt/sources.list.d/stretch-backport.list sudo apt-get update sudo apt-get -t stretch-backports install certbot -y |
4 | Actualice el paquete caché | sudo apt-get update |
5 | Instale el certbot | sudo apt-get install certbot -y |
6 | Detenga zend y zentracker | sudo systemctl stop zend zentracker |
7 | Establezca una variable de entorno para que coincida con el Nombre de Dominio Completamente Calificado del nodo seguro - deberá escribir este comando y cambiar <FQDN> (el valor entre las comillas ' ') al valor utilizado en el registro de dominio para su nodo. | ¡NO USE LETRAS MAYÚSCULAS EN LUGAR DE <FQDN>, REEMPLACE SOLO CON LETRAS MINÚSCULAS! FQDN='FQDN' utilice solamente letras minúsculas como en el ejemplo Ejemplo de Resultado zenops@node01:~$ FQDN='node01.zentest.win' |
8 | Agregue la variable FQDN al archivo .bashrc, para el usuario que creó, esto garantizará que sea persistente. | echo "export FQDN=$FQDN" >> $HOME/.bashrc |
9 | Verifique que sus variables ambientales estén configuradas correctamente desde los pasos 7 y 8 anteriores antes de continuar, de lo contrario, deberá volver atrás y volver a realizar esos pasos antes de continuar. Echo desplegará su FQDN La última línea del archivo .bashrc necesita leer: export FQDN=<your FQDN here> | echo $FQDN Ejemplo de Resultado zenops@node01:~$ echo $FQDN sed -e 1b -e '$!d' $HOME/.bashrc Ejemplo de Resultado zenops@node01:~$ sed -e 1b -e '$!d' $HOME/.bashrc |
10 | Instale un certificado (requerido para cifrado TLS de punta a punta para la red de Nodos Seguros). Certbot será utilizado para generar y verificar su certificado.
NOTA: Algunos proveedores de VPS tienen apache2 habilitado que bloquea el puerto 80. Necesitarás deshabilitar apache2 si se obtiene un error de enlace al puerto 80 cuando se esté estableciendo su certificado independiente. | Disable apache2 (if enabled, see note) sudo systemctl disable apache2 sudo systemctl stop apache2 sudo certbot certonly -n --agree-tos --register-unsafely-without-email --standalone -d $FQDN Ejemplo de Resultado zenops@node01$ sudo certbot certonly -n --agree-tos --register-unsafely-without-email --standalone -d $FQDN Saving debug log to.../var/log/letsencrypt/letsencrypt.log Registering without email! Obtaining a new certificate Performing the following challenges: IMPORTANT NOTES: Donating to ISRG /............Let's Encrypt:..............https://letsencrypt.org/donate |
11 | Copie el root CA tal como se requiera por su distribución - este ejemplo está probado para Debian y Ubuntu. NOTA:Si usted escribe este comando, asegúrese de renombrar el certificado con una extensión ‘.crt’, esto es un requisito para que el próximo comando pueda identificar el certificado y agregarlo en el almacén de certificados (certificate store). Es recomendado que copien y peguen todo lo de esta guia, al menos que se indique lo contrario donde se tengan que reemplazar algunas variables. | Para Debian / Ubuntu sudo cp /etc/letsencrypt/live/$FQDN/chain.pem /usr/local/share/ca-certificates/chain.crt |
12 | Actualice el almacén de certificados (certificate store) con el root CA copiada en el paso anterior. | Para Debian / Ubuntu sudo update-ca-certificates Ejemplo de Resultado zenops@node01:~$ sudo update-ca-certificates |
13 | Reemplace el certificado anterior y las ubicaciones clave en zen.conf y agregue "rpcworkqueue = 512". | sed -i "s|$HOME/.acme.sh/$FQDN/$FQDN.cer|/etc/letsencrypt/live/$FQDN/cert.pem|g" ~/.zen/zen.conf sed -i "s|$HOME/.acme.sh/$FQDN/$FQDN.key|/etc/letsencrypt/live/$FQDN/privkey.pem|g" ~/.zen/zen.conf echo "rpcworkqueue=512" >> ~/.zen/zen.conf |
14 | Agregue el usuario no root a los grupos 'adm' y 'systemd-journal'. | sudo adduser $USER adm sudo adduser $USER systemd-journal |
15 | Modifique la propiedad y los permisos del grupo en el directorio / etc / letsencrypt para permitir que el usuario no root acceda al certificado y a la clave privada. (el acceso se otorga a través del grupo ssl-cert, al que se ha agregado el usuario no root) | Modificar propiedad sudo chown -R root:sudo /etc/letsencrypt/ Modificar permisos sudo chmod -R 750 /etc/letsencrypt/ |
16 | Aplique la propiedad al usuario no root de todos los archivos en el Home e iniciar zend. | sudo chown -R $USER:$USER ~/ && sudo systemctl start zend && sleep 30 |
17 | Compruebe si zend ha verificado el certificado TLS. | zen-cli getnetworkinfo | grep tls_cert_verified Ejemplo de Resultado zenops@node01:~$ zen-cli getnetworkinfo | grep tls_cert_verified |
18 | Inicie el zentracker y siga los registros del rastreador (tracker) para verificar que "Cert check" sea "true", salga con CTRL + C | sudo systemctl start zentracker sudo journalctl -fu zentracker Ejemplo de Resultado zenops@node01~$ sudo journalctl -fu zentracker |
19 | Elimine trabajos de crontab existentes para sudo y usuario normal. | sudo crontab -r crontab -r |
20 | Elimine los directorios .acme.sh y acme.sh y elimine acme.sh.env de .bashrc. | sudo rm -r ~/{.acme.sh,acme.sh} sed -i "s|.\ \"/home/$USER/.acme.sh/acme.sh.env\"||g" ~/.bashrc |
21 | Remueva socat y repositorios antiguos. | sudo apt-get remove socat -y sudo apt-get -y autoremove |
Configurar la Renovación del Certificado | ||
22 | Siga la Parte 10 - Configure la Renovación del Certificado y complete la guía para completarla en la Parte 11. |