Firefox дээр саяхан нэмэлтүүдийг идэвхгүй болгосон техникийн дэлгэрэнгүй мэдээлэл

Анхаарна уу Орчуулагч: Уншигчдын тав тухыг хангах үүднээс огноог Москвагийн цагаар өгсөн болно

Бид саяхан нэмэлт хэрэгсэлд гарын үсэг зурахад ашигладаг гэрчилгээнүүдийн аль нэгнийх нь хугацаа дуусаагүй байна. Энэ нь хэрэглэгчдэд зориулсан нэмэлтүүдийг идэвхгүй болгосон. Асуудлыг голчлон зассан болохоор болсон үйл явдал, хийсэн ажлынхаа талаар дэлгэрэнгүй хуваалцахыг хүсч байна.

Суурь мэдээлэл: нэмэлт, гарын үсэг

Хэдийгээр олон хүмүүс хөтөчийг хайрцагнаас нь ашигладаг ч Firefox нь "нэмэлтүүд" гэж нэрлэгддэг өргөтгөлүүдийг дэмждэг. Тэдгээрийн тусламжтайгаар хэрэглэгчид хөтөч дээр янз бүрийн функцуудыг нэмж өгдөг. 15 мянга гаруй нэмэлтүүд байдаг: -ээс зар хаах нь хэдэн зуун таб удирдах.

Суулгасан нэмэлтүүд байх ёстой цахим гарын үсэг, энэ нь хэрэглэгчдийг хортой нэмэлтүүдээс хамгаалдаг бөгөөд Mozilla-ийн ажилтнууд нэмэлтүүдийг хамгийн бага хянаж үзэхийг шаарддаг. Бид 2015 онд тулгараад байгаа учраас ийм шаардлагыг тавьсан ноцтой асуудлууд хортой нэмэлтүүдтэй.

Энэ нь хэрхэн ажилладаг вэ: Firefox-ын хуулбар бүр "үндэс сертификат" агуулдаг. Энэ "үндэс"-ийн түлхүүр нь хадгалагдсан байдаг Техник хангамжийн аюулгүй байдлын модуль (HSM)сүлжээний хандалтгүйгээр. Хэдэн жил тутамд энэ түлхүүрээр шинэ "завсрын гэрчилгээ" гарын үсэг зурдаг бөгөөд үүнийг нэмэлт програмуудад гарын үсэг зурахад ашигладаг. Хөгжүүлэгч нэмэлт оруулах үед бид түр зуурын "төгсгөлийн гэрчилгээ" үүсгэж, завсрын гэрчилгээ ашиглан гарын үсэг зурдаг. Дараа нь нэмэлт нь өөрөө эцсийн гэрчилгээнд гарын үсэг зурна. Схемийн хувьд иймэрхүү харагдаж байна.

Гэрчилгээ бүр нь "субъект" (гэрчилгээг хэнд олгосон) болон "гаргагч" (гэрчилгээг олгосон) байгааг анхаарна уу. Үндсэн гэрчилгээний хувьд "сэдэв" = "гаргагч", харин бусад гэрчилгээний хувьд гэрчилгээ гаргагч нь түүнд гарын үсэг зурсан эх гэрчилгээний субьект юм.

Чухал зүйл: Нэмэлт бүр нь өвөрмөц төгсгөлийн гэрчилгээгээр гарын үсэг зурдаг боловч бараг үргэлж эдгээр төгсгөлийн гэрчилгээнүүд нь ижил завсрын гэрчилгээгээр гарын үсэг зурдаг.

Зохиогчийн тэмдэглэл: Үл хамаарах зүйл бол маш хуучин нэмэлтүүд юм. Тэр үед янз бүрийн завсрын гэрчилгээ ашигладаг байсан.

Энэхүү завсрын гэрчилгээ нь асуудал үүсгэсэн: гэрчилгээ бүр тодорхой хугацаанд хүчинтэй байна. Энэ хугацаанаас өмнө эсвэл дараа нь гэрчилгээ хүчингүй бөгөөд хөтөч энэ гэрчилгээгээр гарын үсэг зурсан нэмэлтүүдийг ашиглахгүй. Харамсалтай нь завсрын гэрчилгээний хугацаа тавдугаар сарын 4-ний өглөөний 4 цагт дууссан.

Үр дагавар нь шууд гарч ирээгүй. Firefox нь суулгасан нэмэлтүүдийн гарын үсгийг байнга шалгадаггүй, гэхдээ ойролцоогоор 24 цаг тутамд нэг удаа шалгадаг бөгөөд баталгаажуулах хугацаа нь хэрэглэгч бүрийн хувьд хувь хүн байдаг. Үүний үр дүнд зарим хүмүүс тэр даруй асуудалтай тулгардаг бол зарим нь хожим нь асуудалтай тулгардаг. Гэрчилгээний хугацаа дуусах үед бид асуудлын талаар мэдэж, тэр даруй шийдлийг хайж эхэлсэн.

Хохирлыг бууруулах

Бид юу болсныг мэдсэнийхээ дараа нөхцөл байдлыг улам дордуулахгүй байхыг хичээсэн.

Нэгдүгээрт, тэд шинэ нэмэлтүүдийг хүлээн авч, гарын үсэг зурахаа больсон. Үүний тулд хугацаа нь дууссан гэрчилгээ ашиглах нь утгагүй юм. Эргээд бодоход бид бүгдийг байгаагаар нь үлдээж болох байсан гэж хэлэх байх. Бид одоо нэмэлт тэжээл хүлээн авч эхэлсэн.

Хоёрдугаарт, тэд гарын үсгийг өдөр бүр шалгахаас сэргийлсэн засварыг тэр даруй илгээсэн. Тиймээс бид сүүлийн XNUMX цагийн дотор хөтөч нь нэмэлтүүдийг шалгаж амжаагүй байгаа хэрэглэгчдийг аварсан. Энэ засварыг одоо цуцалсан бөгөөд шаардлагагүй болсон.

Зэрэгцээ ажиллагаа

Онолын хувьд асуудлын шийдэл нь энгийн мэт харагдаж байна: шинэ хүчинтэй завсрын гэрчилгээ үүсгэж, нэмэлт болгонд дахин гарын үсэг зурна уу. Харамсалтай нь энэ ажиллахгүй:

  • Бид 15 мянган нэмэлт програмыг нэг дор дахин хийх боломжгүй, систем нь ийм ачаалалд зориулагдаагүй болно
  • Нэмэлтүүдэд гарын үсэг зурсны дараа шинэчлэгдсэн хувилбаруудыг хэрэглэгчдэд хүргэх шаардлагатай. Ихэнх нэмэлтүүдийг Mozilla серверээс суулгасан тул Firefox дараагийн XNUMX цагийн дотор шинэчлэлтүүдийг олох болно, гэхдээ зарим хөгжүүлэгчид гарын үсэг зурсан нэмэлтүүдийг гуравдагч талын сувгаар түгээдэг тул хэрэглэгчид ийм нэмэлтүүдийг гараар шинэчлэх шаардлагатай болдог.

Үүний оронд бид бүх хэрэглэгчдэд ямар нэгэн арга хэмжээ авах шаардлагагүйгээр хүрч чадах засварыг хөгжүүлэхийг хичээсэн.

Маш хурдан хугацаанд бид хоёр үндсэн стратегид хүрсэн бөгөөд бид үүнийг зэрэгцүүлэн ашигласан.

  • Сертификат хүчинтэй байх хугацааг өөрчлөхийн тулд Firefox-г шинэчилнэ үү. Энэ нь одоо байгаа нэмэлтүүдийг дахин ид шидтэй болгох боловч Firefox-ын шинэ хувилбарыг гаргаж, хүргэх шаардлагатай болно
  • Хүчинтэй гэрчилгээ үүсгээд Firefox-д хүчинтэй хугацаа нь дууссан гэрчилгээний оронд үүнийг хүлээж авахыг ямар нэгэн байдлаар итгээрэй

Бид эхлээд эхний хувилбарыг ашиглахаар шийдсэн бөгөөд энэ нь нэлээд үр дүнтэй харагдаж байна. Өдрийн төгсгөлд тэд хоёр дахь засварыг (шинэ гэрчилгээ) гаргасан бөгөөд бид үүнийг дараа нь ярих болно.

Сертификат солих

Дээр дурдсанчлан, шаардлагатай байсан:

  • шинэ хүчинтэй гэрчилгээ үүсгэх
  • Firefox дээр алсаас суулгана уу

Энэ нь яагаад ажилладагийг ойлгохын тулд нэмэлт баталгаажуулалтын үйл явцыг нарийвчлан авч үзье. Нэмэлт нь өөрөө гарын үсэг зурахад ашигладаг гэрчилгээний гинжин хэлхээг багтаасан файлуудын багц хэлбэрээр ирдэг. Үүний үр дүнд хөтөч нь Firefox-д суулгасан эх сертификатыг мэддэг бол нэмэлт програмыг шалгаж болно. Гэхдээ бид аль хэдийн мэдэж байгаачлан завсрын гэрчилгээний хугацаа дууссан тул нэмэлтийг шалгах боломжгүй юм.

Firefox нэмэлтийг шалгах гэж оролдох үед энэ нь зөвхөн нэмэлт нэмэлт дотор байгаа гэрчилгээг ашиглахаар хязгаарлагдахгүй. Үүний оронд хөтөч нь төгсгөлийн гэрчилгээнээс эхлээд эх үндэс рүү орох хүртэл хүчинтэй гэрчилгээний хэлхээ үүсгэхийг оролддог. Эхний түвшинд бид эцсийн гэрчилгээнээс эхэлж, дараа нь эцсийн гэрчилгээ гаргагч (өөрөөр хэлбэл завсрын гэрчилгээ) болох гэрчилгээг олдог. Ихэнхдээ энэ завсрын гэрчилгээг нэмэлтээр нийлүүлдэг боловч хөтчийн хадгалалтын ямар ч гэрчилгээ нь энэ завсрын гэрчилгээ болж чаддаг. Хэрэв бид гэрчилгээний дэлгүүрт шинэ хүчинтэй гэрчилгээг алсаас нэмж чадвал Firefox үүнийг ашиглахыг оролдох болно. Шинэ гэрчилгээ суулгахаас өмнөх болон дараах нөхцөл байдал.

Шинэ гэрчилгээг суулгасны дараа Firefox нь гэрчилгээний хэлхээг баталгаажуулах хоёр сонголттой болно: хуучин хүчингүй гэрчилгээ (энэ нь ажиллахгүй) эсвэл шинэ хүчинтэй гэрчилгээ (энэ нь ажиллах болно). Шинэ гэрчилгээ нь хуучин гэрчилгээтэй ижил сэдвийн нэр, нийтийн түлхүүрийг агуулсан байх нь чухал тул эцсийн гэрчилгээнд түүний гарын үсэг хүчинтэй байх болно. Firefox нь тохирохыг нь олох хүртлээ хоёр сонголтыг туршиж үзэх хангалттай ухаалаг тул нэмэлтүүд дахин шалгагдана. Энэ нь бидний TLS гэрчилгээг баталгаажуулахад ашигладаг логик юм гэдгийг анхаарна уу.

Зохиогчийн тэмдэглэл: WebPKI-г мэддэг уншигчид хөндлөн гэрчилгээ нь яг адилхан ажилладаг гэдгийг анзаарах болно.

Энэ засварын хамгийн сайн зүйл бол одоо байгаа нэмэлтүүд дээр дахин гарын үсэг зурах шаардлагагүй юм. Хөтөч шинэ гэрчилгээг хүлээн авмагц бүх нэмэлтүүд дахин ажиллах болно. Үлдсэн асуудал бол шинэ гэрчилгээг хэрэглэгчдэд (автоматаар болон алсаас) хүргэх, мөн Firefox-ыг идэвхгүй болгосон нэмэлтүүдийг дахин шалгах явдал юм.

Норманди ба судалгааны систем

Хачирхалтай нь энэ асуудлыг "систем" хэмээх тусгай нэмэлтээр шийддэг. Судалгаа явуулахын тулд бид судалгааг хэрэглэгчдэд хүргэдэг Норманди хэмээх системийг боловсруулсан. Эдгээр судалгаанууд нь хөтөч дээр автоматаар хийгддэг бөгөөд Firefox-ийн дотоод API-д хандах хандалтыг сайжруулсан. Судалгаа нь гэрчилгээний дэлгүүрт шинэ гэрчилгээ нэмэх боломжтой.

Зохиогчийн тэмдэглэл: Бид ямар нэгэн онцгой эрх бүхий гэрчилгээ нэмэхгүй; Энэ нь үндсэн сертификатаар гарын үсэг зурсан тул Firefox үүнд итгэдэг. Бид үүнийг зүгээр л хөтөч ашиглаж болох гэрчилгээний санд нэмдэг.

Тиймээс шийдэл нь судалгаа бий болгох явдал юм:

  • хэрэглэгчдэд зориулан бүтээсэн шинэ гэрчилгээг суулгаж байна
  • хөтчийг идэвхгүй болгосон нэмэлтүүдийг дахин шалгахыг албаддаг

"Гэхдээ хүлээгээрэй" гэж та "нэмэлтүүд ажиллахгүй байна, би системийн нэмэлтийг хэрхэн эхлүүлэх вэ?" Шинэ гэрчилгээгээр гарын үсэг зурцгаая!

Бүгдийг нь нийлүүлээд... яагаад ийм удаж байгаа юм бэ?

Тиймээс төлөвлөгөө: хуучин гэрчилгээг солихын тулд шинэ гэрчилгээ гаргаж, системийн нэмэлтийг үүсгэж, Нормандиар дамжуулан хэрэглэгчдэд суулгах. Асуудал нь миний хэлсэнчлэн 4-р сарын 4-ний 00:12 цагт эхэлсэн бөгөөд тэр өдрийн 44:9 цагт буюу 6 цаг хүрэхгүй хугацааны дараа бид Норманди руу засвар илгээсэн. Бүх хэрэглэгчдэд хүрэхийн тулд дахиад 12-XNUMX цаг зарцуулсан. Муу ч биш, гэхдээ Twitter-ийн хүмүүс яагаад бид илүү хурдан ажиллаж чадаагүй юм бэ гэж асууж байна.

Нэгдүгээрт, шинэ завсрын гэрчилгээ олгоход цаг хугацаа зарцуулсан. Дээр дурдсанчлан, үндсэн гэрчилгээний түлхүүр нь техник хангамжийн аюулгүй байдлын модульд офлайнаар хадгалагддаг. Энэ нь аюулгүй байдлын үүднээс сайн, учир нь үндэс нь маш ховор хэрэглэгддэг тул найдвартай хамгаалагдсан байх ёстой, гэхдээ та яаралтай шинэ гэрчилгээнд гарын үсэг зурах шаардлагатай үед бага зэрэг эвгүй байдаг. Манай нэг инженер HSM хадгалах байгууламж руу явах шаардлагатай болсон. Дараа нь зөв гэрчилгээ олгох оролдлого бүтэлгүйтсэн бөгөөд оролдлого бүрт нэг эсвэл хоёр цаг зарцуулсан.

Хоёрдугаарт, системийн нэмэлтийг боловсруулахад нэлээд хугацаа шаардагдана. Үзэл баримтлалын хувьд энэ нь маш энгийн, гэхдээ энгийн програмууд хүртэл анхаарал халамж шаарддаг. Бид нөхцөл байдлыг улам дордуулахгүй байхыг хүсч байсан. Судалгааг хэрэглэгчдэд илгээхээс өмнө туршиж үзэх шаардлагатай. Нэмж дурдахад, нэмэлт дээр гарын үсэг зурах ёстой боловч манай нэмэлт гарын үсэг зурах систем идэвхгүй болсон тул бид тойрон гарах арга замыг хайж олох хэрэгтэй болсон.

Эцэст нь бид судалгаагаа илгээхэд бэлэн болмогц байрлуулалтад цаг хугацаа шаардагдана. Хөтөч нь Нормандын шинэчлэлтийг 6 цаг тутамд шалгадаг. Бүх компьютер байнга асаалттай, интернетэд холбогддоггүй тул засварыг хэрэглэгчдэд түгээхэд цаг хугацаа шаардагдана.

Эцсийн алхамууд

Судалгаа нь ихэнх хэрэглэгчдийн асуудлыг шийдэх ёстой боловч хүн бүрт боломжгүй юм. Зарим хэрэглэгчид тусгай арга барил шаарддаг:

  • судалгаа эсвэл телеметрийг идэвхгүй болгосон хэрэглэгчид
  • судалгааг огт дэмждэггүй Android хувилбарын (Fennec) хэрэглэгчид
  • Телеметрийг идэвхжүүлэх боломжгүй аж ахуйн нэгжүүдэд Firefox ESR-ийн захиалгат бүтээгдсэн хэрэглэгчид
  • Манай нэмэлт суулгалтын систем нь ийм прокситэй ажиллахгүй товчлуурын товчлуурыг ашигладаг тул MitM проксины ард сууж буй хэрэглэгчид.
  • Firefox-ийн судалгааг дэмждэггүй хуучин хувилбаруудын хэрэглэгчид

Бид сүүлийн категорийн хэрэглэгчдийн талаар юу ч хийж чадахгүй - тэд Firefox-ын шинэ хувилбар руу шинэчлэх хэрэгтэй, учир нь хуучирсан нь засварлагдаагүй ноцтой сул талуудтай. Зарим хүмүүс хуучин нэмэлтүүдийг ажиллуулахыг хүсдэг учраас Firefox-ын хуучин хувилбарууд дээр үлддэгийг бид мэднэ, гэхдээ хуучин нэмэлтүүдийн ихэнх нь хөтчийн шинэ хувилбарт аль хэдийн шилжсэн байна. Бусад хэрэглэгчдийн хувьд бид шинэ гэрчилгээ суулгах нөхөөсийг боловсруулсан. Энэ нь алдаа засах хувилбар хэлбэрээр гарсан (Орчуулагчийн тэмдэглэл: Firefox 66.0.5), тиймээс хүмүүс үүнийг аль хэдийн авсан байх магадлалтай - ердийн шинэчлэлтийн сувгаар дамжуулан авах болно. Хэрэв та Firefox ESR-ийн захиалгат хувилбарыг ашиглаж байгаа бол засварлагчтайгаа холбогдоно уу.

Энэ нь тийм ч тохиромжтой биш гэдгийг бид ойлгож байна. Зарим тохиолдолд хэрэглэгчид нэмэлт өгөгдөл (жишээлбэл, нэмэлт мэдээлэл) алддаг Олон данстай сав).

Энэ гаж нөлөөнөөс зайлсхийх боломжгүй байсан ч бид богино хугацаанд ихэнх хэрэглэгчдийн хувьд хамгийн сайн шийдлийг сонгосон гэдэгт итгэлтэй байна. Урт хугацаанд бид бусад, илүү дэвшилтэт архитектурын арга барилыг эрэлхийлэх болно.

Хичээлүүд

Нэгдүгээрт, манай баг асуудлыг илрүүлснээс хойш 12 цаг хүрэхгүй хугацаанд засвар хийж, хүргэсэн гайхалтай ажил хийсэн. Ийм хүнд нөхцөлд хүмүүс маш их хөдөлмөрлөж, маш бага цаг үрсэн гэж би хуралд оролцсон хүний ​​хувьд хэлж чадна.

Эдгээрийн аль нь ч тохиолдох ёсгүй байсан нь ойлгомжтой. Ийм тохиолдлын магадлалыг бууруулж, засч залруулах ажлыг хөнгөвчлөхийн тулд үйл явцаа тохируулах нь мэдээжийн хэрэг юм.

Ирэх долоо хоногт бид албан ёсны үхлийн дараах болон хийхээр төлөвлөж буй өөрчлөлтүүдийн жагсаалтыг нийтлэх болно. Одоохондоо би бодлоо хуваалцах болно. Нэгдүгээрт, боломжит цагийн бөмбөг гэж юу болохыг хянах илүү сайн арга зам байх ёстой. Бид тэдний нэг нь гэнэт ажиллах нөхцөл байдалд орохгүй гэдэгт итгэлтэй байх хэрэгтэй. Бид нарийн ширийн зүйлийг боловсруулж байгаа боловч наад зах нь ийм бүх зүйлийг анхаарч үзэх хэрэгтэй.

Хоёрдугаарт, бусад бүх зүйл бүтэлгүйтсэн ч, ялангуяа хэрэглэгчдэд шинэчлэлтийг хурдан хүргэх механизм хэрэгтэй байна. Бид "судалгааны" системийг ашиглаж чадсан нь гайхалтай байсан, гэхдээ энэ нь төгс бус хэрэгсэл бөгөөд зарим хүсээгүй гаж нөлөө үзүүлдэг. Ялангуяа олон хэрэглэгчид автомат шинэчлэлт асаалттай байдгийг бид мэднэ, гэхдээ судалгаанд оролцохгүй байхыг илүүд үздэг (би хүлээн зөвшөөрч байна, би ч бас унтраасан!). Үүний зэрэгцээ бидэнд шинэчлэлтүүдийг хэрэглэгчдэд илгээх арга хэрэгтэй байгаа ч дотоод техникийн хэрэгжилтээс үл хамааран хэрэглэгчид шинэчлэлтийг (хатуу засваруудыг оруулаад) бүртгүүлэх боломжтой боловч бусад бүх зүйлээс татгалзах боломжтой байх ёстой. Нэмж дурдахад, шинэчлэлтийн суваг нь одоогийнхоос илүү хариу үйлдэл үзүүлэх ёстой. Тавдугаар сарын 6-нд ч гэсэн засвар болон шинэ хувилбарын аль алиныг нь ашиглаагүй хэрэглэгчид байсан. Энэ асуудал дээр аль хэдийн ажиллаж байсан ч болсон явдал ямар чухал болохыг харуулсан.

Эцэст нь бид нэмэлтийн аюулгүй байдлын архитектурыг нарийвчлан авч үзэх бөгөөд энэ нь аюулгүй байдлын зөв түвшинг хангаж, аливаа зүйлийг эвдэх эрсдэл багатай эсэхийг шалгах болно.

Ирэх долоо хоногт бид юу болсон талаар илүү нарийвчилсан дүн шинжилгээ хийх үр дүнг харах болно, гэхдээ энэ хооронд би асуултуудад имэйлээр хариулахад баяртай байх болно. [имэйлээр хамгаалагдсан]

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

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