Sertipiko han Produksyon SSL / TLS Natapos: Pag-ayad han HSTS nga Makuri-nga-Pakyas nga mga Pagparong ngan Aton ig-encrypt an mga Bloke han CAA / Rate-Limit¶
An mga numero han emerhensya magkaiba-iba ha tagsa nga nasud .. Ini nga pakli nagamit han 911, an numero para han Estados Unidos ngan Canada. Damu nga iba nga nasud an nagamit hin 112, 999, o iba nga numero. Bilnga an numero para ha iyo nasud ..
Kun usa nga produksyon SSL / TLS (HTTPS) sertipiko matapos - bisan hin usa ka segundo nga naglabay han iya . notAfter UTC timestamp - matag moderno nga browser (Chrome, Safari, Firefox, Edge), mobile nga app (iOS App Transport Security, Android Network Security Config), makarawat nga webhook (Stripe, Shopify, Twilio, GitHub), ngan an kliyente han API ha igbaw han salog dayon nga nag-utod han koneksyon ha . NET::ERR_CERT_DATE_INVALID o SSL_ERROR_RX_RECORD_TOO_LONG. Mas maraot pa, kon an imo domain nagpapadara han . Strict-Transport-Security (HSTS) header o gintirok ha browser HSTS Preload List, an Chrome ngan Safari nagkukuha han "Advanced -> Proceed to site (diri talwas)" nga bypass nga buton hin hul-os, nga nagresulta hin 100 porsyento nga hard-fail blackout para han kada gumaramit ha bug-os nga kalibutan. Kasagaran, ang awtomatiko nga pagbag-o nga cronjob (Certbot, acme.sh, Caddy, cert-manager, o AWS ACM) hilom nga napapakyas ha sulod hin 30 ka adlaw tungod han pagpugong han DNS . CAA rekord, usa ka guba nga DNSSEC . DS rekord, usa ka pantalan nga nagbabag-o han firewall . 80 (HTTP-01 ayat), o usa nga web server (nginx / haproxy) nga nagbag-o han file ha disk ( ).fullchain.pem) pero waray gud mag-load utro han iya mga proseso han trabahador ha memorya. Kon an imo pagkaparong in tungod hin natapos nga rehistro han domain o gin-agaw nga mga server han ngaran imbes nga an X.509 nga sertipiko mismo, balhin dayon ngadto ha . pag-agaw han ngaran han domain, natapos nga DNS, ngan pagkuha han website; kon an imo server diri gud maaabot o waray espasyo ha disk salit . certbot diri makakasurat ha /etc/letsencrypt, kitaa . server disk 100% bug-os ug zero-espasyo nga pagbawi o krisis han pag-abiabi ha web, pagbalhin, ngan pagpahiuli han backup. Kun ini nga pagparong han TLS in nag-disable han telemetry han ospital, mga API han pagpadara han emerhensya, o mga imprastraktura han katalwasan han publiko, tawagi an imo lokal nga numero han emerhensya (911 ha Estados Unidos ngan Canada, . 112 ha bug-os nga Unyon han Europa, . 999 ha Reino Unido) o kitaa an amon internasyonal nga direktoryo han . mga numero han emerhensya.
Buhata ini yana .¶
- Susiha ha sulod hin 10 ka segundo kon an sertipiko ha disk tinuod nga ginbag-o na, ngan an imo web server o load balancer waray la makakarga utro hini ngadto ha RAM:
- Itanding an buhi nga soket han TLS kontra han .
.pemfile ha disk yana mismo:# 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 - Kun an file ha disk nagpapakita hin balido nga kabubuwason .
notAfterpetsa samtang an buhi nga pantalan .443nagpapakita hin petsa nga natapos: An imo kliyente han ACME (certbot/acme.sh) naglampos mga semana na an naglabay, kondi .nginx,apache2,haproxy, opostfixwaray gud ikarga utro, o (haproxy/vault) nagkikinahanglan .fullchain.pem+ .privkey.pemginsumpay ngadto ha usa nga bugkos. Dalagan .sudo nginx -t && sudo systemctl reload nginx(osudo systemctl reload apache2 haproxy) ngan matatapos an imo pagparong ha sulod hin 2 ka segundo. - **AYAW pagdalagan
certbot renew --force-renewalpauroutro ha usa nga loop kon an pagbag-o mapakyas **: An Encrypt naton nagpapatuman hin istrikto nga limitasyon han rate nga ** 5 nga doble nga mga sertipiko kada 7 ka adlaw ** ngan ** 5 nga pakyas nga mga balidasyon kada kuwenta, kada hostname, kada oras **. Pagdalagan .--force-renewallima ka beses ha kalisang nga waray pag-ayad han nagpapailarom .nginxreload o DNS/firewall bug magtratrangka han imo domain tikang han Let's Encrypt nga paggawas hin tubtob 7 ka adlaw. - **Kun naigo mo an Aton Pag-enkripta han Limit han Rate (
429 Too Many Requests), ibalhin an imo kliyente han ACME ngadto hin ikaduha nga libre nga pampubliko nga Awtoridad han Sertipiko (ZeroSSL,Buypass Go SSL, oGoogle Trust Services) o pagdugang hin paglabog nga subdomain SAN dayon **: - Kada kliyente han ACME (
certbot,acme.sh,caddy,cert-manager) mahimo maghangyo hin libre nga ginsasarigan nga sertipiko tikang ha iba nga CA ha sulod hin 30 segundo ( ).--server https://acme.zerossl.com/v2/DV90ohttps://api.buypass.com/acme/directory), bug-os nga pag-agi han limitasyon han rate han Aton Encrypt. - Ha luyo nga bahin, An "5 nga doble nga mga sertipiko kada 7 ka adlaw" nga limitasyon han Let's Encrypt in aplikado la ha eksakto nga pareho nga hugpo han mga Ngaran nga Kaliwan nga Opiko (
SANs). Pagdugang hin usa nga dugang nga balido nga subdomain (-d example.com -d www.example.com -d tlsfix1.example.com) naghihimo hini nga diri-doble nga sertipiko ngan nalabay dayon han limitasyon han rate han Doble nga Sertipiko. - Suhaha kun usa nga DNS .
CAArekord o nabari .DNSSECnagpupugong han imo Awtoridad han Sertipiko nga maghatag hin (CAA record for example.com prevents issuance): - Pakiana an Pagtugot han Awtoridad han Sertipikasyon han imo domain (
CAA) mga rekord:dig +short CAA example.com. Kun an imo DNS mayda .0 issue "sectigo.com"o0 issue "amazon.com"(o ha usa nga domain han kag-anak), Aton Pag-enkript (letsencrypt.org) ngan WaraySSL (sectigo.com) gindidire han RFC 8659 ha paghatag tubtob nga diri ka magdugang .0 issue "letsencrypt.org"ngadto ha imo DNS nga sona. - **Kun pantalan
80(HTTP-01challenge) gin-block han usa nga firewall, CDN, o ISP, o kon an imo web server nagdudumiri pagtikang tungod hin kulang nga cert, gamita .--standaloneo--dns(DNS-01) pagpamatuod **: - Hunong
nginx/apachemadaliay ngan dumalagan .sudo certbot certonly --standalone -d example.com, o paggamit .--manual --preferred-challenges dnsha pagbalidar pinaagi hin pagbutang hin ._acme-challenge.example.comTXTpagrekord ha imo DNS nga konsola nga diri nakakapot han pantalan .80. - Kon an imo site nalingkod ha luyo han Dampog, AWS nga Dampog, o Malaksi, beripikaha kon an natapos nga sertipiko aada ha CDN nga Ligid o ha imo Gintikangan nga Server (
Error 526 Invalid SSL Certificate): - Ha Dampog, kon an imo gintikangan nga sertipiko han serbidor natapos ngan an Dampog nakabutang ha .
Full (Strict), makita han mga gumaramit Sayop 526. Samtang imo gin-aayos an gintikangan nga sertipiko, mahimo mo ibalik an buhi nga trapiko han site ha 5 ka segundo pinaagi han paghimo hin 15-ka-tuig nga ** Sertipiko han CA nga Gintikangan han Cloud ** ha dashboard han Cloudflare (o temporaryo nga pagbalhin han SSL / TLS nga paagi tikang ha 100).Full (Strict)haFullpara han 10 minutos nga ginkikinahanglan ha pagliwan han gintikangan ..pemfile).
Danger
Ayaw gud pagsari pag- "ayos" hin pag-lockout han HSTS pinaagi hin pagbutang Strict-Transport-Security: max-age=0 samtang an imo SSL/TLS nga sertipiko natapos pa: RFC 6797 klaro nga nagdidiri han mga browser ha pagproseso o pagpasidungog hin bisan ano nga Strict-Transport-Security ulohan (lakip max-age=0) ha diri-kasaligan, pirmado ha kalugaringon, o natapos na nga koneksyon han TLS, o ha yano nga . HTTP. Dugang pa, kon an imo domain may-ada . includeSubDomains; preload natirok ngadto sa Chromium / Firefox / Safari static HSTS preload lista, bisan . max-age=0 ha bawbaw hin balido nga koneksyon diri magkukuha han bandera han preload para han mga bisita nga syahan nga higayon. An paagi la ha pagpahiuli han pag-access ngadto hin usa nga domain nga nakandado han HSTS amo an pagbutang hin balido, gintatapod han publiko nga X.509 nga sertipiko ha pantalan 443.
Puno han desisyon: pagdayagnos ngan pag-ayad hin natapos nga produksyon SSL / TLS nga sertipiko¶
Sunda ini nga desisyon nga puno ha pagtudlok han eksakto nga kapakyasan nga layer (CDN Edge kontra.
flowchart TD
Start["Mga gumamit / API nga Nagsusumat NET::ERR_CERT_DATE_WALI o Sayop han Dampog 526"] --> CheckLive["Pagdalagan: openssl s_kliyente -ngalan han serbidor nga domain -sumpay nga domain: 443 | pag-abri x509 -waray -mga petsa -nagpagawas"]
CheckLive --> WhereExpired{"Hain nga Sertipiko an Aktuwal nga Natapos na?"}
WhereExpired -->|"Disk fullchain.pem BALIDO, Apan Live Port 443 EXPIRE na"| StaleDaemon["Daan nga Daemon nga Panumduman o Pagbahin han Sertipiko nga Tindahan: Pagkarga utro han nginx / apache2 / haproxy / postfix, o Pagtukod utro han Gin-usa nga HAProxy PEM Bundle"]
WhereExpired -->|"CDN Sulad Cert (Dampog / Dampog/Madagmit) Natapos na"| CDNFix["Susiha an mga rekord han DNS CAA para ha CDN CA (letsencrypt.org / pki.goog / digicert.com / amazon.com) ngan Toggle Universal SSL o Re-Validate ACM"]
WhereExpired -->|"An gintikangan nga Serber nga bug-os nga kadena.pem ha Disk in EXPIRE na"| DryRun["Pagdalagan: sudo certbot pagbag-o --uga-pagdalagan (o acme.sh --pagbag-o -d domain --debug)"]
DryRun --> WhyFailed{"Kay ano nga waray maglampos an pagbag-o han ACME?"}
WhyFailed -->|"429 Damo hinduro nga mga Hangyo (Nasobrahan an Limitasyon han Rate)"| RateLimit["Pag-agi Dayon: Isyu tikang ha ZeroSSL / Buypass / Mga Serbisyo han Pagsarig han Google O Pagdugang hin 1 nga Dugang nga Subdomain SAN (-d fix1.example.com)"]
WhyFailed -->|"CAA Record Nagpugong sa Pagpagawas o SERVFAIL (DNSSEC)"| CAADNS["Pagdalagan: pag-ukab CAA ehemplo.com -> Pagdugang hin 0 nga isyu 'letsencrypt.org' (ngan 'sectigo.com') o Pag-ayad han Nabali nga DNSSEC DS nga Rekord ha Registrar"]
WhyFailed -->|"Gindumiri an koneksyon / Natapos an oras / 404 ha /.kilalado/acme-ayat/"| HttpBlock["Pantalan 80 Ginbalaong o Pagbag-o nga Loop: Abrihi an TCP nga Pantalan 80 ha Firewall, Igawas an /.kilalado/ tikang ha Auth/Utro nga Pagsurat, o Gamita an DNS-01 nga Hagit ."]
WhyFailed -->|"Kubernetes sertipiko-tagdumala Orden Nadukot ha Ginhuhulat"| K8sFix["Pagdalagan: kubectl paghulagway nga ayat -> Susiha an anotasyon han klase nga Ingress, HTTP01 palisiya han network nga pod nga solver, o Webhook TLS ."]
StaleDaemon --> VerifyAll["Pag-usisa sa Kadena & OCSP Pag-ipit: openssl s_kliyente -sumpay nga domain: 443 -kahimtang"]
CDNFix --> VerifyAll
RateLimit --> VerifyAll
CAADNS --> VerifyAll
HttpBlock --> VerifyAll
K8sFix --> VerifyAll
Hugna 1: Pagsabot kun kay ano nga an HSTS (Strict-Transport-Security) nagigin hinungdan han bug-os nga makuri nga kapakyasan nga pagparong .¶
Kon an usa nga website diri nagamit hin HSTS, an natapos na nga sertipiko nagpapakita hin pahamangno ha butnga (Your connection is not private) nga mayda "Abante -> Padayon ha ehemplo.com (diri talwas)" nga sumpay nga nagtutugot han mga desperado nga mga gumaramit nga mag-klik pinaagi.
Bisan pa, hapit tanan nga moderno nga mga aplikasyon sa web sa produksyon, mga bangko, mga plataporma sa SaaS, ug .dev / .app / .page / .bank mga domain nga hataas nga lebel nagpapatuman HTTP Hugot nga Seguridad ha Pagdara (HSTS, RFC 6797):
1. ** Dinamiko nga HSTS (max-age=31536000): Bisan hin-o nga browser nga binisita ha imo site ha sulod han naglabay nga 365 ka adlaw nag-cache han palisiya . Strict-Transport-Security: max-age=31536000; includeSubDomains. Tubtob nga matapos ito nga timer, an browser nagdidiri han gumaramit ha pag-klik pinaagi hin bisan ano nga sayop han sertipiko (ERR_CERT_DATE_INVALID, ERR_CERT_COMMON_NAME_INVALID, o ERR_CERT_AUTHORITY_INVALID).
2. ** Estatic nga HSTS nga una nga pagkarga (preload lista o . .dev / .app gTLD): Kun an imo domain iginpasa ha hstspreload.org - o kun an imo domain nagamit hin Rehistro-nga-Nakarga nga TLD sugad han . .dev, .app, .page, .new, .chrome, o .bank - kada kopya han Chrome, Edge, Firefox, Safari, ngan Android WebView ha Kalibutan mayda imo domain nga hardcoded ngadto han iya binary komo HSTS-enforced antes an gumaramit bumisita han imo site ha syahan nga higayon.
3. **Kay ano includeSubDomains nagbubungkag han mga gamit ha sulod ngan mga server han pag-establisar **: Kon an imo ugat nga domain (example.com) nagpapadara . Strict-Transport-Security: max-age=31536000; includeSubDomains, kada ubos-domain (vpn.example.com, internal-jira.example.com, printer.example.com) gintrangkahan liwat ha HSTS nga matig-a nga kapakyasan nga paagi.
4. **Kay ano nga mga pag-usa han API ngan Webhook (Stripe, Twilio, Slack, iOS ATS) mapakyas dayon **: Mga kliyente han TLS nga serbidor-ha-servidor (libcurl, Sako requests/urllib3, Node.js undici, Lakat crypto/tls, Java SSLContext) magbuhat istrikto nga RFC 5280 . notAfter balidasyon pinaagi hin kasagaran ngan waray konsepto hin usa nga gumaramit nga "pag-klik-pinaagi." Durante han usa nga pag-undang han TLS, an mga webhook han Stripe ngan Shopify mapapakyas ha paghatag ngan makakasulod ha mga pila han pag-utro han pag-atras.
Hugna 2: An 60-segundo nga pag-eksamin - An sertipiko ba aktuwal nga ginbag-o na ha disk?¶
Ha mga 35 porsyento han produksyon Aton ig-encrypt an mga pag-undang, an sertipiko aktuwal nga ginbag-o ha disk mga semana na an naglabay han 1999. certbot.timer o acme.sh, pero an nagdadalagan nga daemon nagseserbisyo pa han daan nga natapos nga sertipiko tikang ha RAM.
Lakang 1: Ikumpara an buhi nga soket han network kontra han file nga aada ha disk .¶
Pagdalagan han duha nga sugo ha imo 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
Lakang 2: Ayuhon an 4 nga komon nga "Nabag-o ha Disk, Natapos ha RAM" nga mga lit-ag .¶
| Serbisyo / Proksi | Kay Ano nga Padayon Ini nga Nagseserbisyo han Daan nga Natapos na nga Cert Kahuman han Pagbag-o | Eksakto nga Sugo ha Pag-ayad Dayon & Permanente |
|---|---|---|
Nginx / Apache |
certbot gin gamit --webroot o --standalone (o dns-* plugin) imbes nga . --nginx, salit waray katapos han pagbag-o nga kaw-it han pagkarga utro nga nagsenyas han pangulo nga proseso. |
Dalagan . sudo nginx -t && sudo systemctl reload nginx. Dugangi hin permanente nga pagbutang nga kaw-it ha . /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh:systemctl reload nginx (sudo chmod +x an iskrip). |
HAProxy |
HAProxy nagkikinahanglan . fullchain.pem NGAN privkey.pem ginsumpay ngadto hin usa nga gintampo . .pem file (combined.pem). Ginbag-o an Certbot fullchain.pem ngan . privkey.pem, pero . combined.pem amo pa gihapon an 90-ka-adlaw na nga kopya. |
Paghimo utro han bugkos ngan pagkarga utro han 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 |
Nabali nga Sumpay han Sinyalo ha /etc/letsencrypt/live/ |
Mayda mano-mano nga nagkopya . /etc/letsencrypt/archive/example.com/fullchain3.pem ngadto ha /etc/nginx/ssl/ imbes nga magtudlok . nginx.conf ngadto ha . /etc/letsencrypt/live/example.com/fullchain.pem symlink, o Certbot naghimo hin doble nga katulinan nga ginngaranan . /etc/letsencrypt/live/example.com-0001/. |
Dalagan . sudo certbot certificates basi makita kon . example.com-0001 ginlarang. Punto ssl_certificate ha /etc/nginx/ ngadto han mga aktibo . /etc/letsencrypt/live/<lineage>/fullchain.pem symlink ngan utro nga ikarga an Nginx. |
** Sudlanan han Docker (nginx / traefik / postfix)** |
Ginbag-o an tagbalay nga OS . /etc/letsencrypt/archive/example.com/fullchain4.pem ngan nag-update han symlink, pero an surudlan han Docker nag-higot-nga nagbutang han uusa nga file nga inode (nga waray sumpay/ginliwanan) o an proseso han surudlan ha sulod han espasyo han ngaran waray gud makarawat . SIGHUP. |
Ihigot-ibutang an bug-os nga . /etc/letsencrypt direktoryo (waray gud bisan usa .pem file tungod kay an mga target han symlink nagbabag-o ha pagbag-o) ngan padalaganon . docker kill -s HUP <nginx_container>. |
Hugna 3: Pag-ayad han DNS . CAA mga bloke nga rekord ngan . DNSSEC mga kapakyasan ha pagbalidar¶
Kun dumalagan ka . sudo certbot renew --dry-run ngan kitaa:
- 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. Paonan-o an DNS . CAA (RFC 8659) mga bloke sa pagbag-o sa sertipiko¶
An kada pampubliko nga Awtoridad han Sertipiko in legal nga ginkikinahanglan han CA / Browser Forum nga Baseline nga mga Kinahanglanon ha pagpakiana han DNS . CAA mga rekord antes maghatag hin bisan ano nga sertipiko. An CA naglalakat ** tipaigbaw han puno han DNS ** tikang ha . sub.app.example.com -> app.example.com -> example.com:
- Kun . example.com mayda sero CAA mga rekord, bisan hin-o nga CA an gintutugutan nga magpagawas.
- Kun . example.com mayda bisan usa la . CAA rekord (pananglitan, . 0 issue "amazon.com" gindugang awtomatiko kon may tawo nga naghimo hin AWS CloudFront nga panhatag, o . 0 issue "digicert.com"), an kada iba nga Sertipiko nga Awtoridad ha Kalibutan hugot nga igindidiri an paghatag hin sertipiko para han . example.com o bisan hain han mga ubos nga domain hini.
- Dugang pa, kun nangangaro ka hin Sertipiko han Wildcard (*.example.com) ngan an imo domain naghahatag hin kahulogan hin partikular nga . 0 issuewild "ca.example" tag, ginkikita han CA an . issuewild propyedad imbes nga . issue.
Pag-eksamin ngan dayon nga pag-ayad para han . CAA mga bloke:¶
- Susiha
CAAmga rekord ha pareho nga ngaran han host ngan domain han pungkay: - Susiha liwat kon .
sub.example.comamo anCNAMEnga nagtutudlok sa laing domain (Katag RFC 8659, ang mga CA nagsusi sab saCAAmga rekord sa mga target sa CNAME). - Sa dashboard sa imong DNS provider (Dampog, Ruta 53, DNS sa Dampog, Namecheap), ** ayaw pagpara sa naeksister
CAAmga rekord** nga gigamit han imo CDN o AWS ACM; lugod, idugang nga dugang .CAAmga rekord nga nagtutugot Aton Pag-encrypt ngan han imo mga CA nga backup: - (Tigamni: ZeroSSL nagamit
sectigo.comkomo an iya nakatago nga pangilal-an han CAA, ngan an mga Serbisyo han Pagsarig han Google nagamit .pki.goog.)* - Hulat hin 60 ka segundo para han imo awtoridad nga mga servedor han ngaran nga mag-update (
dig @ns1.yourdns.com CAA example.com) ngan dayon pagdalagan utro .sudo certbot renew. Tungod kay an mga CA nagbubuhat hin buhi nga rekursibo nga mga pagbiling nga nalabay han mga pampubliko nga mga cache ha pagsari utro, an paggawas naglalampos dayon.
2. Pag-ayad . DNS problem: SERVFAIL looking up CAA (DNSSEC diri pagkatugbang)¶
Aton ig-encrypt, mga Serbisyo han Pagsarig han Google, ngan ZeroSSL nga hugot nga ipatuman an DNSSEC nga pagbalidar ha ngatanan nga mga pagbiling han DNS (A, AAAA, TXT, ngan . CAA). Bisan kun an usa nga domain mayda waray . CAA rekord, an CA kinahanglan kumarawat hin balido ha kriptograpiya . NOERROR (waray sulod nga baton) o . NXDOMAIN (NSEC / NSEC3 ginpamatud-an nga pagnigar han pag-eksister) nga baton.
- Kon an imo pararehistro han domain may-ada daan nga . DS (Tagpirma sa Delegasyon) rekord human nimo ibalhin ang mga taghatag sa DNS (pananglitan, pagbalhin gikan sa GoDaddy ngadto sa Cloudflare o Ruta 53 nga dili nagpa-disable anay sa DNSSEC), mga rekursibo nga mga resolbar nga nagpatuman sa DNSSEC pagbalik ** .SERVFAIL**.
- Pag-verify ha 5 ka segundo: Pagdalagan delv @8.8.8.8 example.com CAA o pagsari ha . dnsviz.net. Kun . dig @8.8.8.8 example.com mga balik status: SERVFAIL samtang dig +cd @8.8.8.8 example.com (+cd Pag-usisa nga Baldado, pagbaleway han DNSSEC) nagbabalik han imo IP nga adres, an imo kadena han DNSSEC nabari. Pagsulod dayon ha imo rehistro han domain ngan kuhaa an daan na . DS igrekord o kopyaha an yana nga . DS mga parameter tikang ha imo aktibo nga DNS nga tagbalay.
Hugna 4: Pag-agi Aton Pag-encrypt han mga Tubtuban han Rate (429 Too Many Requests) durante han aktibo nga pagparong .¶
Durante han masamok nga panhitabo, agsob nga gin-aandar utro han mga inhinyero an mga surudlan o padalaganon . certbot pauroutro tubtob nga an Aton Pag-encrypt magsalikway han ngatanan nga mga hangyo nga may:
- 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
An mga oras han paghulat in tikang ha 1 ka oras (para han mga pakyas nga mga pagtugot) ngadto ha 7 ka adlaw (168 ka oras) (para han 5 nga doble nga mga sertipiko nga limitasyon). Ayaw paghulat hin 1 ka oras o 7 ka adlaw samtang an imo lugar han produksyon in waray pa. Mayda ka duha nga hul-os nga lehitimo, kadagmitan nga mga solusyon:
Solusyon A (Pinakamaayo): Balhin an Awtoridad han Sertipiko han ACME ngadto ha ZeroSSL, Buypass, o Mga Serbisyo han Pagsarig han Google ha 30 ka segundo¶
Ang protocol sa ACME (RFC 8555) usa ka bukas nga sumbanan. Every mayor browser and operating system trusts ZeroSSL (Sectigo root), Buypass Go SSL (Norwegian CA), ug Google Trust Services (pki.goog) pareho han Aton Pag-enkrip (ISRG Root X1). Waray ha ira an nagpapaangbit hin mga limitasyon han rate ha Aton Pag-enkript.
- **Kapilian 1: Ipagawas dayon pinaagi han
Certbotgamit an Buypass Lakat SSL (Waray kuwenta / EAB nga yawi nga kinahanglanon, 180-adlaw nga balido) **: - (Tigamni: An Buypass nasuporta hin mga sertipiko hin damo nga domain tubtob ha 5 nga SAN, bisan kon diri wildcard
*.example.comsertipiko)* - Kapilian 2: Ipagawas dayon pinaagi han
acme.sh(nga nagsasarang ha ZeroSSL o nagbabalyo hin mga CA nga may .--server): - ** Kapilian 3: Pagpagawas pinaagi han Mga Serbisyo han Pagsarig han Google (
pki.goog) Pampubliko nga ACME**: Ha Google Dampog Pagliaw (o pinaagigcloud publicca external-account-keys create), paghimo hin libre nga Pagbugkos ha Gawas nga Kuwenta ( ).EAB) yawi ha 10 segundo ngan dumalagan:
Solusyon B: Labay an Aton Pag-encrypt "5 nga Doble nga mga Sertipiko" nga limitasyon pinaagi hin pagdugang hin usa nga dugang nga SAN nga ngaran han tagbalay .¶
Aton Encrypt an 168-oras nga duplikado nga limitasyon (too many certificates (5) already issued for this exact set of domains) nagsusubay han ** eksakto nga alpabetiko nga hugpo han mga ngaran han tagbalay han SAN ** ha sertipiko, samtang an kabug-usan nga limitasyon han Rehistrado nga Domain amo an ** 50 nga mga sertipiko kada semana **.
1. Paghimo hin diri nakakadaot nga DNS . A rekord nga nagtutudlok ha pareho nga server: tls-recovery-01.example.com -> <your_server_ip>.
2. Paghangyo han sertipiko nga mayda imo orihinal nga mga domain dugang an bag-o nga ngaran han tagbalay:
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 nag-uupdate han imo naeksister nga . /etc/letsencrypt/live/example.com/ direktoryo ha lugar salit diri ka ngani kinahanglan mag-edit . nginx.conf.) Tungod kay . {example.com, tls-recovery-01.example.com, www.example.com} amo an bag-o nga hugpo hin mga domain, Aton nga Encrypt an nagpapagawas dayon han sertipiko.
Hugna 5: Pag-ayad han mga guba . HTTP-01 mga ayat (Port 80) o gamit an . DNS-01 emerhensya nga balidasyon¶
San-o . certbot renew napapakyas ha . Timeout during connect (likely firewall problem) o Invalid response from http://example.com/.well-known/acme-challenge/...: 404 (o 403), an mga server han pagbalidar han CA diri makakaabot han imo HTTP nga token han ayat ha TCP nga pantalan 80.
Kay ano . HTTP-01 tigda nga nabungkag ha mga server nga nagtrabaho 60 ka adlaw na an naglabay .¶
- ** Grupo sa Seguridad sa Dampog / UFW /
iptablessarado nga Pantalan 80**: Mayda nagpatig-a han firewall basi tugutan la nga pantalan .443(HTTPS), nga nakalimot nga RFC 8555 .HTTP-01an pagbalitar ** pirme nagtitikang ha yano nga HTTP nga pantalan 80 ** (bisan kon masunod ini hin301igdiretso utro ngadto hahttps://ha pantalan443). - ** Nabali nga IPv6 (
AAAA) Rekord : An imo domain mayda pareho nga IPv4 (A) rekord ug usa ka IPv6 (AAAA) rekord. Aton ig-encrypt ** pirme mas karuyag IPv6 (AAAA) una. Kun sayop an imo IPv6 nga adres, ginbara han .ip6tables, o diri nahigot ha Nginx (listen [::]:80;), mga oras han balidasyon bisan kon an IPv4 nagtrabaho hin maopay. - ** Nginx / Aplikasyon nga Mag-agi (
React/Next.js/Django/Rails) mga pag-ulang ./.well-known/acme-challenge/**: An imoserverbloke sa pantalan 80 mga proxy tanan nga trapiko (location / { proxy_pass http://localhost:3000; }) ngadto hin usa nga app ha luyo imbes nga magserbisyo ..well-knowntikang ha disk.
Duha nga dayon nga pag-ayad para han mga naruba . HTTP-01 pagpamatuod¶
Pag-ayad 1: Pagdugang hin dedikado nga hitaas nga prayoridad . /.well-known/acme-challenge/ bloke sa Nginx (Pantalan 80)¶
Siguraduha nga an imo pantalan 80 nga bloke ha 2019. /etc/nginx/sites-enabled/ nagseserbi nga mga token han ACME direkta tikang ha . /var/www/letsencrypt antes hin bisan ano return 301 https://... o proxy_pass direktiba:
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
Pag-ayad 2: Labay an Pantalan 80 ngan mga server han web hin bug-os nga may manwal . DNS-01 (TXT) ayat¶
Kon an pantalan 80 ginbabag-o han usa nga ISP/buyog ha igbaw o an imo parabalanse han karga diri makakaruta . .well-known ha damo nga mga node ha luyo, balidahon pinaagi han DNS ha 2 ka minuto:
Please deploy a DNS TXT record under the name: _acme-challenge.example.com with the following value: XyZ123...
1. Abrihi an imo DNS nga konsola ngan paghimo han . TXT rekord _acme-challenge nga may . 60 ikaduha nga TTL.
2. Hulat ngan beripika ha ikaduha nga bintana han terminal ugsa pinduton an Pagsulod:
3. Makausa . dig nag-imprinta han imo eksakto nga token nga higot, pindota ** Pagsulod ** ha Certbot. An imo sertipiko ngan pribado nga yawi igsusurat ha . /etc/letsencrypt/live/example.com/ dayon. (Kahuman nga masulbad an pagkaparong, ibutang an awtomatiko nga DNS plugin sugad han . python3-certbot-dns-cloudflare o python3-certbot-dns-route53 salit an tidaraon nga mga pagbag-o diri nagkikinahanglan hin manual . TXT pagsulod.)
Hugna 6: Pag-usisa katapos han pagbawi (Bug-os nga Kadena, Pag-stapling han OCSP, ngan Paglimpyo han CDN)¶
Usa nga komon nga sayop katapos han emerhensya nga pagliwan han sertipiko amo an pagbutang . cert.pem (an sertipiko han dahon la) imbes nga . fullchain.pem (an sertipiko han dahon + butnga nga sertipiko han CA). Mga browser ha lamesa (Chrome, Firefox) agsob nga magtabon hin nawawara nga butnga nga sertipiko pinaagi han AIA ( ).Authority Information Access) paglanat o pag-cache han mga butnga, samtang ** .curl, Python, OpenSSL, Android apps, ug mga webhook nga Stripe/Twilio napapakyas dayon uban sa unable to verify the first certificate (SSL certificate problem: unable to get local issuer certificate)**.
- Pag-verify nga an imo server nagpapadara han kumpleto nga Butnga nga Kadena (
fullchain.pem): Pagdalagan:Kinahanglan mo makita an diri maminos duha nga lebel (echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | grep -E "Verify return code|depth="depth=0an imo domain ngan .depth=1an butnga nga CA sugad han .Let's Encrypt E5/R11oZeroSSL RSA Domain Secure Site CA) ngan ** .Verify return code: 0 (ok)**. Kun makita mo .Verify return code: 21 (unable to verify the first certificate), bag-oha an imo config han server han web tikang ha .cert.pemhafullchain.pem. - ** Limpyohi an kadaan nga OCSP nga pagtago nga cache ha Nginx / Apache **:
Kun .
ssl_stapling on;gin-aktibo, ikarga utro an server han web ngan kitaa .openssl s_client -servername example.com -connect example.com:443 -status 2>/dev/null | grep -A 15 "OCSP response". - ** Pag-configure hin damo nga layer nga pagbantay han pagtapos han SSL (Gawas nga TCP nga pagsusi + Prometheus
blackbox_exporter)**: Ayaw gud pagsarig la ha mga pahinumdom han email (Aton Ig-encrypt an mga email nga pahinumdom han pagtapos han pag-undang ha 2025). Bantayi ang buhi nga pantalan 443 saksakan sa gawas (probe_ssl_earliest_cert_expiry - time() < 86400 * 14) ngan ibutang an adlaw-adlaw nga pag-usisa han cron ha .sudo certbot renew --dry-run.
Mga numero han emerhensya ha rehiyon ngan mga patakaran han ahensya¶
Samtang an usa nga natapos na nga sertipiko han TLS kasagaran nga ginsusulbad han mga grupo han inhenyeriya, an usa nga sertipiko nga pag-utod nga nagbubungkag han mga portal han pag-ataman han panlawas, mga webhook han pagpadara hin emerhensya, pagpamatuod ha bangko, o imprastraktura publiko han gobyerno mahimo mag-aghat hin mga pagtrabaho han mga insidente ha regulasyon:
- Estados Unidos ug Kanada:
- **Kinabuhi-Kaluwasan / Klinikal / Pagpadara nga Pagparong **: Pag-dial
911kun an kapakyasan han sertipiko han TLS in nag-uutod han mga komunikasyon han telemetry han pasyente, e-pagreseta, o emerhensya nga pagpadara. - Ahensya han Seguridad ha Siber ngan Imprastraktura (
CISA) (US): Ang federal civilian agencies sa ilarum sa CISA Binding Operational Directive (BOD) 18-01 ug mga kritikal nga mga operator sa imprastraktura nga nakasinati sa wala awtorisado nga pagpagawas sa sertipiko (CA compromise o BGP/DNS hijacking) kinahanglan magreport sa1-844-Say-CISA(1-844-729-2472) o .cisa.gov/report. - Sentro han Kanada para han Seguridad ha Internet: Kontaka
1-833-CYBER-88(1-833-292-3788). - Nag-urosa nga Ginhadian:
- Mga Serbisyo ha Emerhensya: Pagtawag
999kun an pag-undang han TLS in nakakaapekto han mga kritikal nga klinikal nga sistema han NHS o katalwasan han kinabuhi. - Nasudnon nga Sentro han Seguridad ha Cyber (
NCSC: Kun madiskobre mo an diri awtorisado nga sertipiko nga iginpagawas para han imo domain ha Pagklaro han Sertipiko (crt.sh) mga troso nga nagpapakita han pag-agaw han DNS, pagsumat pinaagi han .ncsc.gov.uk. - Uyon han Europa:
- Mga Serbisyo ha Emerhensya: Pagtawag
112ha bug-os nga ngatanan nga mga estado nga miyembro han EU. - NIS2 Direktibo & eIDAS Kwalipikado nga Mga Sertipiko sa Pagpamatuod sa Website (
QWACs): An mga importante ngan importante nga mga entidad ha ilarum han NIS2 Directive nga nakaka-eksperyensya hin maiha nga availability outage o ginkompromiso nga PKI keys in kinahanglan magpahibaro ha ira nasyunal nga CSIRT ha sakob hin 24 oras. - Australia ug New Zealand:
- Mga Serbisyo ha Emerhensya: Pagtawag
000ha Australia o111ha Nueva Zelanda; pakigsumpayan ha ACSC (1300 CYBER1) para han mga insidente ha imprastraktura. - Indya ug Asya-Pasipiko:
- Indya (
CERT-In/ Kontrolador han mga Awtoridad nga Nagsesertipikar .CCA): Pag-dial112para han emerhensya nga pagbaton; pagsumat han PKI nga pagkompromiso o mahinungdanon nga mga pagparong han imprastraktura ngadto ha .incident@cert-in.org.inha sulod hin 6 ka oras.
Agsob igpakiana .¶
Kay ano nga diri ako o an akon mga gumaramit makakag-klik han "Abante -> Padayon ha site (diri talwas)" ha Chrome o Safari durante hini nga pag-undang?¶
Kon an imo domain nagpapadara han . Hugot-Pagbiyahe-Seguridad (HSTS) HTTP nga ulohan - o nagamit hin igbaw nga lebel nga domain sugad han . .dev, .app, .pahina, o .bangko nga hardcoded ngadto han browser HSTS Preload List - RFC 6797 nagkikinahanglan han browser nga trataron an bisan ano nga expired, self-pirmated, o diri matig-a nga sertipiko komo usa nga diri mababawi nga fatal nga sayop. An browser tinuyo nga nagkukuha han "Proceed anyway" nga bypass nga buton agud mapugngan an mga aktibo nga Man-in-the-Middle (MitM) nga mga atake nga maglimbong han mga gumaramit nga mag-klik pinaagi hin usa nga gin-spoof nga sertipiko. Samtang an usa nga parahimo ha Chrome ha lamesa mahimo mag-type han nakatago nga pagkasunod-sunod han keyboard . ini diri talwas direkta ha iskrin han sayop basi malabyan ito ha lokal para ha pagsari, diri mahihimo han tinuod nga mga gumaramit; kinahanglan mo magbutang hin balido nga sertipiko ha pantalan 443.
An Encrypt naton in umundang pagpadara hin mga email hin pahimatngon han pagtapos ngan an akon cert natapos nga waray pahibaro - kay ano nga nahitabo ito?¶
Opisyal nga nagretiro an Let's Encrypt han iya serbisyo han email nga pahibaro han pagtapos ha butnga han 2025 basi maibanan an gastos ha pagtipig han datos ngan tungod kay an awtomatiko nga mga setup han ACME kinahanglan magbantay hin direkta nga panlawas han pagbag-o. Para malikayan an mga sorpresa ha tidaraon, kinahanglan mo bantayan an aktwal nga TLS nga pag-abat hin kamot nga pagtapos han oras ha network gamit an usa nga gawas nga pagbantay han oras han pag-andar (sugad han Prometheus ). itom nga kahon_nga eksportador, Uptime Kuma, Mas Maayo nga Stack, o Datadog Sintetiko nga TLS nga mga tseke) nga nagpapahimatngon ha 21 ka adlaw, 14 ka adlaw, ngan 7 ka adlaw antes . diriKatapos.
Kay ano nga maupay an pagtrabaho han akon site ha Chrome ngan Firefox ha akon laptop, pero napapakyas ha mga telepono nga Android, curl, ngan mga webhook han Guhit katapos ko ig-update an sertipiko?¶
Gin-andam mo an imo web server (ssl_sertipiko ha Nginx o . SSLCsertipiko ngaPayl ha Apache) ha pagtudlok ha . sertipiko (an sertipiko han dahon la) imbes nga . bug-os nga kadena.pem (an sertipiko han dahon nga ginbugkos upod han sertipiko han CA nga Butnga). An mga browser ha kompyansa sugad han Chrome ngan Firefox awtomatiko nga nagkukuha han mga nawawara nga butnga nga mga sertipiko ha luyo gamit an . Pag-access sa Impormasyon sa Awtoridad (AIA) URL ha sulod han imo dahon nga sertipiko, nga nagtatago han imo sayop nga pag-uyon han server. Kondi, . kulo, OpenSSL, ang system trust verifier sa Android, Python, ug mga server sa webhook dili nagbuhat sa paglanat sa AIA ug dayon nga gisalikway ang koneksyon sa . diri nakakakuha hin sertipiko han lokal nga isyu. Tudlok an imo config ha . bug-os nga kadena.pem ngan ikarga utro an imo server.
Paonan-o ko makikita kon an usa nga hacker o rogue nga admin nagpagawas hin diri awtorisado nga SSL nga sertipiko para han akon domain?¶
An kada gintatapod han publiko nga Sertipiko nga Awtoridad in kinahanglan mag-log han kada iginpagawas nga sertipiko ha publiko . Sertipiko nga Pagklaro (CT) mga troso (RFC 6962) antes an mga browser magsarig hini. Abrihi q=%25.imodomain.com o an Pagbantay han Pagklaro han Sertipiko han Cloudflare ha pagkita han kada sertipiko nga iginpagawas para han imo domain ngan han mga subdomain hini. Kon makakita ka hin sertipiko nga iginpagawas hin diri pamilyar nga CA nga waray mo tuguti, susiha dayon an imo DNS registrar ngan may awtoridad nga DNS nga sona para hin diri awtorisado nga mga pagbag-o, bawia an rogue nga sertipiko nga may nagpagawas nga CA, ngan kandadohi an imo DNS nga may . CAA mga rekord (`0 issue "letsencrypt.org"`).
Ano man kon an akon kumpol han Kubernetes cert-manager pakyas pag-renew han aton Ingress nga sertipiko ngan naka-stuck an Order ha 2019. Pending?¶
Dalagan . kubectl makakuha hin mando, ayat -A ngan katapos . kubectl paghulagway han ayat . Sa 90 porsyento sa Kubernetes . tagdumara han sertipiko mga pagparong, an . cm-acme-http-masulbad-* temporaryo nga pod ang nadalagan, apan bisan (1) ang Ingress rekurso adunay kadaan nga klase nga ingress nga anotasyon salit ang ruta sa solver wala gud gidukot sa imong load balancer, (2) usa ka Kubernetes . Patakaran han Network amo an pagpugong han pagsulod han trapiko ngadto ha solver nga pod ha pantalan 8089, o (3) usa nga isyu nga hair-pin NAT / split-horizon DNS nagpupugong . tagdumara han sertipiko's nga sulod nga pag-usisa ha kalugaringon tikang ha pag-abot han imo publiko nga IP nga parabalanse han karga (maaayos pinaagi han pag-agi -dns01-rekursibo-ngalan nga mga serbidor = 8.8.8.8.8:53,1.1.1.1:53 ngadto ha . tagdumara han sertipiko pagbutang args).
Pwede ko ba kopyahon an akon . /etc/letsencrypt/ folder ngadto hin bag-o nga server durante hin emerhensya nga pagbalhin imbes nga magpagawas utro?¶
Oo. Kon an imo panguna nga serbidor namatay ngan nabalhin ka ngadto hin bag-o nga serbidor samtang ginlilimitahan an rate han Aton Pag-encrypt, tipigi an mga symlink kon nagkokopya . / ug iba pa / pag-enkripto / gamit an tar -czpf letsencrypt_backup.tar.gz / etc / letsencrypt (ayaw gud paggamit hin yano scp -r, nga nagbabag-o hin mga sumpay ha simbolo ha . / ug iba pa / pag-encrypt / buhi / ngadto ha doble nga mga static nga mga file ngan nagbubungkag han tidaraon nga mga pagbag-o). Kuhaa ito nga arkibo ngadto ha bag-o nga server (`sudo tar -xzpf letsencrypt_backup.tar.gz -C /`), tudlok nga Nginx/Apache ngadto ha . `/etc/letsencrypt/live/domain/fullchain.pem`, ngan an imo naeksister nga sertipiko magtrabaho dayon ha bag-o nga IP address.
Mga may kalabutan nga giya .¶
- Pag-agaw han ngaran han domain, natapos nga DNS, ngan pagkuha han website
- Server nga disk 100% nga puno (0 nga mga byte nga libre): database ug zero-espasyo nga pagbawi .
- Google Workspace o Microsoft 365 kasadya nga domain admin lockout ug DNS TXT rescue
- Krisis han pag-abiabi han web, pagbalhin, ngan pagpahiuli han backup
- Pag-agaw han DNS, pag-ayos utro han WAN han router han ISP, ngan paglimbong han bihag nga portal
- Mga numero han emerhensya pinaagi han nasud
Mga surok ngan opisyal nga giya .¶
- Puso sa Buhat sa Inhenyeriya sa Internet (
IETF): RFC 8555 (Awtomatiko nga Sertipiko nga Pagdumala Kalibungan / ACME), RFC 8659 (DNS Sertipikasyon nga Awtoridad nga Pagtugot / CAA), ug RFC 6797 (HTTP Hugot nga Transporte nga Seguridad / HSTS). - Nasodnon nga Instituto sa mga Sumbanan ug Teknolohiya (
NIST) (Estados Unidos): *Espesyal nga Publikasyon 800-52 Reb. - Grupo sa Pagsaliksik sa Seguridad sa Internet (
ISRG/ Aton ig-encrypt an Opisyal nga Dokumento): * Pagreperensya han mga Limitasyon han Rate, Mga Lagda han Sertipiko nga Doble, ngan Pagsulbad han Problema han Ayat han ACME *. - Ahensya sa Seguridad sa Siber ug Imprastraktura (
CISA) (Estados Unidos): Binding Operational Directive 18-01: Pagpauswag sa Email ug Web Seguridad (HTTPS ug HSTS Implementation Guidance). - Nasudnon nga Sentro han Seguridad ha Cyber (
NCSC) (United nga Ginhadian): Paggamit han TLS ha Pagpanalipod han Datos hin Hingpit ha Giya ha Pagbantay han Pag-agi ngan Sertipiko han Pagkaklaro.