LetsEncrypt-ээс бусад ACME серверүүдийн усгүйжүүлэлтийн шалтгааныг олж мэдэв

Себастьян Краузе тодорхойлогдсон үйлчилгээтэй хачирхалтай үл нийцэх эх үүсвэр Буухиа скрипт хуурайшсан, ACME протоколыг ашиглан TLS гэрчилгээг хүлээн авах үйлдлийг автоматжуулахад ашигладаг. Лавлагаа клиент болон uacme хоёулаа Bypass-тай ажилладаг, гэхдээ усгүйжүүлээгүй (илүү нарийвчлалтай, энэ нь зарим тойрон гарах арга замуудтай, гэхдээ зөвхөн dns-1 горимд ажилласан).

Шалтгаан нь өчүүхэн байсан: хуурайшуулсан програмын зохиогч хариултыг JSON форматаар бодитоор задлан шинжлэхийн оронд Let's Encrypt үйлчилгээний JSON гаралтын форматын функцийг ашиглаж, ердийн илэрхийлэл ашиглан задлан шинжилсэн. Гэхдээ Bypass нь сайн форматтай биш, харин жижигрүүлсэн JSON, ашигласан файлуудыг буцаана тогтмол илэрхийлэл ажиллаагүй. Энэхүү арга нь LetsEncrypt-тэй холбоотой асуудлуудыг үгүйсгэхгүй бөгөөд хэрэв энэ үйлчилгээ нь албан ёсны протоколын хүрээнд бүрэн хэвээр үлдэж, ирээдүйд мэдэгдэл өгөх форматыг өөрчилдөг.

Асуудлыг хэлэлцэх үед гадаад JSON задлагчийг ашиглахыг санал болгосон json_pp буюу jq (зөв задлан шинжлэхийн тулд хоолойд 'jq -r ".authorizations | .[]"' нэмнэ).
Энэ аргын сул тал нь хамгийн бага, хялбар шалгах боломжтой хэрэгслийг ашиглах санааг шингэлэх, түүнчлэн алдаатай ажиллахад бэрхшээлтэй байдаг.

Хуурайшсан төслийн зохиогч (төсөл саяхан болсон зарагдсан Apilayer GmbH) зөвшөөрсөн, JSON-г задлан шинжлэх нь маш том асуудал боловч скриптийн гол давуу талуудын нэг нь гадны хамааралтай холбоогүй байдаг тул гадаад задлан шинжлэгч нэмэх нь тийм ч сайн санаа биш гэж үздэг. Тэрээр одоогоор завгүй байгаа ч ойрын хэдэн хоногт асуудлыг шийдвэрлэхэд анхаарлаа хандуулна гэж найдаж байна. Төлөвлөгөөнд JSON задлагчийг дахин боловсруулах эсвэл бүрхүүлийн хэлэнд бэлэн задлан шинжлэгчийг нэгтгэх зэрэг багтана. JSON.sh.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх