TypistTech.trellis-cloudflare-origin-ca

Trellis Cloudflare Origin CA

Ansible Rolle GitHub Tag (neueste SemVer) Ansible Rolle Downloads Ansible Qualitätsbewertung CircleCI Lizenz Twitter Folge @TangRufus Typist Tech beauftragen

Fügen Sie Cloudflare Origin CA zu Trellis als SSL-Anbieter hinzu.

Entwickelt mit ♥ von Typist Tech


Trellis Cloudflare Origin CA ist ein Open-Source-Projekt und komplett kostenlos zu nutzen.

Allerdings ist der Aufwand zur Wartung und zur Entwicklung neuer Funktionen ohne entsprechende finanzielle Mittel nicht nachhaltig. Wenn Sie die Möglichkeit haben, ziehen Sie bitte in Erwägung, über die folgenden Links zu spenden:

GitHub über Sponsor Sponsor über PayPal Mehr Sponsoring-Informationen


Fügen Sie Cloudflare Origin CA zu Trellis als SSL-Anbieter hinzu.

Warum?

Kurze Antwort: Um die Verbindung zwischen Cloudflare und Ihren Servern privat und vor Manipulation zu schützen.

Lange Antwort:

Der flexible SSL-Modus von Cloudflare ist die Standardeinstellung für Cloudflare-Websites im kostenlosen Plan. Der flexible SSL-Modus bedeutet, dass der Verkehr von Browsern zu Cloudflare verschlüsselt wird, der Verkehr von Cloudflare zum Ursprungsserver einer Site jedoch nicht. Um die Vorteile unseres kompletten und strengen SSL-Modus zu nutzen, der die Verbindung zwischen Cloudflare und dem Ursprungsserver verschlüsselt, ist es notwendig, ein Zertifikat auf dem Ursprungsserver zu installieren.

Cloudflare Blog - Sicherheit der Ursprungsserververbindung mit Universal SSL

Was sind die Vorteile von Cloudflare Origin CA gegenüber Let's Encrypt?

Um Zertifikate von Let's Encrypt zu erhalten, müssen Sie zuerst Cloudflare deaktivieren, da Cloudflare die tatsächlichen Server-IP-Adressen verbirgt und die Herausforderungen von Let's Encrypt fehlschlagen. Die Verwendung von Cloudflare Origin CA vereinfacht diese Probleme.

Was sind die Vorteile von Cloudflare Origin CA gegenüber anderen öffentlichen Zertifikaten?

Siehe Einführung in Cloudflare Origin CA im Cloudflare-Blog.

Rollenvariablen

# group_vars/<environment>/vault.yml
# Diese Datei sollte verschlüsselt sein. Siehe: https://roots.io/trellis/docs/vault/
##########################################################################

# Cloudflare Origin CA Schlüssel
# Nicht zu verwechseln mit Cloudflare Global API Schlüssel
# Siehe: https://blog.cloudflare.com/cloudflare-ca-encryption-origin/#iiobtainyourcertificateapitoken
vault_cloudflare_origin_ca_key: v1.0-xxxxxxxxxxx

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

# Gibt den gewünschten Paketstatus an.
# `latest` stellt sicher, dass die neueste Version installiert wird.
# `present` aktualisiert nicht, wenn bereits installiert.
# Optionen: present|latest
# Standard: latest
cfca_package_state: present

# Ob die Ergebnisse sensibler Aufgaben, die
# möglicherweise den Cloudflare Origin CA Schlüssel im Klartext enthalten, verborgen werden sollen.
# Optionen: true|false
# Standard: false
cloudflare_origin_ca_no_log: true

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

wordpress_sites:
  example.com:
    # Ihr Cloudflare-Konto muss alle diese Domains besitzen
    site_hosts:
      - canonical: example.com
        redirects:
          - hi.example.com
          - hello.another-example.com
    ssl:
      # SSL muss aktiviert sein
      enabled: true
      # OCSP-Stapeln muss deaktiviert sein
      stapling_enabled: false
      # Verwenden Sie diese Rolle, um ein Cloudflare Origin CA-Zertifikat zu generieren
      provider: cloudflare-origin-ca
    # Die folgenden sind optional
    cloudflare_origin_ca:
      # Anzahl der Tage, für die das ausgestellte Zertifikat gültig ist. Akzeptable Optionen sind: 7, 30, 90, 365 (1 Jahr), 730 (2 Jahre), 1095 (3 Jahre), 5475 (15 Jahre).
      # Standard: 5475
      days: 7
      # Liste der vollständig qualifizierten Domainnamen, die als Subject Alternative Names im Zertifikat enthalten sein sollen.
      # Standard: Alle kanonischen und weiterleitenden Domains
      # Im obigen Beispiel: example.com, hi.example.com, hello.another-example.com
      hostnames:
        - example.com
        - '*.example.com'
        - '*.another-example.com'

Typist Tech ist bereit, Ihre nächste großartige WordPress-Seite zu erstellen. Beauftragen Sie uns!


Anforderungen

Installation

Fügen Sie diese Rolle zu galaxy.yml hinzu:

- src: TypistTech.trellis-cloudflare-origin-ca # Groß- und Kleinschreibung beachten!
  version: 0.8.0 # Überprüfen Sie die neueste Version!

Führen Sie $ trellis galaxy install aus.

Anpassen des Trellis-Playbooks

Fügen Sie diese Rolle zu server.yml sofort nach role: wordpress-setup hinzu:

    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 }
      # ...

Hinweis: role: wordpress-setup ist mit cloudflare-origin-ca gekennzeichnet.

Nginx Includes

Diese Rolle erstellt Nginx-SSL-Direktiven in {{ nginx_path }}/includes.d/{{ item.key }}/cloudflare-origin-ca.conf. Trellis inkludiert diese Datei standardmäßig hier und hier, es sind keine weiteren Maßnahmen erforderlich.

Wenn Sie Nginx-Kindvorlagen verwenden, fügen Sie diese Zeile in Ihre Serverblöcke ein:

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

Häufige Fehler

Keine Site verwendet Cloudflare Origin CA

Offensichtlich sollten Sie diese Rolle nicht ausführen, wenn Sie Cloudflare Origin CA nicht verwenden.

vault_cloudflare_origin_ca_key ist nicht definiert

Verschlüsseln Sie Ihren Cloudflare Origin CA Schlüssel in group_vars/<environment>/vault.yml. Siehe Rollenvariablen.

example.com verwendet Cloudflare Origin CA, aber OCSP-Stapeln ist aktiviert

... Sie versuchen, die OCSP-Antworten mit Origin CA zu stapeln. Momentan wird OCSP mit Origin CA nicht unterstützt, daher sollten Sie die ssl_staping-Direktive für den Host entfernen, auf dem Sie das Origin CA-Zertifikat verwenden...

--- Cloudflare Unterstützung

Cloudflare Origin CA unterstützt kein OCSP-Stapeln. Deaktivieren Sie OCSP-Stapeln für alle Sites, die Cloudflare Origin CA verwenden. Siehe Rollenvariablen.

key_type ist veraltet. Bitte entfernen Sie es von example.com

Um Fehlkonfigurationen zu vermeiden, sind die Optionen key_type (ECDSA oder RSA) und key_size (Bits) veraltet. Seit v0.8 erzeugt diese Rolle nur 521-Bit ECDSA-Schlüssel.

Wenn Sie zuvor CA-Zertifikate mit anderen Konfigurationen generiert haben:

  1. Entfernen Sie die CA-Zertifikate von den Servern.
  2. Widerrufen Sie die CA-Zertifikate über das Cloudflare-Dashboard.
  3. Provisionieren Sie die Server erneut.

key_size ist veraltet. Bitte entfernen Sie es von example.com

Um Fehlkonfigurationen zu vermeiden, sind die Optionen key_type (ECDSA oder RSA) und key_size (Bits) veraltet. Seit v0.8 erzeugt diese Rolle nur 521-Bit ECDSA-Schlüssel.

Wenn Sie zuvor CA-Zertifikate mit anderen Konfigurationen generiert haben:

  1. Entfernen Sie die CA-Zertifikate von den Servern.
  2. Widerrufen Sie die CA-Zertifikate über das Cloudflare-Dashboard.
  3. Provisionieren Sie die Server erneut.

Nginx-Verzeichnisse nicht enthalten

Stellen Sie sicher, dass Sie roots/trellis@f2b8107 oder später haben.

400 Bad Request - Kein erforderliches SSL-Zertifikat gesendet

Symptome:

  • Server gibt für alle Anfragen "400 Bad Request - Kein erforderliches SSL-Zertifikat gesendet" zurück.
  • Nginx protokollierte "Client hat kein erforderliches SSL-Zertifikat gesendet, während die Header des clientseitigen Anforderungselementes gelesen wurden, client: [redacted], server:[redacted], anforderung: "GET / HTTP/1.1", host: "[redacted]""
  • ssl_verify_client on; irgendwo in den Nginx-Konfigurationsdateien.
  • Verwendung von client_cert_url in wordpress_sites.yml, d.h.: roots/trellis#869

Ursache:

Ihre Authentifizierten Ursprungsabzüge Konfiguration ist falsch.

Fakt: Diese Rolle hat nichts mit authentifizierten Ursprungsabzügen oder ssl_verify_client zu tun.

Lösung:

  1. Lesen Sie Einführung in Cloudflare Origin CA.
  2. Lesen Sie Authentifizierte Ursprungsabzüge.
  3. Verstehen Sie, dass diese Rolle Cloudflare Origin CA ist.
  4. Verstehen Sie, dass Cloudflare Origin CA und authentifizierte Ursprungsabzüge zwei verschiedene Dinge sind.
  5. Lesen Sie #34.
  6. Kontaktieren Sie den Cloudflare-Support, wenn Sie weitere Fragen haben.

FAQ

Warum werden nur 521-Bit ECDSA-Schlüssel erlaubt?

Ich nehme an, Sie möchten Authentifizierte Ursprungsabzüge mit Cloudflare einrichten. Ich würde ECDSA empfehlen, da elliptische Kurven die gleiche Sicherheit mit weniger Rechenaufwand bieten.

Erfahren Sie mehr über ECDSA: Der digitale Signaturalgorithmus einer besseren Internet. Der obige Artikel erwähnt auch: Laut den ECRYPT II Empfehlungen zur Schlüssellänge bietet ein 256-Bit elliptischer Kurven-Schlüssel denselben Schutz wie ein 3.248-Bit asymmetrischer Schlüssel. Typische RSA-Schlüssel in Website-Zertifikaten sind 2048-Bit. Daher denke ich, dass 256-Bit ECDSA eine gute Wahl sein wird.

--- Cloudflare Unterstützung, September 2017

Um Fehlkonfigurationen zu vermeiden, sind die Optionen key_type (ECDSA oder RSA) und key_size (Bits) veraltet. Seit v0.8 erzeugt diese Rolle nur 521-Bit ECDSA-Schlüssel.

Wenn Sie zuvor CA-Zertifikate mit anderen Konfigurationen generiert haben:

  1. Entfernen Sie die CA-Zertifikate von den Servern.
  2. Widerrufen Sie die CA-Zertifikate über das Cloudflare-Dashboard.
  3. Provisionieren Sie die Server erneut.

Warum wird der Cloudflare Origin CA-Schlüssel protokolliert, obwohl cloudflare_origin_ca_no_log true ist?

Bitte beachten Sie, dass die Verwendung des no_log-Attributs nicht verhindert, dass Daten angezeigt werden, wenn Ansible selbst über die Umgebungsvariable ANSIBLE_DEBUG debuggt.

--- Ansible-Dokumente

Ist Cloudflare Origin CA perfekt?

Es sieht großartig aus. Wo finde ich noch mehr Dinge wie dies?

Wo kann ich 5-Sterne-Bewertungen abgeben?

Danke! Es freut mich, dass es Ihnen gefällt. Es ist wichtig, dass ich weiß, dass jemand dieses Projekt nutzt. Bitte ziehen Sie in Erwägung:

Siehe auch

Tests durchführen

Führen Sie die Tests aus:

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

Feedback

Bitte geben Sie Feedback! Wir möchten dieses Projekt so nützlich wie möglich machen. Bitte reicht ein Problem ein und weisen Sie darauf hin, was Ihnen gefällt und was nicht, oder forken Sie das Projekt und senden Sie Pull-Anfragen. Kein Problem ist zu klein.

Sicherheitsanfälligkeiten

Wenn Sie eine Sicherheitsanfälligkeit in diesem Projekt entdecken, senden Sie uns bitte eine E-Mail an [email protected]. Alle Sicherheitsanfälligkeiten werden umgehend behandelt.

Credits

Trellis Cloudflare Origin CA ist ein Projekt von Typist Tech und wird von Tang Rufus, freiberuflichem Entwickler, der beauftragt werden kann, gewartet.

Besonderer Dank an das Roots-Team, dessen Trellis dieses Projekt möglich gemacht hat.

Die vollständige Liste der Mitwirkenden finden Sie hier.

Lizenz

Trellis Cloudflare Origin CA wird unter der MIT-Lizenz veröffentlicht.

Über das Projekt

Add Cloudflare Origin CA to Trellis as a SSL provider

Installieren
ansible-galaxy install TypistTech.trellis-cloudflare-origin-ca
Lizenz
mit
Downloads
4.2k