Ngaohi'anga SSL/TLS Tohi Fakamo'oni 'Oku 'osi: Fakalelei'i 'a e HSTS faingata'a-ta'elavame'a Outages mo Tau fakapulipuli'i 'a e CAA/Rate-Limit 'a e ngaahi poloka¶
'Oku kehekehe 'a e ngaahi fika fakavavevave 'i he fonua .. ʻOku fakaʻaongaʻi ʻe he peesi ko ʻení ʻa e 911, ko e fika ia ki he ʻIunaiteti Siteití mo Kānata. ‘Oku ngāue‘aki ‘e he ngaahi fonua lahi kehe ‘a e 112, 999, pe ko ha toe fika kehe. Kumi e fika ki ho fonua ..
'I he taimi 'oku ngaohi ai ha SSL/TLS (HTTPS) 'oku 'osi 'a e taimi 'o e tohi fakamo'oni ako - na'a mo ha sekoni 'e taha kuo hili hono . notAfter UTC taimi - browser fakaonopooni kotoa pe (Chrome, Safari, Firefox, Edge), polokalama telefoni toʻotoʻó (iOS App Transport Security, Android Network Security Config), talitali webhook (Stripe, Shopify, Twilio, GitHub), pea 'oku vave 'a e motuhi 'e he client 'o e API 'i 'olunga 'a e fehokotaki'anga mo e . NET::ERR_CERT_DATE_INVALID pe . SSL_ERROR_RX_RECORD_TOO_LONG. Ko e kovi angé, kapau ʻoku ʻave ʻe hoʻo domain ʻa e . Strict-Transport-Security (HSTS) 'ulu'i tohi pe 'oku fakatahataha'i ki he browser HSTS Preload Lisi, Chrome mo e Safari to'o 'a e "Fakalakalaka -> Hoko atu ki he saiti (ta'emalu)" bypass button kakato, 'o iku ai ki ha peseti 'e 100 faingata'a-ta'elavame'a 'a e faka'uli ki he tokotaha kotoa pe 'oku ne ngaue'aki 'i mamani kotoa. Fa'a, 'a e cronjob fakafo'ou 'otometiki (Certbot, acme.sh, Caddy, cert-manager, pe . AWS ACM) kuo fakalongolongo 'ene ta'elavame'a 'i he 'aho 'e 30 koe'uhi ko ha DNS fakangatangata . CAA lekooti, ko ha DNSSEC kuo maumau . DS lekooti, ko ha taulanga poloka 'o e firewall . 80 (HTTP-01 pole), pe ko ha seva uepi (nginx / haproxy) naʻá ne fakafoʻou ʻa e faile ʻi he tisiki (fullchain.pem) ka na'e 'ikai 'aupito reloaded 'ene ngaahi founga ngaue 'i he manatu. Kapau na'e fakatupu ho'o outage 'e ha lesisita 'o e domain 'oku 'osi 'a e taimi pe hijacked nameservers kae 'ikai ko e tohi fakamo'oni ako X.509 'iate ia pe, liliu vave ki he . hijacking hingoa tomeini, DNS kuo 'osi 'a e taimi, mo e to'o 'o e uepisaiti; kapau 'oku 'ikai lava ke a'u atu ki ho'o server pe 'oku 'ikai ha feitu'u 'i he tisiki ko ia . certbot 'ikai lava ke tohi ki he /etc/letsencrypt, vakai ki he . server tisiki 100% kakato mo e zero-vahe fakafoki pe . faingata'a'ia 'i he web hosting, hiki, mo e fakafoki 'o e backup .. Kapau 'oku fakata'e'aonga'i 'e he TLS blackout ko 'eni 'a e telemetry 'o e falemahaki, APIs 'o e fekau'i fakavavevave, pe ngaahi langa fakalakalaka malu'i 'o e kakai, ta ki ho'o fika fakavavevave fakalotofonua (911 ‘i he ‘Iunaite Seteté mo Kānatá, . 112 ‘i he kotoa ‘o e ‘Iunioni ‘Iulopé, . 999 ‘i he Pule‘anga Fakatahatahá) pe vakai ki he‘emau tohi fakahinohino fakavaha‘apule‘anga ‘o e . ngaahi fika fakavavevave.
Fai ʻeni he taimí ni .¶
- Siaki 'i he sekoni 'e 10 pe 'oku 'osi fakafo'ou mo'oni 'a e tohi fakamo'oni 'i he tisiki, pea ko ho'o web server pe load balancer na'e 'ikai ke ne lava 'o reload ia ki he RAM:
- Fakafehoanaki 'a e sote TLS mo'ui ki he .
.pemfaile 'i he tisiki he taimi ni:# 1. What the live server is serving over the network: echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -dates -issuer -serial # 2. What is actually sitting on disk in /etc/letsencrypt/live/: sudo openssl x509 -in /etc/letsencrypt/live/example.com/fullchain.pem -noout -dates -issuer -serial - Kapau 'oku fakahaa'i 'e he faile 'i he tisiki ha kaha'u 'oku 'aonga .
notAfter'aho lolotonga 'a e taulanga mo'ui .443'oku fakahaa'i ai ha 'aho 'oku 'osi ai: Ko ho'o kalaieni ACME (certbot/acme.sh) naʻe lavameʻa ʻi he ngaahi uike kuohilí, ka .nginx,apache2,haproxy, pe .postfixnaʻe ʻikai ʻaupito ke toe ʻuta, pe (haproxy/vault) ʻoku fie maʻu .fullchain.pem+ .privkey.pemfakatahatahaʻi ki ha fuʻu ʻakau ʻe taha. Lelesudo nginx -t && sudo systemctl reload nginx(pesudo systemctl reload apache2 haproxy) pea 'e 'osi ho'o outage 'i ha sekoni 'e 2. - 'OUA 'e lele
certbot renew --force-renewaltoutou 'i ha loop kapau 'oku 'ikai lava 'a e fakafo'ou: Tau Encrypt 'oku ne fakahoko ha fakangatangata 'o e totongi fefeka 'o e 5 ngaahi tohi fakamo'oni 'o e 'aho 'e 7 mo e 5 'ikai lava 'a e ngaahi fakamo'oni 'i he 'akauni, 'i he hingoa 'o e host, 'i he houa. Lele .--force-renewaltuʻo nima ʻi ha manavasiʻi ʻo ʻikai fakaleleiʻi ʻa e meʻa ʻoku ʻi laló .nginxreload pe DNS/firewall bug 'e loka'i ho'o tomeini mei he Tau Encrypt 'a e tukuange 'o a'u ki he 'aho 'e 7. - Kapau te ke taa'i ha Fakangatangata 'o e Tu'unga 'o e Tau Encrypt (
429 Too Many Requests), liliu ho'o ACME client ki ha Mafai Fakamo'oni Fakapule'anga ta'etotongi hono ua (ZeroSSL,Buypass Go SSL, pe .Google Trust Services) pe tanaki atu ha SAN subdomain 'oku lī 'i he taimi pe ko ia: - Ko e kalaieni kotoa pe 'o e ACME (
certbot,acme.sh,caddy,cert-manager) 'e lava ke kole ha tohi fakamo'oni falala'anga ta'etotongi mei ha CA kehe 'i he sekoni 'e 30 (--server https://acme.zerossl.com/v2/DV90pe .https://api.buypass.com/acme/directory), 'o bypassing kakato 'a e fakangatangata 'o e totongi 'o e Let's Encrypt. - Ko e me'a kehe, 'Oku faka'aonga'i pe 'a e fakangatangata 'o e "5 tohi fakamo'oni ako 'i he 'aho 'e 7" 'a e Let's Encrypt ki he seti tatau tofu pe 'o e Ngaahi Hingoa Kehe 'o e Kaveinga (
SANs). Tānaki atu ha subdomain ʻoku ʻaonga ʻe taha (-d example.com -d www.example.com -d tlsfix1.example.com) 'oku ne ngaohi ia ko ha tohi fakamo'oni 'oku 'ikai ke toe 'i ai pea 'oku ne fakalaka 'i he fakangatangata 'o e totongi 'o e Tohi Fakamo'oni 'i he taimi pe ko ia. - Siaki pe ko ha DNS .
CAAlekooti pe maumau .DNSSEC'oku ne ta'ofi ho'o Ma'u Mafai Fakamo'oni mei hono 'oatu (CAA record for example.com prevents issuance): - Fehu'i 'a e Fakamafai'i 'o e Mafai Fakamo'oni 'o ho'o domain (
CAA) ngaahi lekooti:dig +short CAA example.com. Kapau 'oku 'i ai ho'o DNS .0 issue "sectigo.com"pe .0 issue "amazon.com"(pe 'i ha domain 'o e matu'a), Tau Encrypt (letsencrypt.org) mo e Ta'e'aonga SSL (sectigo.com) 'oku tapui 'e he RFC 8659 mei hono tukuange kae 'oua kuo ke tanaki atu .0 issue "letsencrypt.org"ki ho'o sone DNS. - Kapau taulanga
80(HTTP-01pole) 'oku ta'ofi 'e ha firewall, CDN, pe ISP, pe kapau 'oku fakafisi ho'o web server ke kamata koe'uhi ko ha cert 'oku mole, faka'aonga'i .--standalonepe .--dns(DNS-01) fakamo'oni: - Tuʻu
nginx/apachenounou pea lele .sudo certbot certonly --standalone -d example.com, pe ngāue‘aki .--manual --preferred-challenges dnske fakamo'oni'i 'aki hono fakapipiki ha ._acme-challenge.example.comTXTlekooti ki ho'o DNS console 'o 'ikai ke pa ki he taulanga .80. - Kapau 'oku tangutu ho'o saiti 'i mui 'i he Cloudflare, AWS CloudFront, pe 'Aukai, fakamo'oni'i pe 'oku 'i he CDN Edge pe 'i ho'o Server tupu'anga 'a e tohi fakamo'oni ako 'oku 'osi 'a e taimi (
Error 526 Invalid SSL Certificate): - 'I he Cloudflare, kapau kuo 'osi 'a e taimi 'o ho'o tohi fakamo'oni ako 'o e seva tupu'anga pea 'oku seti 'a e Cloudflare ki he .
Full (Strict), 'oku vakai 'a e kau faka'aonga'i ki he Hala 526. Lolotonga ho'o fakalelei'i 'a e tohi fakamo'oni tupu'anga, 'e lava ke ke fakafoki mai 'a e fefononga'aki 'o e saiti mo'ui 'i he sekoni 'e 5 'aki hono fakatupu ha ta'u 'e 15 Cloudflare tupu'anga CA tohi fakamo'oni 'i he dashboard 'o e Cloudflare (pe liliu fakataimi 'a e founga SSL/TLS mei he 100).Full (Strict)ki heFullmo e miniti 'e 10 'oku fie ma'u ke fetongi 'a e tupu'anga ..pemfaile).
Danger
'Oua 'aupito na'a ke feinga ke "fakalelei'i" ha loka HSTS Preload 'aki hono fokotu'u 'o e . Strict-Transport-Security: max-age=0 lolotonga ho'o tohi fakamo'oni SSL/TLS 'oku kei 'osi: RFC 6797 'oku tapui mahino 'a e ngaahi browsers mei hono ngaue'aki pe faka'apa'apa'i ha . Strict-Transport-Security ʻuluʻi tohi (kau ai max-age=0) 'i ha fehokotaki'anga TLS 'oku 'ikai falala'anga, fakamo'oni hingoa 'a'ana, pe 'osi 'a e taimi, pe 'i he plain . HTTP. ‘Ikai ngata aí, kapau ‘oku ‘i ai ho‘o domain . includeSubDomains; preload fakatahataha'i ki he lisi 'o e preload HSTS tu'u ma'u 'a e Chromium/Firefox/Safari, na'a mo e . max-age=0 'i ha fehokotaki'anga 'oku 'aonga 'e 'ikai ke ne to'o 'a e fuka preload ki he kau 'a'ahi fuofua taimi. Ko e founga pe 'e taha ke fakafoki mai 'a e hū ki ha domain HSTS-loka'i ko hono fokotu'u ha tohi fakamo'oni ako 'oku 'aonga, falala'anga fakapule'anga X.509 'i he taulanga 443.
'Akau 'o e tu'utu'uni: fakatotolo'i mo fakalelei'i ha tohi fakamo'oni SSL/TLS 'o e ngaohi'anga 'oku 'osi 'a e taimi¶
Muimui ki he 'akau tu'utu'uni ko 'eni ke pinpoint 'a e layer 'o e ta'elavame'a pau (CDN Edge vs. Tupu'anga Daemon Manatu vs. ACME pole vs. CA Fakangatangata 'o e tu'unga) pea fakafoki mai 'a e HTTPS fefononga'aki 'i he miniti:
flowchart TD
Start["Kau faka'aonga'i / APIs Lipooti NET::ERR_CERT_'AHO_'IKAI 'AONGA pe Hala 'o e 'Ao 526"] --> CheckLive["Lele: openssl s_kalaieni -hingoa 'o e seva 'o e tomeini -fehokotaki 'o e tomeini:443 | fakaavassl x509 -faka'ilonga'i -ngaahi 'aho -tu'uaki"]
CheckLive --> WhereExpired{"Ko e Setifikeiti Fē ʻoku ʻOsi Moʻoni?"}
WhereExpired -->|"Tisiki fullchain.pem 'Oku 'AONGA, Ka 'Oku 'OSI 'a e Taulanga Mo'ui 443"| StaleDaemon["Manatu 'o e Daemon motu'a pe Vahevahe 'a e Falekoloa 'o e Cert: Toe fakafonu 'a e nginx / apache2 / haproxy / postfix, pe Toe langa 'a e fakataha'i 'o e HAProxy PEM 'o e fu'u 'akau"]
WhereExpired -->|"CDN Edge Cert ('Ao 'o e 'Ao / 'Ao 'o e Mu'a / 'Ave) 'Oku 'osi 'a e taimi"| CDNFix["Vakai'i 'a e ngaahi lekooti 'o e DNS CAA ki he CDN CA (letsencrypt.org / pki.goog / digicert.com / amazon.com) pea Toggle 'a e SSL faka'univeesi pe Toe Fakamo'oni'i 'a e ACM"]
WhereExpired -->|"Ko e tupu'anga 'o e seva fullchain.pem 'i he tisiki 'oku 'osi 'a e taimi"| DryRun["Lele: sudo certbot fakafo'ou --momoko-lele (pe acme.sh --fakafo'ou -d tomeini --debug)"]
DryRun --> WhyFailed{"Ko e ha na'e 'ikai ke lava ai 'a e fakafo'ou 'o e ACME?"}
WhyFailed -->|"429 Fu'u Lahi 'a e Ngaahi Kole (Kuo Laka hake 'i he Fakangatangata 'o e Totongi)"| RateLimit["Bypass 'i he taimi pe ko ia: 'Isiu mei he ZeroSSL / Buypass / Ngaahi ngaue falala'anga 'a e Google PE Tanaki atu 'a e 1 SAN 'o e subdomain 'oku toe lahi ange (-d fix1.fakatata.com)"]
WhyFailed -->|"'Oku ta'ofi 'e he Lekooti 'o e CAA 'a e Tukuange pe SERVFAIL (DNSSEC)"| CAADNS["Lele: keli CAA sipinga.com -> Tanaki atu 0 'isiu 'letsencrypt.org' (mo e 'sectigo.com') pe Fakalelei'i 'a e Lekooti DNSSEC DS 'oku maumau 'i he Lesisita ."]
WhyFailed -->|"Fehokotaki'anga Fakafisi / Taimi / 404 'i he /.'iloa/acme-pole/"| HttpBlock["Taulanga 80 Poloka pe Redirect Loop: Fakaava TCP Taulanga 80 'i he Firewall, Faka'ehi'ehi mei he /.'iloa/ mei he Auth/Toe tohi, pe Faka'aonga'i 'a e DNS-01 Pole ."]
WhyFailed -->|"Kubernetes cert-pule 'o e 'ota 'oku pipiki 'i he tatali"| K8sFix["Lele: kubectl fakamatala'i 'a e pole -> Siaki 'a e fakamatala 'o e kalasi 'o e Ingress, HTTP01 tu'utu'uni netiueka pod solver, pe Webhook TLS ."]
StaleDaemon --> VerifyAll["Fakamo'oni'i 'a e Seini & OCSP Fakapipiki: openssl s_client -fehokotaki 'a e tomeini:443 -tu'unga"]
CDNFix --> VerifyAll
RateLimit --> VerifyAll
CAADNS --> VerifyAll
HttpBlock --> VerifyAll
K8sFix --> VerifyAll
Konga 1: Mahino ki he ʻuhinga ʻoku HSTS (Strict-Transport-Security) fakatupu ha fakapoʻuli fakakātoa ʻo e hard-fail .¶
'I he taimi 'oku 'ikai faka'aonga'i ai 'e ha uepisaiti 'a e HSTS, 'oku fakahaa'i 'e ha tohi fakamo'oni 'oku 'osi 'a e taimi ha fakatokanga interstitial (Your connection is not private) mo ha "Fakalakalaka -> Hoko atu ki he example.com (ta'emalu)" fehokotaki'anga 'oku ne faka'ata 'a e kau faka'aonga'i 'oku nau loto-mo'ua ke nau lomi'i 'o fakafou 'i.
Ka neongo ia, meimei ko e ngaahi polokalama uepi ngaohi fakaonopooni kotoa pe, ngaahi pangike, ngaahi tu'unga SaaS, mo e . .dev / .app / .page / .bank 'oku fakahoko 'e he ngaahi domain levolo ma'olunga HTTP Malu Fefononga'aki Fakafepaki (HSTS, RFC 6797):
1. HSTS malohi (max-age=31536000): Ko ha browser pe kuo ne 'a'ahi ki ho'o saiti 'i loto 'i he 'aho 'e 365 kuo 'osi na'a ne cached 'a e tu'utu'uni . Strict-Transport-Security: max-age=31536000; includeSubDomains. Kae 'oua kuo 'osi 'a e taimi ko ia, 'Oku tapui 'e he browser 'a e tokotaha 'oku ne ngaue'aki mei he lomi'i 'o fakafou 'i ha fehalaaki 'o e tohi fakamo'oni ako (ERR_CERT_DATE_INVALID, ERR_CERT_COMMON_NAME_INVALID, pe . ERR_CERT_AUTHORITY_INVALID).
2. Tomu'a 'uta 'a e HSTS tu'uma'u (preload lisi pe . .dev / .app gTLD): Kapau na'e fakahu atu ho'o tomeini ki he . hstspreload.org - pe kapau 'oku faka'aonga'i 'e ho'o domain ha TLD Lesisita-Preloaded hange ko e . .dev, .app, .page, .new, .chrome, pe . .bank - tatau kotoa pe 'o e Chrome, Tafa'aki, Firefox, Safari, mo e Android WebView 'i he mamani 'oku 'i ai ho'o tomeini hardcoded ki hono binary 'o hange ko e HSTS-fakamālohi'i kimu'a pea toki 'a'ahi 'a e tokotaha 'oku ne ngaue'aki ki ho'o saiti 'i he fuofua taimi.
3. Ko e ha includeSubDomains maumau'i 'a e ngaahi me'angaue 'i loto mo e ngaahi seva staging: Kapau ko ho'o domain aka (example.com) ʻoku ʻave Strict-Transport-Security: max-age=31536000; includeSubDomains, ko e konga siʻi kotoa pē (vpn.example.com, internal-jira.example.com, printer.example.com) 'oku toe loka'i ki he HSTS fefeka-ta'elavame'a 'a e founga.
4. Ko e ha 'oku fakataha'i ai 'a e API mo e Webhook (Stripe, Twilio, Slack, iOS ATS) 'ikai lava 'i he taimi pe ko ia: Kau fakatau TLS 'o e seva-ki-seva (libcurl, Paitoni requests/urllib3, Nouti.js undici, ʻAlu crypto/tls, Sava SSLContext) fakahoko 'a e RFC fefeka 5280 . notAfter fakamo'oni 'e he default pea 'oku 'ikai ha fakakaukau 'o ha tokotaha faka'aonga'i "kiliki-'i he." Lolotonga ha mate 'a e TLS, 'e 'ikai lava 'e he Stripe mo e Shopify webhooks 'a e tu'uaki pea fakahu 'a e ngaahi laine 'o e toe feinga backoff faka'auha.
Konga 2: Ko e 60-sekoni diagnostic - 'Oku mo'oni 'oku 'osi fakafo'ou 'a e tohi fakamo'oni ako 'i he tisiki?¶
'I he fakafuofua ki he peseti 'e 35 'o e ngaohi'anga Tau Encrypt outages, na'e fakafo'ou mo'oni 'a e tohi fakamo'oni ako 'i he tisiki 'i he ngaahi uike kuo maliu atu 'e he 2019. certbot.timer pe . acme.sh, ka 'oku kei ngaue 'a e daemon 'oku lele 'i he tohi fakamo'oni motu'a kuo 'osi 'a e taimi mei he RAM.
Sitepu 1: Fakafehoanaki 'a e sote netiueka mo'ui ki he faile 'i he tisiki .¶
Fakalele 'a e ongo fekau 'i ho'o server:
# Check what the live port 443 socket is presenting in RAM:
echo | openssl s_client -servername example.com -connect 127.0.0.1:443 2>/dev/null | openssl x509 -noout -subject -issuer -dates -serial
# Check what is actually sitting on the filesystem:
sudo openssl x509 -in /etc/letsencrypt/live/example.com/fullchain.pem -noout -subject -issuer -dates -serial
Sitepu 2: Fakalelei'i 'a e 4 angamaheni "Fakafo'ou 'i he Tisiki, 'Oku 'osi 'i he RAM" tauhele .¶
| Sevesi / Fakafofonga | Ko e Ha 'oku Ne Kei Sevesi ai 'a e Old Expired Cert Hili hono Fakafo'ou | Fekau Totonu ke Fakalelei'i 'i he taimi pe ko ia & Tu'uma'u |
|---|---|---|
Nginx / Apache |
certbot ngaue'aki --webroot pe . --standalone (pe dns-* plugin) kae 'ikai ko e . --nginx, ko ia na'e 'ikai ha matau reload hili hono fakafo'ou 'e faka'ilonga'i 'a e founga 'o e 'eiki. |
Lele sudo nginx -t && sudo systemctl reload nginx. Tānaki atu ha matau deploy tuʻumaʻu ʻi he . /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh:systemctl reload nginx (sudo chmod +x ko e tohi). |
HAProxy |
'Oku fie ma'u 'e he HAProxy fullchain.pem PEA privkey.pem fakatahataha'i ki ha taha fakataha'i . .pem faile (combined.pem). Kuo fakafo'ou 'a e Certbot fullchain.pem pea . privkey.pem, ka . combined.pem ‘oku kei ‘i ai pē ‘a e tatau ‘aho ‘e 90 hono motu‘á. |
Toe langa 'a e fu'u 'akau pea toe uta 'a e HAProxy:sudo sh -c 'cat /etc/letsencrypt/live/example.com/fullchain.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/haproxy/certs/example.com.pem'sudo chmod 600 /etc/haproxy/certs/example.com.pem && sudo systemctl reload haproxy |
Motuhia e Symlink 'i he 2019. /etc/letsencrypt/live/ |
Naʻe hiki toʻotoʻo ʻe ha taha . /etc/letsencrypt/archive/example.com/fullchain3.pem ki he /etc/nginx/ssl/ kae 'ikai ke tuhu . nginx.conf ki he . /etc/letsencrypt/live/example.com/fullchain.pem symlink, pe Certbot na'a ne fa'u ha laine tatau 'oku ui ko e . /etc/letsencrypt/live/example.com-0001/. |
Lele sudo certbot certificates ke sio pe . example.com-0001 na‘e fakatupu. Poini 1 . ssl_certificate ʻi loto /etc/nginx/ ki he kau ngāue . /etc/letsencrypt/live/<lineage>/fullchain.pem symlink pea toe 'uta 'a e Nginx. |
Koniteina Docker (nginx / traefik / postfix) |
Na'e fakafo'ou 'a e OS host . /etc/letsencrypt/archive/example.com/fullchain4.pem pea fakafo'ou 'a e symlink, ka ko e Docker koniteina ha'i-mounted 'a e inode faile 'e taha ('a ia na'e unlinked/fetongi) pe ko e founga 'o e koniteina 'i loto 'i he namespace 'oku 'ikai 'aupito ke ma'u . SIGHUP. |
Ha'i-mo'unga 'a e kotoa . /etc/letsencrypt directory ('ikai 'aupito ha taha .pem faile koe'uhi 'oku liliu 'a e ngaahi taumu'a 'o e symlink 'i he fakafo'ou) pea lele . docker kill -s HUP <nginx_container>. |
Konga 3: Fakalelei'i 'o e DNS CAA ngaahi poloka lekooti mo e . DNSSEC ngaahi ta'elavame'a 'o e fakamo'oni¶
Kapau te ke lele . sudo certbot renew --dry-run pea vakai:
- urn:ietf:params:acme:error:caa :: CAA record for example.com prevents issuance
- urn:ietf:params:acme:error:dns :: DNS problem: SERVFAIL looking up A/CAA for example.com
1. Founga DNS . CAA (RFC 8659) 'oku ne ta'ofi 'a e fakafo'ou 'o e tohi fakamo'oni ako¶
'Oku fie ma'u fakalao 'e he CA/Browser Forum Baseline 'a e Mafai Fakamo'oni Fakapule'anga kotoa pe ke fehu'i 'a e DNS . CAA lekooti kimu’a pea toki ‘oatu ha tohi fakamo’oni. 'Oku lue 'a e CA hake 'i he 'akau DNS mei he . sub.app.example.com -> app.example.com -> example.com:
- Kapau . example.com 'oku 'i ai 'a e zero CAA lekooti, 'oku ngofua ke 'oatu ha CA.
- Kapau . example.com kuo na'a mo ha taha . CAA lekooti (hangē ko ʻení, 0 issue "amazon.com" tanaki atu 'otometiki 'i he taimi 'oku fa'u ai 'e ha taha ha tufaki'anga koloa AWS CloudFront, pe . 0 issue "digicert.com"), ko e ngaahi Ma'u Mafai Fakamo'oni kehe kotoa pe 'i he Mamani 'oku tapui 'aupito ke nau 'oatu ha tohi fakamo'oni ki he 2019. example.com pe ko ha taha 'o hono ngaahi vahenga si'isi'i.
- 'Ikai ngata ai, kapau 'oku ke kole ha Wildcard tohi fakamo'oni ako (*.example.com) pea ko ho'o domain 'oku ne fakamatala'i ha pau . 0 issuewild "ca.example" tag, 'oku vakai'i 'e he CA 'a e . issuewild koloa kae 'ikai ko e . issue.
Diagnostic mo e fakalelei'i vave ki he . CAA ngaahi poloka:¶
- Siaki
CAAlekooti 'i he hingoa 'o e host mo e domain 'o e tumutumu fakatou'osi: - Vakaiʻi foki pe ʻoku .
sub.example.comko haCNAME'oku tuhu ki ha domain kehe ('I he RFC 8659, CAs foki 'oku nau vakai'i 'a e .CAAlekooti 'i he ngaahi taumu'a CNAME). - 'I he dashboard 'o ho'o kautaha DNS ('Aoflare, Hala 53, 'Ao DNS, Namecheap), 'oua 'e tamate'i 'a e 'oku 'i ai .
CAAngaahi lekooti 'oku ngaue'aki 'e ho'o CDN pe AWS ACM; ka, fakapipiki tanaki atuCAAlekooti fakamafai'i Tau Encrypt mo ho'o CAs backup:(Fakatokanga'i ange: 'Oku ngaue'aki 'e he ZeroSSLexample.com. 300 IN CAA 0 issue "letsencrypt.org" example.com. 300 IN CAA 0 issue "sectigo.com" example.com. 300 IN CAA 0 issue "pki.goog" example.com. 300 IN CAA 0 issuewild "letsencrypt.org" example.com. 300 IN CAA 0 issuewild "sectigo.com"sectigo.comko hono faka'ilonga CAA 'i lalo, pea 'oku faka'aonga'i 'e he Google Trust Services .pki.goog.) - Tatali sekoni 'e 60 ki ho'o ngaahi nameservers fakamafai'i ke fakafo'ou (
dig @ns1.yourdns.com CAA example.com) pea toe lele leva .sudo certbot renew. Talu mei he fakahoko 'e he CAs 'a e ngaahi fekumi recursive mo'ui 'o bypassing 'a e ngaahi caches fakapule'anga 'i he toe feinga, 'oku lavame'a 'a e tukuange 'i he taimi pe ko ia.
2. Fakaleleiʻi . DNS problem: SERVFAIL looking up CAA (DNSSEC ta'efe'unga)¶
Tau fakapulipuli'i, Google Falala'anga 'a e ngaahi ngaue, mo e ZeroSSL fakamālohi'i fefeka DNSSEC fakamo'oni 'i he ngaahi kumi DNS kotoa pe (A, AAAA, TXT, mo e . CAA). Neongo kapau 'oku 'i ai ha domain 'oku 'ikai . CAA lekooti, kuo pau ke ma'u 'e he CA ha cryptographically 'oku 'aonga . NOERROR (tali ʻataʻatā) pe . NXDOMAIN (NSEC / NSEC3 fakamo'oni'i 'a e faka'ikai'i 'o e 'i ai) tali.
- Kapau 'oku ma'u 'e ho'o lesisita domain ha stale . DS (Fakafofonga Signer) lekooti hili ho'o hiki 'a e kau foaki DNS (hange ko 'eni, hiki mei he GoDaddy ki he Cloudflare pe Hala 53 'o 'ikai ke fakata'e'aonga'i 'a e DNSSEC 'uluaki), recursive resolvers 'oku nau fakamālohi'i 'a e DNSSEC foki SERVFAIL.
- Fakamo'oni'i 'i he sekoni 'e 5: Lele delv @8.8.8.8 example.com CAA pe sivi 'i he . dnsviz.net. Kapau . dig @8.8.8.8 example.com fakafoki mai status: SERVFAIL lolotonga dig +cd @8.8.8.8 example.com (+cd = Siaki 'a e Disabled, 'ikai tokanga ki he DNSSEC) 'oku ne fakafoki mai ho'o tu'asila IP, 'oku motuhia ho'o seini DNSSEC. Fakahu ki ho'o lesisita tomeini 'i he taimi pe ko ia pea pe to'o 'a e stale . DS lekooti pe hiki tatau 'a e lolotonga . DS ngaahi fakangatangata mei ho'o DNS host 'oku lolotonga ngaue.
Konga 4: Bypassing Tau Fakapulipuli'i 'a e Ngaahi Fakangatangata 'o e Tu'unga (429 Too Many Requests) lolotonga ha mate ʻoku lolotonga ngāue¶
Lolotonga ha me‘a moveuveu ‘oku hoko, ‘oku fa‘a toe kamata‘i ‘e he kau ‘enisiniá ‘a e ngaahi koniteiná pe lele . certbot toutou fai kae 'oua kuo fakafisinga'i 'e he Let's Encrypt 'a e ngaahi kole kotoa pe 'aki:
- urn:ietf:params:acme:error:rateLimited :: Error creating new order :: too many certificates (5) already issued for this exact set of domains in the last 168h0m0s
- urn:ietf:params:acme:error:rateLimited :: Error creating new order :: too many failed authorizations (5) recently
Ko e taimi tatali 'oku kamata ia mei he houa 'e 1 (ki he ngaahi fakamafai'i 'oku 'ikai ke lava) ki he 'aho 'e 7 (houa 'e 168) (ki he fakangatangata 'o e ngaahi tohi fakamo'oni ako 'e 5). 'Oua 'e tatali houa 'e 1 pe 'aho 'e 7 lolotonga 'oku 'i lalo ho'o saiti ngaohi. 'Oku 'i ai ha'o ongo workarounds fakalao kakato, vave:
Fakalelei'i A (Lelei taha): Fetongi 'a e Mafai Fakamo'oni 'o e ACME ki he ZeroSSL, Buypass, pe Google Falala'anga 'o e ngaahi ngaue 'i he sekoni 'e 30 .¶
Ko e polokalama ACME (RFC 8555) ko ha tu'unga fakaava. 'Oku falala 'a e ngaahi browser lalahi kotoa pe mo e sisitemi ngaue ZeroSSL (Sectigo aka), Buypass 'Alu SSL (CA Noate), mo e Ngaahi ngaue falala'anga 'a e Google (pki.goog) tatau mo e Tau Fakapulipuli (ISRG Root X1). 'Oku 'ikai ha taha 'o kinautolu 'oku vahevahe 'a e ngaahi fakangatangata 'o e totongi mo e Let's Encrypt.
- Fili 1: 'Isiu vave 'o fakafou 'i he
Certbot'o faka'aonga'i 'a e Buypass Go SSL ('Oku 'ikai ha 'akauni/EAB kī 'oku fie ma'u, 180-'aho 'o e mo'oni): (Fakatokanga'i ange: 'Oku poupou'i 'e he Buypass 'a e ngaahi tohi fakamo'oni ako 'o e ngaahi domain lahi 'o a'u ki he 5 SANs, neongo 'oku 'ikai ko e wildcard .*.example.comngaahi tohi fakamoʻoni ako) - Fili 2: 'Isiu vave 'o fakafou 'i he
acme.sh('a ia 'oku default ki he ZeroSSL pe liliu 'a e CAs mo e--server): - Fili 3: 'Isiu 'o fakafou 'i he ngaahi ngaue falala'anga 'a e Google (
pki.goog) ACME fakapule'anga: 'I he Google 'Ao Fakafiemalie (pe 'o fakafou 'i hegcloud publicca external-account-keys create), fakatupu ha Fakapipiki 'o e 'Akauni 'i Tu'a ta'etotongi ( ).EAB) kī ʻi ha sekoni ʻe 10 pea lele:
Workaround B: Bypass 'a e Tau Encrypt "5 Ngaahi Tohi Fakamo'oni Fakamo'oni" fakangatangata 'aki hono tanaki atu ha hingoa 'e taha 'o e SAN hostname .¶
Tau Encrypt 'a e fakangatangata 'o e houa 'e 168 'o e 'ata (too many certificates (5) already issued for this exact set of domains) muimui'i 'a e seti faka'alafapeti totonu 'o e SAN hostnames 'i he tohi fakamo'oni ako, ka ko e fakangatangata fakakatoa 'o e Domain Lesisita ko e 50 tohi fakamo'oni ako 'i he uike.
1. Fa'u ha DNS ta'efakatu'utamaki . A lekooti 'oku tuhu ki he server tatau: tls-recovery-01.example.com -> <your_server_ip>.
2. Kole 'a e tohi fakamo'oni ako mo ho'o ngaahi domain 'uluaki plus 'a e hingoa talitali fo'ou:
sudo certbot certonly --nginx --cert-name example.com \
-d example.com -d www.example.com -d tls-recovery-01.example.com
--cert-name example.com fakafo'ou ho'o 'oku 'i ai /etc/letsencrypt/live/example.com/ directory 'i he feitu'u ko ia 'oku 'ikai ke ke a'u 'o fakatonutonu . nginx.conf.) Koe'uhi . {example.com, tls-recovery-01.example.com, www.example.com} ko ha seti fo'ou 'o e ngaahi domain, Tau Encrypt 'oku ne 'oatu 'a e tohi fakamo'oni ako 'i he taimi pe ko ia.
Konga 5: Fakaleleiʻi ʻo e maumau HTTP-01 ngaahi pole (Port 80) pe ngāue‘aki . DNS-01 fakamo'oni fakavavevave¶
Ko e taimi . certbot renew ta'elavame'a mo e Timeout during connect (likely firewall problem) pe . Invalid response from http://example.com/.well-known/acme-challenge/...: 404 (pe 403), 'oku 'ikai lava ke a'u 'a e ngaahi seva fakamo'oni CA ki ho'o faka'ilonga pole HTTP 'i he TCP taulanga 80.
Ko e hā . HTTP-01 fakafokifā pē ʻoku maumau ʻi he ngaahi seva naʻe ngāue ʻi he ʻaho ʻe 60 kuohilí¶
- Kulupu Malu'i 'o e 'Ao / UFW /
iptablestapuni Taulanga 80: Na'e fakafefeka'i 'e ha taha 'a e firewall ke faka'ata 'a e taulanga pe .443(HTTPS), ngalo ʻi he RFC 8555 .HTTP-01fakamo'oni kamata ma'u pe 'i he taulanga HTTP ma'ama'a 80 (neongo 'e muimui 'i ha301toe fakahangatonu ki hehttps://ʻi he taulanga443). - IPv6 kuo maumau (
AAAA) Lekooti: Ko ho'o domain 'oku fakatou 'i ai ha IPv4 (A) lekooti mo ha IPv6 ( ).AAAA) lekooti. Tau Encrypt 'oku manako ma'u pe 'a e IPv6 (AAAA) 'uluaki. Kapau 'oku misrouted ho'o tu'asila IPv6, poloka 'e he .ip6tables, pe 'ikai ha'i 'i he Nginx (listen [::]:80;), taimi fakamo'oni 'i tu'a neongo 'oku ngaue lelei 'a e IPv4. - Nginx / Faka'aonga'i 'o e tohi kole (
React/Next.js/Django/Rails) fakafepaki'i/.well-known/acme-challenge/: Ko ho'oserverpoloka 'i he taulanga 80 fakafofonga'i 'a e fefononga'aki kotoa pe (location / { proxy_pass http://localhost:3000; }) ki ha app backend kae 'ikai ko e ngaue ..well-knownmei he tisiki.
Ko e ongo fakalelei'i vave ki he maumau . HTTP-01 fakamo'oni'i¶
Fakaleleiʻi 1: Tānaki atu ha fakatapui maʻolunga-muʻomuʻa . /.well-known/acme-challenge/ poloka 'i he Nginx (Taulanga 80)¶
Fakapapau'i ho'o taulanga 80 poloka 'i he 2019. /etc/nginx/sites-enabled/ 'oku ne ngaue'aki 'a e ngaahi tokeni ACME fakahangatonu mei he . /var/www/letsencrypt kimu'a ha taha return 301 https://... pe . proxy_pass fakahinohino:
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/letsencrypt;
allow all;
}
location / {
return 301 https://$host$request_uri;
}
}
sudo mkdir -p /var/www/letsencrypt/.well-known/acme-challenge
sudo nginx -t && sudo systemctl reload nginx
sudo certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com
Fakalelei'i 2: Bypass Port 80 mo e ngaahi seva 'o e uepi kakato 'aki ha tohi fakahinohino . DNS-01 (TXT) pole¶
Kapau 'oku poloka 'a e taulanga 80 'e ha ISP/firewall 'i 'olunga pe 'oku 'ikai lava ke faka'aonga'i 'e ho'o load balancer . .well-known ki he ngaahi nodes backend lahi, fakamo'oni'i 'o fakafou 'i he DNS 'i he miniti 'e 2:
Please deploy a DNS TXT record under the name: _acme-challenge.example.com with the following value: XyZ123...
1. Fakaava ho'o DNS console pea fa'u 'a e . TXT lekooti _acme-challenge mo ha 60 TTL hono ua.
2. Tatali mo fakamo'oni'i 'i ha matapa sio'ata terminal hono ua kimu'a pea toki lomi'i 'a e Enter:
3. Tuʻo taha dig lomi'i ho'o aho faka'ilonga pau, lomi'i **Fakahu ** 'i he Certbot. Ko ho'o tohi fakamo'oni ako mo e kī fakafo'ituitui 'e tohi ia ki he . /etc/letsencrypt/live/example.com/ ‘i he taimi pē ko iá. (Hili hono fakalelei'i 'o e outage, fokotu'u 'a e plugin DNS 'otometiki hange ko e . python3-certbot-dns-cloudflare pe . python3-certbot-dns-route53 ko ia ʻoku ʻikai fie maʻu ʻe he ngaahi fakafoʻou ʻi he kahaʻú ha tohi lēsoni . TXT hū.)
Konga 6: Fakamo'oni'i 'o e hili 'a e fakaakeake (Seini 'o e vaha'a taimi, OCSP Stapling, mo e CDN Purge)¶
Ko ha fehalaaki angamaheni hili hono fetongi ʻo e tohi fakamoʻoni ako fakavavevavé ko hono fokotuʻu . cert.pem (ko e tohi fakamo'oni lau pe) kae 'ikai ko e . fullchain.pem (ko e tohi fakamo'oni lau + tohi fakamo'oni CA lolotonga). Ngaahi browser 'o e tesi (Chrome, Firefox) fa'a mask ha tohi fakamo'oni ako 'oku mole 'o fakafou 'i he AIA (Authority Information Access) tuli pe cached 'a e ngaahi me'a fakavaha'a, lolotonga ia ** .curl, Python, OpenSSL, ngaahi polokalama Android, mo e ngaahi webhooks 'o e Stripe/Twilio 'oku 'ikai ke nau lava 'i he taimi pe ko ia mo e . unable to verify the first certificate (SSL certificate problem: unable to get local issuer certificate)**.
- Fakamo'oni'i 'oku 'ave 'e ho'o server 'a e Seini Lotolotonga kakato (
fullchain.pem): Lele:Kuo pau ke ke sio ki he levolo 'e ua (echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | grep -E "Verify return code|depth="depth=0ho'o domain mo e .depth=1ko e CA lolotonga hange ko e .Let's Encrypt E5/R11pe .ZeroSSL RSA Domain Secure Site CA) mo eVerify return code: 0 (ok). Kapau te ke sio .Verify return code: 21 (unable to verify the first certificate), liliu ho'o config 'o e seva 'o e uepi mei he .cert.pemki hefullchain.pem. - **Ma'a 'a e OCSP 'o e 'atakai 'o e 'atakai 'i he Nginx / Apache **:
Kapau .
ssl_stapling on;'oku faka'ata, toe fakafonu 'a e seva 'o e uepi pea vakai'i .openssl s_client -servername example.com -connect example.com:443 -status 2>/dev/null | grep -A 15 "OCSP response". - Fakalelei'i 'a e ngaahi la'ipepa lahi SSL 'o e siofi 'o e 'osi (Siaki TCP 'i tu'a + Prometheus
blackbox_exporter): 'Oua 'aupito na'a ke falala pe ki he ngaahi fakamanatu 'imeili (Tau Encrypt 'a e ngaahi 'imeili fakamanatu 'o e 'osi 'a e taimi 'oku ta'ofi 'i he 2025). Monitor 'a e taulanga mo'ui 443 sote 'i tu'a (probe_ssl_earliest_cert_expiry - time() < 86400 * 14) pea fokotuʻu ha sieke cron fakaʻaho ʻi he .sudo certbot renew --dry-run.
Ngaahi fika fakavavevave fakavahefonua mo e ngaahi tu'utu'uni 'a e ngaahi potungaue¶
Lolotonga e taimi 'oku 'osi ai ha tohi fakamo'oni ako TLS 'oku fa'a fakalelei'i 'e he ngaahi timi 'enisinia, ko ha outage tohi fakamo'oni ako 'oku ne maumau'i 'a e ngaahi portals 'o e tokanga'i 'o e mo'ui, webhooks 'o e fekau'i fakavavevave, fakamo'oni fakapangike, pe ngaahi langa fakalakalaka fakapule'anga 'a e pule'anga 'e lava ke ne fakatupu 'a e ngaahi me'a 'oku hoko fakatonutonu:
- 'Amelika mo Kanata:
- Malu-Mo'ui / Fakafaito'o / Faka'auha 'o e Outage: Taila
911kapau 'oku motuhi 'e ha ta'elavame'a 'o e tohi fakamo'oni ako TLS 'a e telemetry 'o e mahaki, e-fakahinohino, pe fetu'utaki fakavavevave 'o e fekau'i atu. - Potungaue Malu'i 'o e 'Initaneti mo e Ngaahi Ngaue Lalahi (
CISA) (US): Ko e ngaahi potungaue sivile fakafederal 'i he malumalu 'o e CISA Fakahinohino Fakangaue Fakahokohoko (BOD) 18-01 mo e kau ngaue 'o e ngaahi langa fakalakalaka mahu'inga 'oku nau a'usia 'a e tukuange 'o e tohi fakamo'oni ako ta'efakamafai'i (CA fakalelei'i pe BGP/DNS hijacking) 'oku totonu ke nau lipooti ki he1-844-Say-CISA(1-844-729-2472) pe .cisa.gov/report. - Senitā ʻo Kānata ki he Malu ʻi he ʻInitanetí: Fetuʻutaki mai
1-833-CYBER-88(1-833-292-3788). - Pule'anga Fakatahataha:
- Ngaahi Sevesi Fakavavevave: Taila
999kapau 'e uesia 'e ha mate 'a e TLS 'a e ngaahi sisitemi fakakiliniki mahu'inga 'o e NHS pe ko e malu 'o e mo'ui. - Senitā Malu Fakafonua ki he ʻInitanetí (
NCSC): Kapau te ke 'ilo'i ha tohi fakamo'oni ta'efakamafai'i 'oku 'oatu ki ho'o domain 'i he Tohi Fakamo'oni 'o e Mahino (crt.sh) ngaahi tohi 'oku fakahaa'i ai 'a e DNS hijacking, lipooti 'o fakafou 'i he .ncsc.gov.uk. - Iunioni 'a 'Iulope:
- Ngaahi Sevesi Fakavavevave: Taila
112'i he ngaahi fonua memipa kotoa 'o e EU. - NIS2 Fakahinohino & eIDAS Ngaahi Tohi Fakamo'oni Fakamo'oni 'o e Uepisaiti Fakafe'unga (
QWACs): Ko e ngaahi kautaha mahu’inga mo mahu’inga ‘i he malumalu ‘o e NIS2 Directive ‘oku nau a’usia ha ‘ikai ke lava ‘o ma’u ‘a e ngaahi kī PKI ‘oku fuoloa kuo pau ke nau fakahā ki he’enau CSIRT fakafonua ‘i loto ‘i he houa ‘e 24. - Aositelelia mo Nu'usila:
- Ngaahi Sevesi Fakavavevave: Taila
000'i 'Aositelelia pe111ʻi Nuʻu Sila; fetu'utaki ki he ACSC (1300 CYBER1) ki he ngaahi me'a 'oku hoko 'i he ngaahi langa fakalakalaka. - 'Initia mo 'Esia-Pasifiki:
- 'Initia (
CERT-In/ Pule 'o e Kau Ma'u Mafai Fakamo'oniCCA): Taila112ki he tali fakavavevave; lipooti 'a e fakalelei'i 'o e PKI pe ngaahi mate lahi 'o e ngaahi langa fakalakalaka ki he .incident@cert-in.org.in‘i loto ‘i he houa ‘e 6.
Ngaahi fehu'i 'oku toutou 'eke .¶
Ko e ha 'oku 'ikai lava ai ke u pe ko 'eku kau faka'aonga'i 'o lomi'i 'a e "Fakalakalaka -> Hoko atu ki he saiti (ta'emalu)" 'i he Chrome pe Safari lolotonga 'a e outage ko 'eni?¶
Ko e taimi 'oku 'ave ai 'e ho'o domain 'a e . Malu-Fefononga'aki-Malu (HSTS) HTTP 'ulu'i tohi - pe 'oku ne ngaue'aki ha domain levolo ma'olunga hange ko e . .dev, .app, .peesi 1 ., pe . .pangike 'oku hardcoded ki he browser HSTS Preload Lisi - RFC 6797 'oku fie ma'u 'e he browser ke ne tokanga'i ha fa'ahinga tohi fakamo'oni 'oku 'osi 'a e taimi, fakamo'oni hingoa 'a e tokotaha pe, pe 'oku 'ikai ke fe'unga ko ha fehalaaki fakatupu mate 'oku 'ikai lava ke fakafoki. 'Oku fakataumu'a 'e he browser ke to'o 'a e "Hokohoko atu 'i ha fa'ahinga founga pe" bypass button ke ta'ofi 'a e kau 'ohofi 'o e tangata-'i he-lotoloto (MitM) 'oku nau ngaue mei he faka'ai'ai 'o e kau faka'aonga'i ke nau lomi'i 'o fakafou 'i ha tohi fakamo'oni spoofed. Lolotonga e lava ke lomi'i 'e ha developer 'i he desktop Chrome 'a e hokohoko 'o e keyboard fufuu . ʻoku ʻikai malu ʻeni fakahangatonu 'i he screen hala ke bypass ia fakalotofonua ki he sivi, 'oku 'ikai lava 'e he kau faka'aonga'i mo'oni; kuo pau ke ke fokotu'u ha tohi fakamo'oni 'oku 'aonga 'i he taulanga 443.
Na'e ta'ofi 'e he Let's Encrypt 'a e 'ave 'o e ngaahi 'imeili fakatokanga expiration pea 'osi 'eku cert 'o 'ikai ha fakatokanga - ko e ha na'e hoko ai ia?¶
Tau Encrypt faka'ofisiale 'a e malolo 'ene sevesi 'imeili fakatokanga 'o e 'osi 'i he lotolotonga 'o e 2025 ke fakasi'isi'i 'a e fakamatala 'o e tauhi 'o e 'olunga pea koe'uhi 'oku totonu ke siofi fakahangatonu 'e he setups 'o e ACME 'otometiki 'a e mo'ui fakafo'ou. Ke ta'ofi 'a e ngaahi me'a faka'ohovale 'i he kaha'u, kuo pau ke ke siofi 'a e timestamp 'o e 'osi 'a e nima 'o e TLS mo'oni 'i he netiueka 'o faka'aonga'i ha siofi uptime 'i tu'a (hange ko e Prometheus ). puha 'uli'uli_fakahū ki tu'apule'anga, Uptime Kuma, Stack lelei ange, pe Datadog Synthetic TLS sivi) fakatokanga 'i he 'aho 'e 21, 'aho 'e 14, mo e 'aho 'e 7 kimu'a . 'ikaiHili.
Ko e ha 'oku ngaue lelei ai 'eku saiti 'i he Chrome mo e Firefox 'i he'eku laptop, ka 'oku 'ikai lava 'i he ngaahi telefoni Android, curl, mo e Stripe webhooks hili 'eku fakafo'ou 'a e tohi fakamo'oni ako?¶
Na'a ke configure ho'o seva uepi (ssl_tohi fakamo'oni ako 'i he Nginx pe . SSLCFaile Tohi Fakamoʻoni Ako ʻi he Apache) ke tuhu ki he . fakamoʻoni.pem (ko e tohi fakamo'oni lau pe) kae 'ikai ko e . kakato.pem (ko e tohi fakamo'oni lau 'oku fakataha'i mo e tohi fakamo'oni CA Lotolotonga). 'Oku 'otometiki 'a e download 'e he ngaahi browser 'o e desktop hange ko e Chrome mo e Firefox 'a e ngaahi tohi fakamo'oni ako 'oku mole 'i he vaha'a 'o hono faka'aonga'i 'o e . Ma'u'anga Fakamatala 'a e Ma'u Mafai (AIA) URL 'i loto 'i ho'o cert lau, fufū ho'o server hala. Kae kehe, . curl, OpenSSL, Android 'a e sisitemi falala'anga fakamo'oni, Python, mo e ngaahi seva webhook 'oku 'ikai ke fakahoko 'a e tuli AIA pea fakafisinga'i vave 'a e fehokotaki'anga mo e . 'ikai lava ke ma'u ha tohi fakamo'oni 'a e issuer fakalotofonua. Fakahinohino ho'o config ki he . kakato.pem pea toe fakafonu ho'o server.
'E anga fefe ha'aku vakai'i pe na'e 'oatu 'e ha hacker pe rogue admin ha tohi fakamo'oni SSL ta'efakamafai'i ki hoku domain?¶
Ko e Ma'u Mafai Fakamo'oni kotoa pe 'oku falala ki ai 'a e kakai 'oku fiema'u ke nau log 'a e ngaahi tohi fakamo'oni kotoa pe kuo 'oatu ki he kakai . Ngaahi tohi 'o e Tohi Fakamo'oni Ako (CT) (RFC 6962) kimu'a pea toki falala ki ai 'a e kau browser. Fakaava https://crt.sh/?q=%25.ho'o feitu'u.com pe ko e Monitor 'o e Tohi Fakamo'oni 'a e Cloudflare ke vakai ki he tohi fakamo'oni ako kotoa pe kuo 'osi tuku atu ki ho'o domain mo hono ngaahi subdomains. Kapau te ke sio ki ha tohi fakamo'oni 'oku 'oatu 'e ha CA ta'e maheni na'e 'ikai ke ke fakamafai'i, sivi'i vave ho'o DNS lesisita mo e sone DNS fakamafai'i ki he ngaahi liliu ta'efakangofua, fakafoki 'a e tohi fakamo'oni rogue mo e CA 'oku ne 'oatu, pea loka'i ho'o DNS 'aki 'a e . CAA ngaahi lekooti (`0 issue "letsencrypt.org"`).
Fēfē kapau ko ʻeku kulupu Kubernetes ʻo e . cert-manager 'ikai lava ke fakafo'ou 'emau tohi fakamo'oni Ingress pea 'oku 'i ai 'a e Order 'i he 2019. Pending?¶
Lele kubectl ma'u 'a e tu'utu'uni,pole -A pea toki . kubectl fakamatala'i 'a e pole . 'I he peseti 'e 90 'o e Kubernetes . cert-pule ngaahi mate, ko e . cm-ʻakime-http-fakaleleiʻi-* 'oku lele 'a e pod fakataimi, ka pe (1) 'oku 'i ai ha fakamatala 'o e kalasi ingress motu'a 'a e ma'u'anga tokoni 'o e Ingress ko ia 'oku 'ikai 'aupito ke fakapipiki 'a e hala solver ki ho'o balancer 'o e kavenga, (2) ha Kubernetes . Tu'utu'uni Netiueka 'oku ne ta'ofi 'a e fefononga'aki 'o e ingress ki he solver pod 'i he taulanga 8089, pe (3) 'oku ta'ofi 'e ha 'ulu-pin NAT / vahevahe-'ata DNS 'a e 'isiu . cert-pule'o e sivi'i 'o e tokotaha 'i loto mei he a'u ki ho'o IP 'o e palanisi 'o e kavenga fakapule'anga (fixable 'aki hono paasi -dns01-ngaahi hingoa-fakafoki = 8.8.8.8:53,1.1.1.1:53 ki he . cert-pule args 'o e fakahoko).
Te u lava ʻo hiki tatau ʻeku . /etc/letsencrypt/ folder ki ha server fo'ou lolotonga ha hiki fakavavevave kae 'ikai ke toe tukuange?¶
ʻIo. Kapau na'e mate ho'o server tefito pea 'oku ke hiki ki ha server fo'ou lolotonga 'a e rate-fakangatangata 'e he Tau Encrypt, tauhi 'a e symlinks 'i he taimi 'oku hiki tatau ai . /etc/fakapulipuli/ 'o ngaue'aki tar -czpf tuku fakapulipuli_fakapulipuli.tar.gz /etc/fakapulipuli ('oua 'aupito na'a ngaue'aki 'a e plain scp -r, 'a ia 'oku ne liliu 'a e ngaahi symlinks 'i he . /etc/fakapulipuli/mo'ui/ ki he ngaahi faile static 'oku toe 'i ai pea maumau'i 'a e ngaahi fakafo'ou 'i he kaha'u). To'o 'a e archive ko ia ki he server fo'ou (`sudo tar -xzpf letsencrypt_backup.tar.gz -C /`), tuhu ki he Nginx/ʻApasi ki he . `/etc/letsencrypt/live/domain/fullchain.pem`, pea ʻe ngāue leva hoʻo tohi fakamoʻoni ako ʻoku ʻi aí ʻi he tuʻasila IP foʻoú.
Ngaahi fakahinohino fekau'aki¶
- Hijacking hingoa tomeini, DNS kuo 'osi 'a e taimi, mo e to'o 'o e uepisaiti
- Tisiki 'o e seva 100% kakato (0 bytes ta'etotongi): fakamatala mo e zero-vahe fakafoki
- Google Feitu'u Ngaue pe Microsoft 365 angamaheni 'o e tomeini admin loka'i mo e DNS TXT fakahaofi
- Faingata'a'ia 'i he uepi hosting, hiki, mo e fakafoki 'o e backup .
- DNS kaiha'a, ISP router WAN toe fakalelei'i, mo e faka'ai'ai 'o e matapa 'o e popula
- Ngaahi fika fakavavevave 'i he fonua
Ngaahi ma'u'anga fakamatala mo e fakahinohino faka'ofisiale .¶
- Ko e Kulupu Ngāue ki he ʻEnisinia ʻInitanetí (
IETF): RFC 8555 ('Atakai 'o e Pule'i 'o e Tohi Fakamo'oni 'Otometiki / ACME), RFC 8659 (DNS Fakamo'oni Fakamafai'i 'o e Mafai / CAA), mo e RFC 6797 (HTTP Malu'i 'o e Fefononga'aki Fefeka / HSTS). - ʻInisititiuti Fakafonua ʻo e Ngaahi Tuʻunga mo e Tekinolosiá (
NIST) ('Iunaiteti Siteiti): Pulusinga makehe 800-52 Fakaha 2: Ngaahi Fakahinohino ki hono Fili, Fakalelei'i, mo hono Faka'aonga'i 'o e Ngaahi Fakahoko 'o e Malu'i 'o e Layer Fefononga'aki (TLS) & SP 1800-16: Malu'i 'o e Ngaahi Fefakatau'aki 'i he Uepi: Pule'i 'o e Tohi Fakamo'oni 'a e TLS Server. - Kulupu Fakatotolo ki he Malu ʻo e ʻInitanetí (
ISRG/ Tau Encrypt 'a e ngaahi tohi faka'ofisiale): Rate Limits Reference, Ngaahi tu'utu'uni 'o e tohi fakamo'oni ako 'o e 'atakai, mo e ACME pole 'o e ngaahi palopalema. - Potungāue Maluʻi ʻo e ʻInitanetí mo e Ngaahi Ngāueʻangá (
CISA) ('Iunaiteti Siteiti): Fakahinohino Fakangaue Fakahokohoko 18-01: Fakalahi 'a e Malu 'o e 'Imeili mo e Uepi (HTTPS mo e Fakahinohino ki hono Fakahoko 'o e HSTS). - Senitā Malu Fakafonua ki he ʻInitanetí (
NCSC) (Pule'anga Fakatahataha): Ngaue'aki 'a e TLS ke Malu'i Haohaoa 'a e Ngaahi Fakamatala 'i he Fakahinohino ki he Siofi 'o e Fefononga'aki mo e Tohi Fakamo'oni Ako.