TypistTech.trellis-cloudflare-origin-ca
Trellis Cloudflare Origin CA
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:
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
- Ansible 2.10 ou plus récent
- Trellis@c86d8a0 ou plus récent
- Compte Cloudflare
- Ubuntu 18.04 (Bionic) ou 20.04 (Focal)
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 :
- supprimez les certificats CA des serveurs
- révoquez les certificats CA via le tableau de bord Cloudflare
- 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 :
- supprimez les certificats CA des serveurs
- révoquez les certificats CA via le tableau de bord Cloudflare
- 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
danswordpress_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 :
- Lire Introduction à Cloudflare Origin CA
- Lire Authenticated Origin Pulls
- Comprendre que ce rôle est Cloudflare Origin CA
- Comprendre que Cloudflare Origin CA et Authenticated Origin Pulls sont deux choses différentes
- Lire #34
- 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 :
- supprimez les certificats CA des serveurs
- révoquez les certificats CA via le tableau de bord Cloudflare
- 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'environnementANSIBLE_DEBUG
.--- Docs Ansible
Cloudflare Origin CA est-il parfait ?
Ça a l'air génial. Où puis-je trouver d'autres choses comme ça ?
- Articles sur le blog de Typist Tech
- Plugins WordPress de Tang Rufus sur wp.org
- Plus de projets sur le profil GitHub de Typist Tech
- Restez à l'écoute de la newsletter de Typist Tech
- Suivez le compte Twitter de Tang Rufus
- Engagez Tang Rufus pour créer votre prochain site incroyable
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 :
- tweet quelque chose de bien en mentionnant @TangRufus
- ★ étoile le dépôt GitHub
- 👀 surveiller le dépôt GitHub
- rédiger des tutoriels et des articles de blog
- engager Typist Tech
Voir aussi
- WP Cloudflare Guard - Connecter WordPress au pare-feu Cloudflare, protéger votre site WordPress au niveau DNS. Crée automatiquement des règles de pare-feu pour bloquer les IP dangereuses
- La racine de Trellis Cloudflare Origin CA
- L'origine de Trellis Cloudflare Origin CA
- Cloudflare Origin CA
- Trellis SSL
- Inclus dans Nginx de Trellis
- Ansible Vault
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.
Add Cloudflare Origin CA to Trellis as a SSL provider
ansible-galaxy install TypistTech.trellis-cloudflare-origin-ca