Հայտնաբերվել է ջրազրկված խնդիրների պատճառը ACME սերվերների հետ, բացի LetsEncrypt-ից

Սեբաստիան Կրաուզե սահմանված ծառայության հետ տարօրինակ անհամատեղելիության աղբյուր շրջանց սցենար ջրազրկված, օգտագործվում է TLS վկայագրերի ստացումն ավտոմատացնելու համար՝ օգտագործելով ACME արձանագրությունը: Ե՛վ տեղեկատու կլիենտը, և՛ uacme-ն աշխատում են Bypass-ով, բայց ոչ ջրազրկված (ավելի ճիշտ՝ այն նաև որոշ լուծումներով է աշխատել, բայց բացառապես dns-1 ռեժիմով):

Պատճառն աննշան էր. JSON ձևաչափով պատասխանն իրական վերլուծելու փոխարեն, dehydrated-ի հեղինակը օգտագործել է Let's Encrypt ծառայության հատուկ JSON ելքի ձևաչափման հատկանիշը և վերլուծել այն՝ օգտագործելով սովորական արտահայտություն: Բայց Bypass-ը վերադարձնում է ոչ թե գեղեցիկ ձևաչափված, այլ փոքրացված JSON և օգտագործված կանոնավոր արտահայտություն չի աշխատում. Այս մոտեցումը չի բացառում LetsEncrypt-ի հետ կապված խնդիրները, եթե այս ծառայությունն ապագայում առանց նախազգուշացման փոխի թողարկման ձևաչափը՝ միևնույն ժամանակ ամբողջությամբ մնալով պաշտոնական արձանագրության շրջանակներում:

Խնդիրը քննարկելիս առաջարկվեց օգտագործել արտաքին JSON վերլուծիչ, ինչպիսին է json_pp կամ jq (ճիշտ վերլուծության համար խողովակին ավելացրեք 'jq -r ".authorizations | .[]"'):
Այս մոտեցման թերությունը նվազագույն և հեշտությամբ ստուգելի միջոցների կիրառման գաղափարի նոսրացումն է, ինչպես նաև սխալների հետ կապված խնդիրները:

Ջրազրկված նախագծի հեղինակ (նախագիծը վերջերս էր վաճառվել է Apilayer GmbH) համաձայնեց, որ JSON-ի վերլուծությունը մեծ խնդիր է, բայց նա արտաքին վերլուծիչներ ավելացնելը լավ գաղափար չի համարում, քանի որ սցենարի հիմնական առավելություններից մեկը արտաքին կախվածությունների հետ կապ չունենալն է։ Նա ներկայումս զբաղված է, սակայն հույս ունի առաջիկա մի քանի օրվա ընթացքում իր ուշադրությունը հատկացնել խնդրի լուծմանը։ Ծրագրերը ներառում են JSON վերլուծիչի վերամշակում կամ պատրաստի վերլուծիչի ինտեգրում shell լեզվով. JSON.sh.

Source: opennet.ru

Добавить комментарий