TypistTech.trellis-cloudflare-origin-ca
Trellis Cloudflare Origin CA
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:
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
- Ansible 2.10 lub nowszy
- Trellis@c86d8a0 lub nowszy
- Konto Cloudflare
- Ubuntu 18.04 (Bionic) lub 20.04 (Focal)
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:
- usuń certyfikaty CA z serwerów
- unieważnij certyfikaty CA za pomocą panelu Cloudflare
- 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:
- usuń certyfikaty CA z serwerów
- unieważnij certyfikaty CA za pomocą panelu Cloudflare
- 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
wwordpress_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:
- Przeczytaj Wprowadzenie do Cloudflare Origin CA
- Przeczytaj Authenticated Origin Pulls
- Zrozum, że ta rola dotyczy Cloudflare Origin CA
- Zrozum, że Cloudflare Origin CA i Authenticated Origin Pulls to dwie różne rzeczy
- Przeczytaj #34
- 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:
- usuń certyfikaty CA z serwerów
- unieważnij certyfikaty CA za pomocą panelu Cloudflare
- 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 środowiskowejANSIBLE_DEBUG
.
Czy Cloudflare Origin CA jest doskonałe?
To wygląda niesamowicie. Gdzie mogę znaleźć więcej takich dobrych rzeczy?
- Artykuły na blogu Typist Tech
- Wtyczki WordPress Tang Rufusa na wp.org
- Więcej projektów na profilu GitHub Typist Tech
- Zapisz się na newsletter Typist Tech
- Śledź konto Twitter Tang Rufusa
- Zatrudnij Tang Rufusa, aby zbudować swoją następną niesamowitą stronę
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ż:
- napisz coś dobrego, wspominając o @TangRufus
- ★ polub repozytorium na GitHubie
- 👀 obserwuj repozytorium na GitHubie
- napisz samouczki i wpisy na blogu
- zatrudnij Typist Tech
Zobacz także
- WP Cloudflare Guard - Łączy WordPress z zaporą Cloudflare, chroniąc twoją stronę WordPress na poziomie DNS. Automatycznie tworzy reguły zapory, aby blokować niebezpieczne adresy IP.
- Korzenie Trellis Cloudflare Origin CA
- Origin Trellis Cloudflare Origin CA
- Cloudflare Origin CA
- Trellis SSL
- Trellis Nginx Includes
- Ansible Vault
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.
Add Cloudflare Origin CA to Trellis as a SSL provider
ansible-galaxy install TypistTech.trellis-cloudflare-origin-ca