Ugotovljen vzrok težav dehydrated z ACME strežniki, drugimi kot LetsEncrypt

Sebastian Krause opredelil izvor čudne nespojivosti sa uslugom Zaobići skriptu dehydrated, koja se koristi za automatizaciju dobijanja TLS sertifikata putem ACME protokola. Sa Bypass rade i referentni klijent i uacme, ali ne dehydrated (tačnije, on je takođe radio uz neke zaobilazne maneuvre, ali isključivo u dns-1 režimu).

Razlog se pokazao banalnim: umesto da zaista analizira odgovor u JSON formatu, autor dehydrated je koristio posebnost formatiranja određenog JSON izlaza od usluge Let’s Encrypt i izvršio analizu pomoću regularnog izraza. Ali Bypass vraća ne lepo formatiran, već minifikovan JSON, i korišćeni regularni izraz nije radio. Ovaj pristup ne isključuje mogućnost javljanja problema i sa LetsEncrypt, ako ova usluga u budućnosti bez upozorenja promeni format izlaza, ostajući pritom u potpunosti u okviru zvaničnog protokola.

Tokom rasprave o problemu predloženo je koristiti spoljni JSON parser, kao što je json_pp ili jq (dodati u pipe ‘jq -r «.authorizations | .[]»‘ za pravilnu analizu).
Nedostatak ovakvog pristupa je zamagljivanje ideje da se koristi minimalna i lako verifikovana sredstva, kao i problemi sa obradom grešaka.

Autor projekta dehydrated (projekat je nedavno prodat kompaniji Apilayer GmbH) pristao, da je analiza JSON-a veliki problem, ali dodavanje spoljnih parsera ne smatra dobrom idejom, jer jedna od ključnih prednosti skripte je odsustvo zavisnosti od spoljašnjih resursa. Trenutno je zauzet, ali se nada da će u narednih nekoliko dana obratiti pažnju na rešavanje problema. U planu je prepravka JSON parsera ili integracija gotovog parsera na jeziku shell — JSON.sh.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster