Identificata la causa dei problemi di dehydrated con server ACME diversi da LetsEncrypt

Sebastian Krause ha identificato la fonte di una strana incompatibilità con il servizio Bypass di uno script dehydrated, utilizzato per automatizzare l'ottenimento dei certificati TLS tramite il protocollo ACME. Con Bypass funzionano sia il client di riferimento che uacme, ma non dehydrated (in effetti, anche lui ha funzionato con alcune manovre, ma esclusivamente in modalità dns-1).

La causa si è rivelata banale: invece di analizzare realmente la risposta in formato JSON, l'autore di dehydrated ha utilizzato una caratteristica di formattazione di un particolare output JSON dal servizio Let's Encrypt e ha effettuato l'analisi tramite espressioni regolari. Ma Bypass restituisce un JSON minificato, non ben formattato, e l'espressione regolare utilizzata non ha funzionato. L'approccio specificato non esclude l'insorgere di problemi anche con LetsEncrypt, se in futuro questo servizio dovesse cambiare il formato di emissione senza preavviso, rimanendo tuttavia perfettamente nei limiti del protocollo ufficiale. non ha funzionato. L'approccio indicato non esclude la possibilità di problemi con LetsEncrypt, se questo servizio in futuro cambiasse senza preavviso il formato di emissione, rimanendo comunque entro i limiti del protocollo ufficiale.

Durante la discussione del problema è stato proposto di utilizzare un parser JSON esterno, come json_pp o jq (aggiungi nel pipe ‘jq -r «.authorizations | .[]»‘ per un'analisi corretta).
Un limite di questo approccio è la confusione sull'idea di utilizzare strumenti minimi e facilmente verificabili, oltre ai problemi di gestione degli errori.

L'autore del progetto dehydrated (il progetto è stato recentemente venduto all'azienda Apilayer GmbH) ha riconosciuto, che l'analisi JSON rappresenta un grande problema, ma non considera una buona idea aggiungere parser esterni, poiché uno dei principali vantaggi dello script è l'assenza di dipendenze esterne. Attualmente è occupato, ma spera di dedicare attenzione alla risoluzione del problema nei prossimi giorni. Tra i piani c'è la revisione del parser JSON o l'integrazione di un parser pronto in linguaggio shell — JSON.sh.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster