ထိပ်တန်း Docker ပုံများ၏ 19% တွင် root password မရှိပါ။

ပြီးခဲ့သည့် စနေနေ့၊ မေလ 18 ရက်၊ Kenna Security မှ Jerry Gamblin စစ်တယ်။ ၎င်းတို့အသုံးပြုသည့် root စကားဝှက်အပေါ်အခြေခံ၍ Docker Hub မှ ရေပန်းအစားဆုံးပုံ 1000။ 19% တွင်၎င်းသည်အချည်းနှီးဖြစ်သည်။

ထိပ်တန်း Docker ပုံများ၏ 19% တွင် root password မရှိပါ။

Alpine နောက်ခံ

သုတေသနအသေးစားအတွက် အကြောင်းရင်းမှာ ယခုလအစောပိုင်းတွင် ဖော်ပြခဲ့သော Talos Vulnerability Report (TALOS-2019-0782Cisco Umbrella မှ Peter Adkins ၏ရှာဖွေတွေ့ရှိမှုကြောင့် လူသိများသော Alpine container ဖြန့်ချီသည့် Docker ပုံများတွင် root password မရှိကြောင်း ရေးသားဖော်ပြခဲ့သည်၊

“Alpine Linux Docker ပုံများ (v3.3 ကတည်းက) ၏တရားဝင်ဗားရှင်းများတွင် root အသုံးပြုသူအတွက် NULL စကားဝှက်တစ်ခုပါရှိသည်။ ဤအားနည်းချက်သည် 2015 ခုနှစ် ဒီဇင်ဘာလတွင် စတင်ခဲ့သော ဆုတ်ယုတ်မှုမှ ထွက်ပေါ်လာခြင်းဖြစ်သည်။ ဤအရာ၏ အဓိကအချက်မှာ ကွန်တိန်နာတစ်ခုတွင် Alpine Linux ၏ ပြဿနာရှိသောဗားရှင်းများဖြင့် ဖြန့်ကျက်ထားသော စနစ်များနှင့် Linux PAM သို့မဟုတ် အထောက်အထားစိစစ်ခြင်းဒေတာဘေ့စ်အဖြစ် စနစ်အရိပ်ဖိုင်ကို အသုံးပြုသည့် အခြားယန္တရားတစ်ခုကို အသုံးပြုခြင်းသည် အမြစ်အသုံးပြုသူအတွက် NULL စကားဝှက်ကို လက်ခံနိုင်ခြင်းဖြစ်သည်။"

ပြဿနာအတွက် စမ်းသပ်ထားသော Alpine နှင့် Docker ပုံများ၏ ဗားရှင်းများသည် 3.3–3.9 ပါဝင်ပြီး နောက်ဆုံးထွက်ရှိထားသော edge များဖြစ်သည်။

စာရေးဆရာများသည် သက်ရောက်မှုရှိသော သုံးစွဲသူများအတွက် အောက်ပါ အကြံပြုချက်ကို ပြုလုပ်ခဲ့သည်-

"Alpine ပြဿနာရှိသောဗားရှင်းများမှတည်ဆောက်ထားသော Docker ပုံများတွင် root အကောင့်ကို ပြတ်သားစွာပိတ်ထားရပါမည်။ ၎င်း၏အောင်မြင်မှုသည် Linux PAM သို့မဟုတ် အခြားအလားတူ ယန္တရားကို အသုံးပြု၍ ပြင်ပမှ ထပ်ဆင့်ပေးပို့သော ဝန်ဆောင်မှု သို့မဟုတ် အက်ပ်လီကေးရှင်းတစ်ခု လိုအပ်သောကြောင့် အားနည်းချက်၏ အသုံးချနိုင်မှုသည် ပတ်ဝန်းကျင်အပေါ် မူတည်ပါသည်။"

ပြဿနာဖြစ်ခဲ့သည်။ ဖယ်ထုတ်ထားသည်။ Alpine ဗားရှင်း 3.6.5၊ 3.7.3၊ 3.8.4၊ 3.9.2 နှင့် edge (20190228 လျှပ်တစ်ပြက်) တို့တွင် ထိခိုက်ထားသော ပုံများ၏ ပိုင်ရှင်များအား root in ဖြင့် လိုင်းကို မှတ်ချက်ပေးရန် တောင်းဆိုခဲ့သည် /etc/shadow သို့မဟုတ် အထုပ်ပျောက်ကြောင်း သေချာပါစေ။ linux-pam.

Docker Hub ဖြင့် ဆက်လက်လုပ်ဆောင်ခဲ့သည်။

Jerry Gamblin သည် "ကွန်တိန်နာများတွင် null စကားဝှက်များအသုံးပြုခြင်းအလေ့အထသည်မည်မျှဘုံဖြစ်နိုင်သည်" နှင့် ပတ်သက်၍ စူးစမ်းရန်ဆုံးဖြတ်ခဲ့သည်။ ဤရည်ရွယ်ချက်အတွက် သူသည် စာတိုလေးရေးခဲ့သည်။ Bash ပဲဗျ။အလွန်ရိုးရှင်းသော အနှစ်သာရ၊

  • Docker Hub ရှိ API သို့ curl တောင်းဆိုမှုမှတဆင့်၊ ထိုနေရာတွင် လက်ခံထားသော Docker ပုံများစာရင်းကို တောင်းဆိုထားသည်။
  • jq မှတစ်ဆင့် ၎င်းကို အကွက်အလိုက် စီထားသည်။ popularityရရှိသော ရလဒ်များမှ ပထမတစ်ထောင် ကျန်ရှိနေပါသည်။
  • အသီးအသီးပြည့်စုံပြီ။ docker pull;
  • Docker Hub မှရရှိသော ပုံတစ်ပုံချင်းစီအတွက် လုပ်ဆောင်သည်။ docker run ဖိုင်မှပထမစာကြောင်းကိုဖတ်ခြင်းဖြင့် /etc/shadow;
  • string ၏တန်ဖိုးနှင့်ညီမျှလျှင် root:::0:::::ပုံ၏အမည်ကို သီးခြားဖိုင်တစ်ခုတွင် သိမ်းဆည်းထားသည်။

ဘာဖြစ်တာလဲ? IN ဒီဖိုင် အမြစ်အသုံးပြုသူတွင် စကားဝှက်သတ်မှတ်ထားခြင်း မရှိသော Linux စနစ်ဖြင့် နာမည်ကြီး Docker ပုံများ၏ အမည်များ 194 လိုင်းရှိသည်။

“ဤစာရင်းတွင် လူသိအများဆုံးအမည်များထဲတွင် govuk/governmentpaas၊ hashicorp၊ microsoft၊ monsanto နှင့် mesosphere တို့ဖြစ်သည်။ ထို့အပြင် kylemanna/openvpn သည် စာရင်းတွင် ရေပန်းအစားဆုံး ကွန်တိန်နာဖြစ်ပြီး ၎င်း၏ စာရင်းဇယား စုစုပေါင်း ဆွဲယူမှု 10 သန်းကျော်ရှိသည်။"

သို့သော် ဤဖြစ်စဉ်သည် ၎င်းတို့ကို အသုံးပြုသည့် စနစ်များ၏ လုံခြုံရေးအတွက် တိုက်ရိုက် အားနည်းချက်ကို မဆိုလိုကြောင်း သတိရသင့်သည်- ၎င်းသည် ၎င်းတို့ကို အသုံးပြုသည့် အတိအကျပေါ်တွင် မူတည်သည် (အထက်ပါ Alpine ကိစ္စမှ မှတ်ချက်ကို ကြည့်ပါ). သို့သော်၊ ကျွန်ုပ်တို့သည် "ဇာတ်လမ်း၏ကျင့်ဝတ်" ကို အကြိမ်များစွာ မြင်တွေ့ခဲ့ရသည်- ထင်ရှားသောရိုးရှင်းမှုသည် မကြာခဏဆိုသလို အားနည်းချက်ရှိကြောင်း၊ ၎င်းကို အမြဲသတိရနေရမည့်အပြင် သင်၏နည်းပညာအသုံးချမှုအခြေအနေများတွင် ထည့်သွင်းစဉ်းစားရမည့် အကျိုးဆက်များ။

PS

ကျွန်ုပ်တို့၏ဘလော့ဂ်တွင်လည်းဖတ်ပါ

source: www.habr.com

မှတ်ချက် Add