TypistTech.trellis-cloudflare-origin-ca

Trellis Cloudflare Origin CA

Ansible Role GitHub tag (latest SemVer) Ansible Role Downloads Ansible Quality Score CircleCI License Twitter Follow @TangRufus Hire Typist Tech

Agrega Cloudflare Origin CA a Trellis como proveedor de SSL.

Creado con ♥ por Typist Tech


Trellis Cloudflare Origin CA es un proyecto de código abierto y completamente gratuito.

Sin embargo, la cantidad de esfuerzo necesaria para mantener y desarrollar nuevas funciones no es sostenible sin apoyo financiero adecuado. Si tienes la capacidad, por favor considera donar usando los enlaces a continuación:

GitHub via Sponsor Sponsor via PayPal More Sponsorship Information


Agrega Cloudflare Origin CA a Trellis como un proveedor de SSL

¿Por qué?

Respuesta corta: Para mantener la conexión entre Cloudflare y tus servidores privada y segura de manipulaciones.

Respuesta larga:

El modo SSL flexible de Cloudflare es el predeterminado para los sitios Cloudflare en el plan gratuito. El modo SSL flexible significa que el tráfico desde los navegadores a Cloudflare estará cifrado, pero el tráfico desde Cloudflare al servidor de origen del sitio no lo estará. Para aprovechar nuestro modo SSL completo y estricto, es necesario instalar un certificado en el servidor de origen.

Blog de Cloudflare - Seguridad en la conexión del servidor de origen con SSL universal

¿Cuáles son los beneficios de Cloudflare Origin CA sobre Let's Encrypt?

Para obtener certificados de Let's Encrypt, primero debes desactivar Cloudflare porque este oculta las IPs reales de los servidores y hace que los desafíos de Let's Encrypt fallen. Usar Cloudflare Origin CA simplifica estos problemas.

¿Cuáles son los beneficios de Cloudflare Origin CA sobre otros certificados públicos?

Consulta Introducción a Cloudflare Origin CA en el blog de Cloudflare.

Variables del Rol

# group_vars/<environment>/vault.yml
# Este archivo debe estar cifrado. Ver: https://roots.io/trellis/docs/vault/
##########################################################################

# Clave de Cloudflare Origin CA
# No confundir con la clave API global de Cloudflare
# Ver: https://blog.cloudflare.com/cloudflare-ca-encryption-origin/#iiobtainyourcertificateapitoken
vault_cloudflare_origin_ca_key: v1.0-xxxxxxxxxxx

# group_vars/<environment>/main.yml
###################################

# Indica el estado deseado del paquete.
# `latest` asegura que se instale la versión más reciente.
# `present` no actualiza si ya está instalado.
# Opciones: present|latest
# Predeterminado: latest
cfca_package_state: present

# Si se deben ocultar los resultados de tareas sensibles que
# pueden incluir la clave de Cloudflare Origin CA en texto claro.
# Opciones: true|false
# Predeterminado: false
cloudflare_origin_ca_no_log: true

# group_vars/<environment>/wordpress_sites.yml
##############################################

wordpress_sites:
  example.com:
    # Tu cuenta de Cloudflare debe poseer todos estos dominios
    site_hosts:
      - canonical: example.com
        redirects:
          - hi.example.com
          - hello.another-example.com
    ssl:
      # SSL debe estar habilitado
      enabled: true
      # OCSP stapling debe estar deshabilitado
      stapling_enabled: false
      # Usa este rol para generar el certificado de Cloudflare Origin CA
      provider: cloudflare-origin-ca
    # Los siguientes son opcionales
    cloudflare_origin_ca:
      # Número de días durante los cuales el certificado emitido será válido. Opciones aceptables son: 7, 30, 90, 365 (1 año), 730 (2 años), 1095 (3 años), 5475 (15 años).
      # Predeterminado: 5475
      days: 7
      # Lista de nombres de dominio completamente calificados para incluir en el certificado como Nombres Alternativos de Sujeto.
      # Predeterminado: Todos los dominios canónicos y de redirección
      # En el ejemplo anterior: example.com, hi.example.com, hello.another-example.com
      hostnames:
        - example.com
        - '*.example.com'
        - '*.another-example.com'

Typist Tech está listo para construir tu próximo increíble sitio de WordPress. ¡Contrátanos!


Requisitos

Instalación

Agrega este rol a galaxy.yml:

- src: TypistTech.trellis-cloudflare-origin-ca # ¡Sensible a mayúsculas!
  version: 0.8.0 # ¡Verificar la última versión!

Ejecuta $ trellis galaxy install

Modificar el Playbook de Trellis

Agrega este rol a server.yml inmediatamente después de role: wordpress-setup:

    roles:
      # ...
-     - { role: wordpress-setup, tags: [wordpress, wordpress-setup, letsencrypt] }
+     - { role: wordpress-setup, tags: [wordpress, wordpress-setup, letsencrypt, cloudflare-origin-ca] }
+     - { role: TypistTech.trellis-cloudflare-origin-ca, tags: [cloudflare-origin-ca, wordpress-setup], when: sites_using_cloudflare_origin_ca | count }
      # ...

Nota: role: wordpress-setup está etiquetado con cloudflare-origin-ca.

Incluye Nginx

Este rol plantilla directivas SSL de Nginx a {{ nginx_path }}/includes.d/{{ item.key }}/cloudflare-origin-ca.conf. Trellis incluye este archivo aquí y aquí de forma predeterminada, sin acción necesaria.

Si usas plantillas secundarias de Nginx, agrega esta línea a tus bloques de servidor:

include includes.d/{{ item.key }}/cloudflare-origin-ca.conf;

Errores Comunes

No hay sitios usando Cloudflare Origin CA

Obviamente, no debes ejecutar este rol si no usas Cloudflare Origin CA.

vault_cloudflare_origin_ca_key no está definido

Cifra tu clave de Cloudflare Origin CA en group_vars/<environment>/vault.yml. Consulta variables del rol.

example.com está usando Cloudflare Origin CA pero OCSP stapling está habilitado

... estás intentando usar OCSP con Origin CA. Actualmente, OCSP no es compatible con Origin CA, así que debes eliminar la directiva ssl_staping para el host que estás usando con el certificado Origin CA...

--- Soporte de Cloudflare

Cloudflare Origin CA no soporta OCSP stapling. Desactiva OCSP stapling para todos los sitios que usan Cloudflare Origin CA. Consulta variables del rol.

key_type está en desuso. Por favor, elimínalo de example.com

Para evitar una mala configuración, las opciones key_type (ECDSA o RSA) y key_size (bits) están en desuso. Desde la v0.8, este rol genera únicamente claves ECDSA de 521 bits.

Si previamente generaste certificados CA con otras configuraciones:

  1. elimina los certificados CA de los servidores
  2. revoca los certificados CA a través del panel de Cloudflare
  3. reprovisiona los servidores

key_size está en desuso. Por favor, elimínalo de example.com

Para evitar una mala configuración, las opciones key_type (ECDSA o RSA) y key_size (bits) están en desuso. Desde la v0.8, este rol genera únicamente claves ECDSA de 521 bits.

Si previamente generaste certificados CA con otras configuraciones:

  1. elimina los certificados CA de los servidores
  2. revoca los certificados CA a través del panel de Cloudflare
  3. reprovisiona los servidores

Directorios de Nginx no incluidos

Asegúrate de tener roots/trellis@f2b8107 o posterior.

400 Bad Request - No se envió el certificado SSL requerido

Síntomas:

  • El servidor devuelve "400 Bad Request - No se envió el certificado SSL requerido" para todas las solicitudes
  • Nginx registró "el cliente no envió el certificado SSL requerido mientras leía las cabeceras de la solicitud del cliente, cliente: [redacto], servidor:[redacto], solicitud: "GET / HTTP/1.1", host: "[redacto]""
  • ssl_verify_client on; en algún lugar de los archivos de configuración de Nginx
  • Usando client_cert_url en wordpress_sites.yml, es decir: roots/trellis#869

Culpa:

Tu configuración de Pulls de Origen Autenticados es incorrecta.

Hecho:

Este rol no tiene relación con los Pulls de Origen Autenticados o ssl_verify_client.

Solución:

  1. Lee Introducción a Cloudflare Origin CA
  2. Lee Pulls de Origen Autenticados
  3. Comprende que este rol es Cloudflare Origin CA
  4. Comprende que Cloudflare Origin CA y los Pulls de Origen Autenticados son 2 cosas diferentes
  5. Lee #34
  6. Contacta con el soporte de Cloudflare si aún tienes preguntas

Preguntas Frecuentes

¿Por qué solo se permiten claves ECDSA de 521 bits?

Supongo que deseas configurar Pulls de Origen Autenticados con Cloudflare. Recomiendo ECDSA, ya que las curvas elípticas proporcionan la misma seguridad con menos carga computacional.

Obtén más información sobre ECDSA: El algoritmo de firma digital de un internet mejor El artículo anterior también menciona que: Según las recomendaciones de ECRYPT II sobre la longitud de la clave, una clave de curva elíptica de 256 bits ofrece la misma protección que una clave asimétrica de 3248 bits. Las claves RSA típicas en los certificados de sitios web son de 2048 bits. Por lo tanto, creo que elegir 256 bits ECDSA será una buena opción.

--- Soporte de Cloudflare, septiembre de 2017

Para evitar malas configuraciones, las opciones key_type (ECDSA o RSA) y key_size (bits) están en desuso. Desde la v0.8, este rol genera únicamente claves ECDSA de 521 bits.

Si previamente generaste certificados CA con otras configuraciones:

  1. elimina los certificados CA de los servidores
  2. revoca los certificados CA a través del panel de Cloudflare
  3. reprovisiona los servidores

¿Por qué se registra la clave de Cloudflare Origin CA incluso si cloudflare_origin_ca_no_log está en true?

Ten en cuenta que el uso del atributo no_log no impide que los datos se muestren al depurar Ansible a través de la variable de entorno ANSIBLE_DEBUG.

--- Documentación de Ansible

¿Es perfecta Cloudflare Origin CA?

Parece impresionante. ¿Dónde puedo encontrar más cosas buenas como esta?

¿Dónde puedo dejar reseñas de 5 estrellas?

¡Gracias! Me alegra que te guste. Es importante que me hagas saber que alguien está usando este proyecto. Por favor considera:

Véase También

Ejecutando las Pruebas

Ejecuta las pruebas:

ansible-playbook -vvv -i 'localhost,' --syntax-check tests/test.yml
ansible-lint -vv .

Comentarios

¡Por favor, da tu opinión! Queremos hacer este proyecto lo más útil posible. Por favor envía un problema y señala lo que te gusta y lo que no, o bifurca el proyecto y envía solicitudes de extracción. Ningún problema es demasiado pequeño.

Vulnerabilidades de Seguridad

Si descubres una vulnerabilidad de seguridad en este proyecto, por favor envíanos un correo electrónico a [email protected]. Todas las vulnerabilidades de seguridad se abordarán de manera oportuna.

Créditos

Trellis Cloudflare Origin CA es un proyecto de Typist Tech y mantenido por Tang Rufus, desarrollador freelance a contratar.

Agradecimientos especiales al equipo de Roots cuyo Trellis hizo posible este proyecto.

La lista completa de colaboradores se puede encontrar aquí.

Licencia

Trellis Cloudflare Origin CA se publica bajo la Licencia MIT.

Acerca del proyecto

Add Cloudflare Origin CA to Trellis as a SSL provider

Instalar
ansible-galaxy install TypistTech.trellis-cloudflare-origin-ca
Licencia
mit
Descargas
4.2k
Propietario