TypistTech.trellis-cloudflare-origin-ca

Trellis Cloudflare Origin CA

Rôle Ansible Dernière version GitHub Téléchargements de rôle Ansible Score de qualité Ansible CircleCI Licence Suivre sur Twitter @TangRufus Engager Typist Tech

Ajoutez Cloudflare Origin CA à Trellis en tant que fournisseur SSL.

Construit avec ♥ par Typist Tech


Trellis Cloudflare Origin CA est un projet open source et entièrement gratuit à utiliser.

Cependant, l'effort nécessaire pour maintenir et développer de nouvelles fonctionnalités n'est pas soutenable sans un soutien financier adéquat. Si vous le pouvez, merci de faire un don en utilisant les liens ci-dessous:

Sponsoriser via GitHub Sponsoriser via PayPal Plus d'informations sur le sponsoring


Ajoutez Cloudflare Origin CA à Trellis en tant que fournisseur SSL

Pourquoi ?

Réponse courte : Pour garder la connexion entre Cloudflare et vos serveurs privée et sécurisée contre toute altération.

Réponse longue :

Le mode SSL flexible de Cloudflare est le mode par défaut pour les sites Cloudflare sur le plan gratuit. Le mode SSL flexible signifie que le trafic des navigateurs vers Cloudflare sera crypté, mais le trafic de Cloudflare vers le serveur d'origine du site ne le sera pas. Pour profiter de notre mode SSL complet et strict, qui crypte la connexion entre Cloudflare et le serveur d'origine, il est nécessaire d'installer un certificat sur le serveur d'origine.

Blog Cloudflare - Sécurité de la connexion au serveur d'origine avec Universal SSL

Quels sont les avantages de Cloudflare Origin CA par rapport à Let's Encrypt ?

Pour obtenir des certificats de Let's Encrypt, vous devez d'abord désactiver Cloudflare car Cloudflare cache les vraies adresses IP des serveurs, ce qui fait échouer les vérifications Let's Encrypt. Utiliser Cloudflare Origin CA simplifie ces problèmes.

Quels sont les avantages de Cloudflare Origin CA par rapport à d'autres certificats publics ?

Voir Introduction à Cloudflare Origin CA sur le blog de Cloudflare.

Variables de rôle

# group_vars/<environnement>/vault.yml
# Ce fichier doit être crypté. Voir : https://roots.io/trellis/docs/vault/
##########################################################################

# Clé Cloudflare Origin CA
# À ne pas confondre avec la clé API globale Cloudflare
# Voir : https://blog.cloudflare.com/cloudflare-ca-encryption-origin/#iiobtainyourcertificateapitoken
vault_cloudflare_origin_ca_key: v1.0-xxxxxxxxxxx

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

# Indique l'état souhaité du paquet.
# `latest` assure que la dernière version est installée.
# `present` ne met pas à jour si déjà installé.
# Choix : present|latest
# Par défaut : latest
cfca_package_state: present

# S'il faut masquer les résultats des tâches sensibles qui
# peuvent inclure la clé Cloudflare Origin CA en texte clair.
# Choix : true|false
# Par défaut : false
cloudflare_origin_ca_no_log: true

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

wordpress_sites:
  example.com:
    # Votre compte Cloudflare doit posséder tous ces domaines
    site_hosts:
      - canonical: example.com
        redirects:
          - hi.example.com
          - hello.another-example.com
    ssl:
      # SSL doit être activé
      enabled: true
      # OCSP stapling doit être désactivé
      stapling_enabled: false
      # Utilisez ce rôle pour générer le certificat Cloudflare Origin CA
      provider: cloudflare-origin-ca
    # Les éléments suivants sont optionnels
    cloudflare_origin_ca:
      # Nombre de jours pendant lesquels le certificat émis sera valide. Options acceptables : 7, 30, 90, 365 (1 an), 730 (2 ans), 1095 (3 ans), 5475 (15 ans).
      # Par défaut : 5475
      days: 7
      # Liste des noms de domaine entièrement qualifiés à inclure sur le certificat en tant que noms alternatifs du sujet.
      # Par défaut : Tous les domaines canoniques et de redirection
      # Dans l'exemple ci-dessus : example.com, hi.example.com, hello.another-example.com
      hostnames:
        - example.com
        - '*.example.com'
        - '*.another-example.com'

Typist Tech est prêt à construire votre prochain site WordPress incroyable. Engagez-nous !


Exigences

Installation

Ajoutez ce rôle à galaxy.yml :

- src: TypistTech.trellis-cloudflare-origin-ca # Sensible à la casse !
  version: 0.8.0 # Vérifiez la dernière version !

Exécutez $ trellis galaxy install

Modifier le Playbook de Trellis

Ajoutez ce rôle à server.yml immédiatement après 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 }
      # ...

Remarque : role: wordpress-setup est étiqueté avec cloudflare-origin-ca.

Inclus dans Nginx

Ce rôle crée des directives SSL Nginx dans {{ nginx_path }}/includes.d/{{ item.key }}/cloudflare-origin-ca.conf. Trellis inclut ce fichier ici et ici par défaut, aucune action nécessaire.

Si vous utilisez les modèles enfants Nginx, ajoutez cette ligne dans vos blocs serveur :

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

Erreurs Courantes

Aucune site n'utilise Cloudflare Origin CA

Évidemment, vous ne devriez pas exécuter ce rôle si vous n'utilisez pas Cloudflare Origin CA.

vault_cloudflare_origin_ca_key n'est pas défini

Cryptez votre clé Cloudflare Origin CA dans group_vars/<environment>/vault.yml. Voir variables de rôle.

example.com utilise Cloudflare Origin CA mais le stapling OCSP est activé

... vous essayez de stapler les réponses OCSP avec Origin CA. Actuellement, le stapling OCSP n'est pas supporté avec Origin CA, donc vous devez retirer la directive ssl_staping pour l'hôte que vous utilisez avec le certificat Origin CA...

--- Support Cloudflare

Cloudflare Origin CA ne supporte pas le stapling OCSP. Désactivez le stapling OCSP pour tous les sites utilisant Cloudflare Origin CA. Voir variables de rôle.

key_type est obsolète. Veuillez le retirer de example.com

Pour éviter une mauvaise configuration, les options key_type (ECDSA ou RSA) et key_size (bits) sont obsolètes. Depuis la v0.8, ce rôle génère uniquement des clés ECDSA de 521 bits.

Si vous avez précédemment généré des certificats CA avec d'autres configurations :

  1. supprimez les certificats CA des serveurs
  2. révoquez les certificats CA via le tableau de bord Cloudflare
  3. réapprovisionnez les serveurs

key_size est obsolète. Veuillez le retirer de example.com

Pour éviter une mauvaise configuration, les options key_type (ECDSA ou RSA) et key_size (bits) sont obsolètes. Depuis la v0.8, ce rôle génère uniquement des clés ECDSA de 521 bits.

Si vous avez précédemment généré des certificats CA avec d'autres configurations :

  1. supprimez les certificats CA des serveurs
  2. révoquez les certificats CA via le tableau de bord Cloudflare
  3. réapprovisionnez les serveurs

Répertoires Nginx non inclus

Assurez-vous d'avoir roots/trellis@f2b8107 ou plus récent.

400 Bad Request - Aucun certificat SSL requis n'a été envoyé

Symptômes :

  • Le serveur renvoie "400 Bad Request - Aucun certificat SSL requis n'a été envoyé" pour toutes les demandes
  • Nginx a enregistré "le client n'a pas envoyé de certificat SSL requis lors de la lecture des en-têtes de demande client, client : [masqué], serveur : [masqué], demande : "GET / HTTP/1.1", hôte : "[masqué]""
  • ssl_verify_client on; quelque part dans les fichiers de configuration Nginx
  • Utilisant client_cert_url dans wordpress_sites.yml, c'est-à-dire : roots/trellis#869

Problème :

Votre configuration Authenticated Origin Pulls est incorrecte.

Fait :

Ce rôle n'a rien à voir avec les Authenticated Origin Pulls ou ssl_verify_client.

Solution :

  1. Lire Introduction à Cloudflare Origin CA
  2. Lire Authenticated Origin Pulls
  3. Comprendre que ce rôle est Cloudflare Origin CA
  4. Comprendre que Cloudflare Origin CA et Authenticated Origin Pulls sont deux choses différentes
  5. Lire #34
  6. Contacter le support Cloudflare si vous avez encore des questions

FAQ

Pourquoi seules les clés ECDSA de 521 bits sont-elles autorisées ?

Je suppose que vous souhaitez configurer Authenticated Origin Pulls avec Cloudflare. Je recommanderais ECDSA, car les courbes elliptiques offrent la même sécurité avec moins de surcharge computationnelle.

En savoir plus sur ECDSA : L'algorithme de signature numérique d'un meilleur internet L'article ci-dessus mentionne également que : Selon les recommandations ECRYPT II sur la longueur des clés, une clé elliptique de 256 bits offre autant de protection qu'une clé asymétrique de 3 248 bits. Les clés RSA typiques dans les certificats de site sont de 2048 bits. Donc, je pense qu'opter pour 256 bits ECDSA serait un bon choix.

--- Support Cloudflare, septembre 2017

Pour éviter une mauvaise configuration, les options key_type (ECDSA ou RSA) et key_size (bits) sont obsolètes. Depuis la v0.8, ce rôle génère uniquement des clés ECDSA de 521 bits.

Si vous avez précédemment généré des certificats CA avec d'autres configurations :

  1. supprimez les certificats CA des serveurs
  2. révoquez les certificats CA via le tableau de bord Cloudflare
  3. réapprovisionnez les serveurs

Pourquoi la clé Cloudflare Origin CA est-elle enregistrée même si cloudflare_origin_ca_no_log est true ?

Notez que l'utilisation de l'attribut no_log n'empêche pas les données d'être affichées lors du débogage d'Ansible lui-même via la variable d'environnement ANSIBLE_DEBUG.

--- Docs Ansible

Cloudflare Origin CA est-il parfait ?

Ça a l'air génial. Où puis-je trouver d'autres choses comme ça ?

Où puis-je laisser des avis 5 étoiles ?

Merci ! Je suis ravi que vous l'aimiez. Il est important de savoir que quelqu'un utilise ce projet. Merci de considérer :

Voir aussi

Exécution des tests

Exécutez les tests :

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

Retour d'information

Veuillez donner votre avis ! Nous voulons rendre ce projet aussi utile que possible. Veuillez soumettre un problème et indiquez ce que vous aimez et ce que vous n'aimez pas, ou fork le projet et envoyez des demandes de tirage. Aucun problème n'est trop petit.

Vulnérabilités de sécurité

Si vous découvrez une vulnérabilité de sécurité dans ce projet, veuillez nous envoyer un e-mail à [email protected]. Toutes les vulnérabilités de sécurité seront rapidement traitées.

Crédits

Trellis Cloudflare Origin CA est un projet de Typist Tech et maintenu par Tang Rufus, développeur freelance à engager.

Un grand merci à l'équipe Roots dont Trellis rend ce projet possible.

La liste complète des contributeurs peut être trouvée ici.

Licence

Trellis Cloudflare Origin CA est publié sous la licence MIT.

À propos du projet

Add Cloudflare Origin CA to Trellis as a SSL provider

Installer
ansible-galaxy install TypistTech.trellis-cloudflare-origin-ca
Licence
mit
Téléchargements
4.2k
Propriétaire