|

Let’s Encrypt ,DNS-01 Challenge, OVH API y WordOps

En la era digital, la seguridad en la web es esencial, y los certificados SSL/TLS juegan un papel crucial en la protección de la información transmitida entre un servidor web y sus usuarios. Let’s Encrypt es una autoridad de certificación (CA) gratuita y automatizada que facilita la obtención de estos certificados.

Para validar la propiedad de un dominio y emitir un certificado SSL, Let’s Encrypt utiliza dos métodos principales:

  1. HTTP-01 Challenge: Este método verifica la propiedad del dominio al solicitar que se cree un archivo específico en el servidor web. Let’s Encrypt accede a este archivo a través de una URL pública (http://tudominio.com/.well-known/acme-challenge/) para confirmar que tienes control sobre el dominio.
  2. DNS-01 Challenge: En este método, debes crear un registro TXT específico en el DNS del dominio. Let’s Encrypt verifica este registro para confirmar tu control sobre el dominio. Es especialmente útil para dominios wildcard (*.dominio.com) y cuando no es posible utilizar el método HTTP-01.

A continuación, te mostraré cómo configurar un certificado SSL con Let’s Encrypt usando el DNS-01 Challenge en OVH, WordOps, y aplicarlo en un sitio WordPres

Si prefieres automatizar la creación del registro TXT para el DNS-01 Challenge utilizando la API de OVH, a continuación te detallo cómo hacerlo paso a paso.

Requisitos Previos

  1. Cuenta en OVH: Debes tener una cuenta activa en OVH y acceso al dominio que deseas configurar.
  2. Credenciales de la API de OVH: Necesitarás una aplicación configurada en OVH para obtener las credenciales API (Application Key, Application Secret y Consumer Key).

Paso 1: Obtener las Credenciales de la API

  1. Accede al portal de OVH API:
    • Dirígete a OVH API e inicia sesión con tu cuenta de OVH. Mas Informacion : Acme -OVh
  2. Crea una nueva aplicación:
    • Rellena Application Name y Aplication description. Deja la validez ilimitada. Los permisos son los que aparecen en la imagen.(GET,PUT,POST,DELETE)
  3. Crea la API KEY
    • Guarda Aplication Key , Aplication secret y Consumer Key.

Para generar un certificado SSL utilizando el DNS-01 Challenge con WordOps, que a su vez utiliza acme.sh (un cliente de ACME) para interactuar con Let’s Encrypt, debes seguir estos pasos:

Paso 1: Configurar las Credenciales de la API de OVH en acme.sh

Antes de generar el certificado, necesitas configurar acme.sh para que pueda interactuar con la API de OVH y agregar automáticamente los registros TXT necesarios para el desafío DNS-01.

  1. Exporta las credenciales de la API de OVH:Debes asegurarte de que las credenciales de la API de OVH estén disponibles en tu entorno. Esto se hace configurando las variables de entorno en tu terminal
  2. Añade estas líneas a tu archivo ~/.bashrc o ~/.zshrc si quieres que estén disponibles automáticamente cada vez que inicies una nueva sesión de terminal.
export OVH_AK="TU_APPLICATION_KEY"
export OVH_AS="TU_APPLICATION_SECRET"
export OVH_CK="TU_CONSUMER_KEY"
export OVH_ENDPOINT="ovh-eu"  # Cambia si es necesario ('ovh-us', 'ovh-ca', etc.)

Paso 2: Generar el Certificado SSL con WordOps

Ahora que acme.sh está configurado para trabajar con OVH, puedes generar un certificado SSL usando WordOps. Más Info.

  1. Crear o configurar un sitio en WordOps:Si aún no has creado el sitio en WordOps, puedes hacerlo con el siguiente comando.
  2. Generar el Certificado SSL utilizando el DNS-01 Challenge:Utiliza el siguiente comando para emitir el certificado SSL. Este comando le indica a WordOps que use acme.sh con el método dns para OVH:
    • --le: Indica que quieres obtener un certificado SSL de Let’s Encrypt.
    • --dns=dns_ovh: Indica que quieres usar el DNS-01 Challenge con el plugin dns_ovh de acme.sh para agregar los registros TXT.
wo site create midominio.com --wp --letsencrypt=wildcard --dns=dns_ovh --php83
ACTUALIZAR CERTIFICADO 
wo site update midominio.com --letsencrypt=renew --dns=dns_ovh 
SINO DEJA ACTUALIZAR
wo site update midominio.com --letsencrypt=clean

Paso 3: Verificación y Aplicación del Certificado

Después de ejecutar el comando anterior, WordOps y acme.sh se encargarán de:

  1. Agregar automáticamente los registros TXT necesarios en el DNS de OVH.
  2. Verificar que el desafío DNS-01 sea satisfactorio.
  3. Emitir y aplicar el certificado SSL a tu sitio WordPress.

Paso 4: Verificar la Instalación

Una vez que el proceso haya terminado, visita tu sitio web para asegurarte de que el certificado SSL está activo y que la conexión es segura (deberías ver el candado en la barra de direcciones del navegador).

También puedes verificar el estado del certificado y la configuración SSL ejecutando:

wo site info midominio.com

Renovación Automática

acme.sh y WordOps manejan automáticamente la renovación del certificado SSL, por lo que no necesitas preocuparte por hacerlo manualmente.

Publicaciones Similares

  • |

    Docker Compose

    Docker compose es un orquestador de contenedores para gestionar diferentes microservicios. Para instalar Docker Compose vamos a la documentación y elegimos linux. En este momento  la  versión es  la 1.21.2  y el comando para instalarlo es : $ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose % Total % Received % Xferd Average Speed Time Time…

  • Comandos de Ejecución de Windows

    Esta tabla proporciona una lista de los comandos que se pueden utilizar para ejecutar programas del Panel de Control de Windows desde el cuadro de diálogo Ejecutar (Win + R) Programa Comando Panel de Control control Agregar o quitar programas appwiz.cpl Opciones de energía powercfg.cpl Sistema sysdm.cpl Administrador de dispositivos devmgmt.msc Configuración de la tarjeta…

  • | | |

    Multisite con Apache2 Virtual Hosts en Ubuntu 14.04

    Tenemos una web creada en WordPress y necesitamos crear un subdomio para crear otra instancia de WordPress diferente. Una forma de realizarlo es mediante los Virtual Host de Apache. El dominio principal es «juancarlos.es» y vamos a crear un subdominio nuevo «tienda.juancarlos.es». Crearemos una carpeta especifica para el subdominio y después podremos instalar sobre esa…

  • Instalar Docker CE en Ubuntu 16.04

    Vamos a instalar la última versión estable de Docker desde los repositorios oficiales. Empecezamos actualizando el sistema operativo. $ sudo apt-get update && sudo apt-get upgrade Descargamos la clave GPG $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add – Añadimos el repositorio de docker $ sudo add-apt-repository «deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable» Actualizamos $…

  • |

    Red en Docker

    Mapeo de puertos  en docker  puerto host:puerto docker $ sudo docker run -d –name nginx2 -p 8080:80 nginx $sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cb10b610eef0 nginx «nginx -g ‘daemon of…» 51 seconds ago Up 50 seconds 0.0.0.0:8080->80/tcp nginx2 Mapea un puerto aleatorio del host $ sudo docker run -d -P…

  • Limitar Tamaño Journal Linux

    El «journal» en el contexto de los sistemas Linux, especialmente en aquellos que utilizan systemd, se refiere al journaling de systemd, una parte integral de systemd llamada systemd-journald. Este servicio maneja la recopilación y almacenamiento de logs de diagnóstico, eventos de sistema y mensajes de los programas. Aquí te explico más detalladamente: Funciones principales del…