Nájdená príčina problémov dehydrated s ACME servermi, inými ako LetsEncrypt

Sebastian Krause určil zdroj zvláštnej nekompatibility so službou Obísť skript dehydrated, ktorý sa používa na automatizáciu získavania TLS certifikátov pomocou protokolu ACME. S Bypass fungujú aj referenčný klient a uacme, ale nie dehydrated (presnejšie, ten tiež s niektorými obchádzkami fungoval, ale výhradne v režime dns-1).

Príčina bola banálna: namiesto toho, aby správne parsoval odpoveď vo formáte JSON, autor dehydrated využil špeciálnosť formátovania konkrétneho JSON výstupu od služby Let’s Encrypt a vykonával analýzu pomocou regulárneho výrazu. Ale Bypass vracia nezrozumiteľne formátovaný, ale minifikovaný JSON, a použitý regulárny výraz nefungoval. Uvedený prístup nevylučuje vznik problémov aj s LetsEncrypt, ak táto služba v budúcnosti bez varovania zmení formát výstupu, pričom zostane v rámci oficiálneho protokolu.

Pri diskusii o probléme bolo navrhnuté použiť externý JSON parser, ako napríklad json_pp alebo jq (pridať do pipu ‘jq -r «.authorizations | .[]»‘ pre správnu analýzu).
Nevýhodou takého prístupu je rozmazanie myšlienky obísť sa minimálnymi a ľahko overiteľnými prostriedkami, ako aj problémy s spracovaním chýb.

Autor projektu dehydrated (projekt bol nedávno predaný spoločnosti Apilayer GmbH) súhlasil, že analýza JSON je veľkým problémom, ale pridávanie externých parserov nepovažuje za dobrý nápad, keďže jednou z kľúčových výhod skriptu je absencia závislosti na externých komponentoch. V súčasnosti je zaneprázdnený, ale dúfa, že v najbližších dňoch sa bude môcť venovať riešeniu problému. V pláne je prepracovanie parseru JSON alebo integrácia hotového parseru v shelli — JSON.sh.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster