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

Dodaj Cloudflare Origin CA do Trellis jako dostawcę SSL.

Zbudowane z ♥ przez Typist Tech


Trellis Cloudflare Origin CA to projekt open source i jest całkowicie darmowy w użyciu.

Jednak ilość pracy potrzebnej do utrzymania i rozwijania nowych funkcji nie jest zrównoważona bez odpowiedniego wsparcia finansowego. Jeśli masz możliwość, rozważ wsparcie nas, korzystając z poniższych linków:

GitHub via Sponsor Sponsor via PayPal More Sponsorship Information


Dodaj Cloudflare Origin CA do Trellis jako dostawcę SSL

Dlaczego?

Krótka odpowiedź: Aby zapewnić prywatność i bezpieczeństwo połączenia między Cloudflare a twoimi serwerami.

Długa odpowiedź:

Tryb elastycznego SSL Cloudflare jest domyślnym ustawieniem dla witryn Cloudflare na planie bezpłatnym. Tryb elastycznego SSL oznacza, że ruch z przeglądarek do Cloudflare będzie szyfrowany, ale ruch z Cloudflare do serwera oryginalnego nie. Aby skorzystać z naszego pełnego i surowego SSL, konieczne jest zainstalowanie certyfikatu na serwerze oryginalnym.

Blog Cloudflare - Bezpieczeństwo połączenia z serwerem oryginalnym przy użyciu Universal SSL

Jakie są korzyści z Cloudflare Origin CA w porównaniu do Let's Encrypt?

Aby uzyskać certyfikaty od Let's Encrypt, musisz najpierw wyłączyć Cloudflare, ponieważ Cloudflare ukrywa rzeczywiste adresy IP serwera, co uniemożliwia przejście wyzwań Let's Encrypt. Użycie Cloudflare Origin CA upraszcza ten proces.

Jakie są korzyści z Cloudflare Origin CA w porównaniu do innych publicznych certyfikatów?

Zobacz Wprowadzenie do Cloudflare Origin CA na blogu Cloudflare.

Zmienne roli

# group_vars/<environment>/vault.yml
# Ten plik powinien być zaszyfrowany. Zobacz: https://roots.io/trellis/docs/vault/
##########################################################################

# Klucz Cloudflare Origin CA
# Nie mylić z globalnym kluczem API Cloudflare
# Zobacz: https://blog.cloudflare.com/cloudflare-ca-encryption-origin/#iiobtainyourcertificateapitoken
vault_cloudflare_origin_ca_key: v1.0-xxxxxxxxxxx

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

# Określa pożądany stan pakietu.
# `latest` zapewnia, że zainstalowana zostanie najnowsza wersja.
# `present` nie aktualizuje, jeśli już jest zainstalowane.
# Wybory: present|latest
# Domyślnie: latest
cfca_package_state: present

# Czy ukryć wyniki wrażliwych zadań, które
# mogą zawierać klucz Cloudflare Origin CA w postaci tekstowej.
# Wybory: true|false
# Domyślnie: false
cloudflare_origin_ca_no_log: true

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

wordpress_sites:
  example.com:
    # Twoje konto Cloudflare musi posiadać wszystkie te domeny
    site_hosts:
      - canonical: example.com
        redirects:
          - hi.example.com
          - hello.another-example.com
    ssl:
      # SSL musi być włączony
      enabled: true
      # OCSP stapling musi być wyłączony
      stapling_enabled: false
      # Użyj tej roli do generowania certyfikatu Cloudflare Origin CA
      provider: cloudflare-origin-ca
    # Poniższe są opcjonalne
    cloudflare_origin_ca:
      # Liczba dni, na które certyfikat będzie ważny. Akceptowane opcje to: 7, 30, 90, 365 (1 rok), 730 (2 lata), 1095 (3 lata), 5475 (15 lat).
      # Domyślnie: 5475
      days: 7
      # Lista w pełni kwalifikowanych nazw domen do uwzględnienia w certyfikacie jako alternatywne nazwy tematu.
      # Domyślnie: Wszystkie kanoniczne i przekierowane domeny
      # W powyższym przykładzie: example.com, hi.example.com, hello.another-example.com
      hostnames:
        - example.com
        - '*.example.com'
        - '*.another-example.com'

Typist Tech jest gotowy, aby zbudować twoją następną niesamowitą stronę WordPress. Zatrudnij nas!


Wymagania

Instalacja

Dodaj tę rolę do galaxy.yml:

- src: TypistTech.trellis-cloudflare-origin-ca # Wrażliwe na wielkość liter!
  version: 0.8.0 # Sprawdź najnowszą wersję!

Uruchom $ trellis galaxy install

Modyfikacja Playbooka Trellis

Dodaj tę rolę do server.yml bezpośrednio po 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 }
      # ...

Uwaga: role: wordpress-setup jest oznaczone tagiem cloudflare-origin-ca.

Nginx Includes

Ta rola szablonuje dyrektywy SSL Nginx do {{ nginx_path }}/includes.d/{{ item.key }}/cloudflare-origin-ca.conf. Trellis uwzględnia ten plik tutaj oraz tutaj domyślnie, nie są wymagane żadne działania.

Jeśli używasz szablonów dziecięcych Nginx, dodaj tę linijkę do swoich bloków serwerowych:

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

Częste błędy

Żaden site nie korzysta z Cloudflare Origin CA

Oczywiście nie powinieneś uruchamiać tej roli, gdy nie korzystasz z Cloudflare Origin CA.

vault_cloudflare_origin_ca_key nie jest zdefiniowany

Zaszyfruj swój klucz Cloudflare Origin CA w group_vars/<environment>/vault.yml. Zobacz zmienne roli.

example.com korzysta z Cloudflare Origin CA, ale OCSP stapling jest włączony

... próbujesz dołączyć odpowiedzi OCSP z Origin CA. W tej chwili OCSP nie jest obsługiwane z Origin CA, więc powinieneś usunąć dyrektywę ssl_staping dla hosta, w którym używasz certyfikatu Origin CA...

--- Pomoc Cloudflare

Cloudflare Origin CA nie obsługuje OCSP stapling. Wyłącz OCSP stapling dla wszystkich witryn używających Cloudflare Origin CA. Zobacz zmienne roli.

key_type jest przestarzały. Proszę usunąć go z example.com

Aby uniknąć błędnej konfiguracji, opcje key_type (ECDSA lub RSA) oraz key_size (bity) są przestarzałe. Od wersji 0.8, ta rola generuje tylko klucze ECDSA o długości 521 bitów.

Jeśli wcześniej wygenerowałeś certyfikaty CA z innymi ustawieniami:

  1. usuń certyfikaty CA z serwerów
  2. unieważnij certyfikaty CA za pomocą panelu Cloudflare
  3. ponownie skonfiguruj serwery

key_size jest przestarzały. Proszę usunąć go z example.com

Aby uniknąć błędnej konfiguracji, opcje key_type (ECDSA lub RSA) oraz key_size (bity) są przestarzałe. Od wersji 0.8 ta rola generuje tylko klucze ECDSA o długości 521 bitów.

Jeśli wcześniej wygenerowałeś certyfikaty CA z innymi ustawieniami:

  1. usuń certyfikaty CA z serwerów
  2. unieważnij certyfikaty CA za pomocą panelu Cloudflare
  3. ponownie skonfiguruj serwery

Katalogi Nginx nie są uwzględnione

Upewnij się, że masz roots/trellis@f2b8107 lub nowszą wersję.

400 Bad Request - Nie wysłano wymaganego certyfikatu SSL

Objawy:

  • Serwer zwraca "400 Bad Request - Nie wysłano wymaganego certyfikatu SSL" dla wszystkich żądań
  • Nginx zarejestrował "client sent no required SSL certificate while reading client request headers, client: [redacted], server:[redacted], request: "GET / HTTP/1.1", host: "[redacted]""
  • ssl_verify_client on; w jakimś miejscu w plikach konfiguracyjnych Nginx
  • Używasz client_cert_url w wordpress_sites.yml, tj. roots/trellis#869

Sprawca:

Twoja konfiguracja Authenticated Origin Pulls jest niepoprawna.

Fakt:

Ta rola nie ma nic wspólnego z Authenticated Origin Pulls lub ssl_verify_client.

Rozwiązanie:

  1. Przeczytaj Wprowadzenie do Cloudflare Origin CA
  2. Przeczytaj Authenticated Origin Pulls
  3. Zrozum, że ta rola dotyczy Cloudflare Origin CA
  4. Zrozum, że Cloudflare Origin CA i Authenticated Origin Pulls to dwie różne rzeczy
  5. Przeczytaj #34
  6. Skontaktuj się z pomocą techniczną Cloudflare, gdy masz nadal pytania

FAQ

Dlaczego tylko 521-bitowe klucze ECDSA są dozwolone?

Zakładam, że chciałbyś skonfigurować Authenticated Origin Pulls z Cloudflare. Rekomendowałbym ECDSA, ponieważ krzywe eliptyczne zapewniają tę samą ochronę przy mniejszym obciążeniu obliczeniowym.

Dowiedz się więcej o ECDSA: algorytmie podpisu cyfrowego lepszego internetu Powyższy artykuł wspomniał również, że: Według zalecenia ECRYPT II dotyczącego długości kluczy, klucz krzywej eliptycznej o długości 256 bitów zapewnia taką samą ochronę jak klucz asymetryczny o długości 3248 bitów. Typowe klucze RSA w certyfikatach witryn mają długość 2048 bitów. Zatem uważam, że wybór kluczy ECDSA o długości 256 bitów może być dobrym wyborem.

--- Pomoc Cloudflare, wrzesień 2017

Aby uniknąć błędnej konfiguracji, opcje key_type (ECDSA lub RSA) oraz key_size (bity) są przestarzałe. Od wersji 0.8 ta rola generuje tylko klucze ECDSA o długości 521 bitów.

Jeśli wcześniej wygenerowałeś certyfikaty CA z innymi ustawieniami:

  1. usuń certyfikaty CA z serwerów
  2. unieważnij certyfikaty CA za pomocą panelu Cloudflare
  3. ponownie skonfiguruj serwery

Dlaczego klucz Cloudflare Origin CA jest rejestrowany, nawet gdy cloudflare_origin_ca_no_log jest ustawione na true?

Należy pamiętać, że użycie atrybutu no_log nie zapobiega wyświetlaniu danych podczas debugowania samego Ansible za pomocą zmiennej środowiskowej ANSIBLE_DEBUG.

--- Dokumentacja Ansible

Czy Cloudflare Origin CA jest doskonałe?

To wygląda niesamowicie. Gdzie mogę znaleźć więcej takich dobrych rzeczy?

Gdzie mogę dać pięciogwiazdkowe oceny?

Dzięki! Cieszę się, że ci się podoba. Ważne jest, aby dać mi znać, że ktoś używa tego projektu. Rozważ:

Zobacz także

Uruchamianie testów

Uruchom testy:

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

Opinie

Proszę o opinie! Chcemy, aby ten projekt był jak najbardziej użyteczny. Proszę zgłoś błąd i wskaż, co ci się podoba, a co nie, lub forknij projekt i wyślij prośby o ściągnięcie. Żaden problem nie jest zbyt mały.

Luka w zabezpieczeniach

Jeśli odkryjesz lukę w zabezpieczeniach w tym projekcie, skontaktuj się z nami pod adresem [email protected]. Wszystkie luki w zabezpieczeniach zostaną szybko rozwiązane.

Podziękowania

Trellis Cloudflare Origin CA to projekt Typist Tech prowadzony przez Tang Rufusa, programistę freelancerowego do zatrudnienia.

Szczególne podziękowania dla zespołu Roots, którego Trellis umożliwił powstanie tego projektu.

Pełna lista współtwórców dostępna jest tutaj.

Licencja

Trellis Cloudflare Origin CA jest wydawane na licencji MIT.

O projekcie

Add Cloudflare Origin CA to Trellis as a SSL provider

Zainstaluj
ansible-galaxy install TypistTech.trellis-cloudflare-origin-ca
Licencja
mit
Pobrania
4.2k
Właściciel