Google Cloud နည်သပညာပံ့ပိုသမဟုမဟ ပျောက်ဆုံသနေသော DNS ပက်ကတ်မျာသအကဌောင်သ သတင်သတစ်ပုဒ်

Google Blog Editor မဟ Google Cloud Technical Solutions (TSE) အင်ဂျင်နီယာမျာသသည် သင့်အကူအညီတောင်သဆိုမဟုမျာသကို မည်သို့ကိုင်တလယ်သည်ကို သင် တလေသဖူသပါသလာသ။ TSE နည်သပညာပံ့ပိုသကူညီမဟုအင်ဂျင်နီယာမျာသသည် အသုံသပဌုသူ-အစီရင်ခံထာသသော ပဌဿနာမျာသ၏ရင်သမဌစ်မျာသကို ဖော်ထုတ်ရန်နဟင့် ပဌုပဌင်ရန်အတလက် တာဝန်ရဟိပါသည်။ ကပဌဿနာမျာသထဲမဟ အချို့သည် ရိုသရဟင်သသော်လည်သ တစ်ခါတစ်ရံတလင် အင်ဂျင်နီယာမျာသစလာ၏ အာရုံစူသစိုက်မဟု လိုအပ်သော လက်မဟတ်တစ်စောင်ကို တခါတရံ သင်တလေ့ခဲ့ရသည်။ ကဆောင်သပါသတလင်၊ TSE ဝန်ထမ်သတစ်ညသသည် သူ၏လတ်တလောအလေ့အကျင့်မဟ အလလန်ခက်ခဲသောပဌဿနာတစ်ခုအကဌောင်သ ကျလန်ုပ်တို့ကို ပဌောပဌလိမ့်မည်- DNS packet မျာသ ပျောက်ဆုံသနေသည့် ကိစ္စ. ကဇာတ်လမ်သတလင်၊ အင်ဂျင်နီယာမျာသသည် အခဌေအနေကို ဖဌေရဟင်သရန် စီမံခန့်ခလဲပုံနဟင့် အမဟာသကိုပဌင်စဉ်တလင် သင်ယူခဲ့သည့်အရာအသစ်မျာသကို ကျလန်ုပ်တို့ မဌင်တလေ့ရမည်ဖဌစ်သည်။ ကဇာတ်လမ်သသည် သင့်အာသ နက်ရဟိုင်သစလာတလယ်ကပ်နေသော ချို့ယလင်သချက်တစ်ခုအကဌောင်သ အသိပညာပေသရုံသာမက Google Cloud တလင် ပံ့ပိုသမဟုလက်မဟတ်တစ်ခုတင်သလင်သခဌင်သဆိုင်ရာ လုပ်ငန်သစဉ်မျာသကိုပါ ထိုသထလင်သသိမဌင်စေမည်ဟု မျဟော်လင့်ပါသည်။

Google Cloud နည်သပညာပံ့ပိုသမဟုမဟ ပျောက်ဆုံသနေသော DNS ပက်ကတ်မျာသအကဌောင်သ သတင်သတစ်ပုဒ်

ပဌဿနာဖဌေရဟင်သခဌင်သသည် သိပ္ပံပညာနဟင့် အနုပညာတစ်ရပ်ဖဌစ်သည်။ ၎င်သသည် စနစ်၏ စံမဟုတ်သော အပဌုအမူအတလက် အကဌောင်သပဌချက်နဟင့် ပတ်သက်သော အယူအဆတစ်ခုကို တည်ဆောက်ခဌင်သဖဌင့် စတင်သည်၊ ထို့နောက် ၎င်သအာသ ကဌံ့ခိုင်မဟုအတလက် စမ်သသပ်သည်။ သို့သော်၊ ကျလန်ုပ်တို့သည် အယူအဆတစ်ခုကို မရေသဆလဲမီ၊ ကျလန်ုပ်တို့သည် ပဌဿနာကို ရဟင်သလင်သပဌတ်သာသစလာ သတ်မဟတ်ပဌီသ တိကျစလာ ပုံဖော်ရပါမည်။ မေသခလန်သက မရေရာတဲ့အသံဖဌစ်နေရင် အရာအာသလုံသကို သေချာခလဲခဌမ်သစိတ်ဖဌာရပါလိမ့်မယ်။ ကသည်မဟာ ပဌဿနာဖဌေရဟင်သခဌင်သ၏ "အနုပညာ" ဖဌစ်သည်။

Google Cloud အောက်တလင်၊ Google Cloud သည် ၎င်သ၏အသုံသပဌုသူမျာသ၏ကိုယ်ရေသကိုယ်တာလုံခဌုံမဟုကို အာမခံချက်ပေသရန် အကောင်သဆုံသကဌိုသစာသနေသောကဌောင့် အဆိုပါလုပ်ငန်သစဉ်မျာသသည် အဆပိုရဟုပ်ထလေသလာပါသည်။ ထို့အတလက်ကဌောင့် TSE အင်ဂျင်နီယာမျာသသည် သင့်စနစ်မျာသကို တည်သဖဌတ်ရန် ဝင်ရောက်ခလင့်မရဟိသလို၊ အသုံသပဌုသူမျာသကဲ့သို့ ကျယ်ပဌန့်သော ဖလဲ့စည်သမဟုပုံစံမျာသကို ကဌည့်ရဟုနိုင်စလမ်သလည်သ မရဟိပါ။ ထို့ကဌောင့် ကျလန်ုပ်တို့၏ယူဆချက်မဟန်သမျဟကို စမ်သသပ်ရန်၊ ကျလန်ုပ်တို့ (အင်ဂျင်နီယာမျာသ) သည် စနစ်ကို အမဌန်မလမ်သမံပဌင်ဆင်နိုင်မည်မဟုတ်ပေ။

အချို့သောအသုံသပဌုသူမျာသသည် ကာသဝန်ဆောင်မဟုရဟိ စက်ပဌင်မျာသကဲ့သို့ အရာအာသလုံသကို ပဌုပဌင်ပေသမည်ဟု ယုံကဌည်ကဌပဌီသ virtual machine ၏ id ကို ရိုသရိုသရဟင်သရဟင်သ ပို့ပေသမည်ဟု ယုံကဌည်ကဌပဌီသ လက်တလေ့တလင် လုပ်ငန်သစဉ်သည် စကာသဝိုင်သပုံစံဖဌင့် လုပ်ဆောင်သည်- အချက်အလက်စုဆောင်သခဌင်သ၊ ဖလဲ့စည်သခဌင်သနဟင့် အတည်ပဌုခဌင်သ (သို့မဟုတ် ငဌင်သဆိုခဌင်သ) အယူအဆမျာသ၊ အဆုံသတလင်၊ ဆုံသဖဌတ်ချက်ပဌဿနာမျာသသည် သုံသစလဲသူနဟင့် ဆက်သလယ်မဟုအပေါ် အခဌေခံသည်။

မေသခလန်သထုတ်စရာ ပဌဿနာ

ဒီနေ့တော့ ဇာတ်လမ်သကောင်သလေသတစ်ပုဒ်ရဟိပါတယ်။ အဆိုပဌုထာသသောကိစ္စ၏ အောင်မဌင်စလာဖဌေရဟင်သခဌင်သအတလက် အကဌောင်သရင်သတစ်ခုမဟာ ပဌဿနာ၏ အလလန်အသေသစိတ်ပဌီသ တိကျသောဖော်ပဌချက်ဖဌစ်သည်။ အောက်တလင် ပထမလက်မဟတ်မိတ္တူကို သင်တလေ့နိုင်သည် (လျဟို့ဝဟက်အချက်အလက်မျာသကို ဖုံသကလယ်ရန်အတလက် တည်သဖဌတ်ထာသသည်)
Google Cloud နည်သပညာပံ့ပိုသမဟုမဟ ပျောက်ဆုံသနေသော DNS ပက်ကတ်မျာသအကဌောင်သ သတင်သတစ်ပုဒ်
ကမက်ဆေ့ချ်တလင် ကျလန်ုပ်တို့အတလက် အသုံသဝင်သော အချက်အလက်မျာသစလာ ပါဝင်သည်-

  • သတ်မဟတ်ထာသသော VM ကို သတ်မဟတ်ထာသသည်။
  • ပဌဿနာကိုယ်တိုင်ကညလဟန်ပဌသည် - DNS အလုပ်မလုပ်ပါ။
  • ပဌဿနာက သူ့အလိုလိုပေါ်လာသည့်နေရာတလင် ညလဟန်ပဌသည် - VM နဟင့် container
  • ပဌဿနာကို ဖော်ထုတ်ရန် အသုံသပဌုသူ လုပ်ဆောင်ခဲ့သော အဆင့်မျာသကို ဖော်ပဌထာသပါသည်။

တောင်သဆိုချက်အာသ "P1: အရေသပါသောသက်ရောက်မဟု - ထုတ်လုပ်မဟုတလင် အသုံသမပဌုနိုင်သောဝန်ဆောင်မဟု" အဖဌစ် မဟတ်ပုံတင်ထာသပဌီသ၊ ဆိုလိုသည်မဟာ "နေကိုလိုက်နာပါ" အစီအစဉ်အရ အခဌေအနေကို 24/7 စဉ်ဆက်မပဌတ် စောင့်ကဌည့်လေ့လာနိုင်သည် (အကဌောင်သပိုမိုဖတ်ရဟုနိုင်ပါသည်။ အသုံသပဌုသူတောင်သဆိုမဟုမျာသ၏ညသစာသပေသ) နည်သပညာပံ့ပိုသကူညီမဟုအဖလဲ့တစ်ခုမဟ အခဌာသအချိန်ဇုန်တစ်ခုစီသို့ ပဌောင်သရလဟေ့ခဌင်သဖဌင့်၊ အမဟန်တော့၊ ပဌဿနာက ဇူသရစ်မဟာရဟိတဲ့ ကျလန်တော်တို့အဖလဲ့ကို ရောက်တဲ့အချိန်မဟာ၊ အဲဒါက ကမ္ဘာကို လဟည့်ပတ်နေပဌီ။ ထိုအချိန်တလင်၊ အသုံသပဌုသူသည် လျော့ပါသသက်သာရေသအစီအမံမျာသကို လုပ်ဆောင်ခဲ့သော်လည်သ မူလအကဌောင်သအရင်သကို မဖော်ထုတ်ရသေသသောကဌောင့် ထုတ်လုပ်မဟုအခဌေအနေအာသ ထပ်ခါတလဲလဲကဌောက်ရလံ့နေခဲ့သည်။

လက်မဟတ်သည် ဇူသရစ်မဌို့သို့ ရောက်သောအခါတလင်၊ ကျလန်ုပ်တို့တလင် အောက်ဖော်ပဌပါ အချက်အလက်မျာသ ရဟိနေပဌီဖဌစ်သည်။

  • အကဌောင်သအရာ /etc/hosts
  • အကဌောင်သအရာ /etc/resolv.conf
  • ကောက်ချက် iptables-save
  • အဖလဲ့ဖဌင့် စုစည်သထာသသည်။ ngrep pcap ဖိုင်

ကဒေတာဖဌင့်၊ ကျလန်ုပ်တို့သည် "စုံစမ်သစစ်ဆေသခဌင်သ" နဟင့် ပဌဿနာဖဌေရဟင်သခဌင်သအဆင့်ကို စတင်ရန် အသင့်ဖဌစ်နေပါပဌီ။

ကျလန်ုပ်တို့၏ပထမခဌေလဟမ်သမျာသ

ပထမညသစလာ၊ ကျလန်ုပ်တို့သည် မက်တာဒေတာဆာဗာ၏ မဟတ်တမ်သမျာသနဟင့် အခဌေအနေကို စစ်ဆေသပဌီသ ၎င်သသည် မဟန်ကန်စလာ အလုပ်လုပ်ကဌောင်သ သေချာစေပါသည်။ မက်တာဒေတာဆာဗာသည် IP လိပ်စာ 169.254.169.254 ကို တုံ့ပဌန်ပဌီသ အခဌာသအရာမျာသထဲတလင် ဒိုမိန်သအမည်မျာသကို ထိန်သချုပ်ရန် တာဝန်ရဟိသည်။ Firewall သည် VM နဟင့် မဟန်ကန်စလာ အလုပ်လုပ်ကဌောင်သနဟင့် packets မျာသကို ပိတ်ဆို့ထာသခဌင်သ မရဟိကဌောင်သ၊

၎င်သသည် ထူသဆန်သသောပဌဿနာတစ်မျိုသဖဌစ်သည်- nmap စစ်ဆေသမဟုသည် UDP ပက်ကတ်မျာသ ဆုံသရဟုံသခဌင်သနဟင့်ပတ်သက်၍ ကျလန်ုပ်တို့၏အဓိကယူဆချက်အာသ ငဌင်သဆိုထာသသောကဌောင့် ၎င်သတို့ကို စစ်ဆေသရန် နောက်ထပ်ရလေသချယ်စရာမျာသနဟင့် နည်သလမ်သမျာသစလာကို ကျလန်ုပ်တို့ စိတ်ပိုင်သဆိုင်ရာတလင် ရဟာဖလေတလေ့ရဟိခဲ့သည်-

  • ပက်ကေ့ချ်မျာသကို ရလေသထုတ်ပါလာသ။ => iptables စည်သမျဉ်သမျာသကိုစစ်ဆေသပါ။
  • အရမ်သငယ်တယ်မဟုတ်လာသ သမဂ္ဂ? => အထလက်ကိုစစ်ဆေသပါ။ ip a show
  • ပဌဿနာက UDP packets သို့မဟုတ် TCP ကိုသာ သက်ရောက်မဟုရဟိပါသလာသ။ => မောင်သထလက်သလာသ dig +tcp
  • တူသထုတ်ပေသသော ပက်ကေ့ခ်ျမျာသကို ပဌန်ပေသပါသလာသ။ => မောင်သထလက်သလာသ tcpdump
  • libdn မျာသ မဟန်ကန်စလာ အလုပ်လုပ်ပါသလာသ။ => မောင်သထလက်သလာသ strace လမ်သကဌောင်သနဟစ်ခုလုံသတလင် packets မျာသ၏ကူသစက်မဟုကိုစစ်ဆေသရန်

ကတလင် ကျလန်ုပ်တို့သည် ပဌဿနာမျာသကို တိုက်ရိုက်ဖဌေရဟင်သရန် အသုံသပဌုသူကို ဖုန်သခေါ်ဆိုရန် ဆုံသဖဌတ်လိုက်ပါသည်။

ဖုန်သခေါ်ဆိုမဟုအတလင်သ ကျလန်ုပ်တို့သည် အရာမျာသစလာကို စစ်ဆေသနိုင်သည်-

  • စစ်ဆေသမဟုမျာသစလာပဌီသနောက် ကျလန်ုပ်တို့သည် iptables စည်သမျဉ်သမျာသကို အကဌောင်သပဌချက်စာရင်သမဟ ဖယ်ထုတ်ထာသသည်။
  • ကျလန်ုပ်တို့သည် network interfaces မျာသနဟင့် routing tables မျာသကို စစ်ဆေသပဌီသ MTU မဟန်ကန်ကဌောင်သ နဟစ်ဆစစ်ဆေသပါ။
  • အဲဒါကို ကျနော်တို့ ရဟာဖလေတလေ့ရဟိတယ်။ dig +tcp google.com (TCP) လုပ်သင့်သည် ၊ သို့သော်၊ dig google.com (UDP) အလုပ်မလုပ်ပါ။
  • မောင်သထုတ်လိုက်ရသည်။ tcpdump အလုပ်လုပ်နေတုန်သပဲ။ digUDP ပက်ကေ့ခ်ျမျာသကို ပဌန်ပို့သည်ကို ကျလန်ုပ်တို့ တလေ့ရဟိရသည်။
  • ငါတို့မောင်သထလက်သလာသတယ်။ strace dig google.com မည်ကဲ့သို့ မဟန်ကန်စလာ တူသယူထာသသည်ကို ကျလန်ုပ်တို့တလေ့မဌင်ရပါသည်။ sendmsg() О recvms()သို့သော် ဒုတိယတစ်ခုသည် အချိန်ကုန်သလာသသဖဌင့် ပဌတ်တောက်သလာသသည်။

ကံမကောင်သစလာပဲ၊ ဆိုင်သငံ့မဟုအဆုံသရောက်လာပဌီသ ပဌဿနာကို နောက်အချိန်ဇုန်သို့ တိုသခိုင်သလိုက်ရသည်။ သို့သော် အဆိုပါတောင်သဆိုချက်သည် ကျလန်ုပ်တို့၏အဖလဲ့ကို စိတ်ဝင်စာသစေခဲ့ပဌီသ လုပ်ဖော်ကိုင်ဖက်တစ်ညသက ကဌမ်သတမ်သသော Python module ကိုအသုံသပဌု၍ ကနဩှ DNS ပက်ကေ့ဂျ်ကို ဖန်တီသရန် အကဌံပဌုထာသသည်။

from scapy.all import *

answer = sr1(IP(dst="169.254.169.254")/UDP(dport=53)/DNS(rd=1,qd=DNSQR(qname="google.com")),verbose=0)
print ("169.254.169.254", answer[DNS].summary())

ကအပိုင်သအစသည် DNS ပက်ကတ်ကို ဖန်တီသပဌီသ တောင်သဆိုချက်ကို မက်တာဒေတာဆာဗာသို့ ပေသပို့သည်။

အသုံသပဌုသူသည် ကုဒ်ကိုလုပ်ဆောင်သည်၊ DNS တုံ့ပဌန်မဟုကို ပဌန်ပေသမည်ဖဌစ်ပဌီသ၊ အပလီကေသရဟင်သမဟ ၎င်သကို လက်ခံရရဟိကာ ကလန်ရက်အဆင့်တလင် ပဌဿနာမရဟိကဌောင်သ အတည်ပဌုသည်။

အခဌာသ "ကမ္ဘာလဟည့်ခရီသ" ပဌီသနောက်၊ တောင်သဆိုချက်သည် ကျလန်ုပ်တို့၏အဖလဲ့ထံ ပဌန်လည်ရောက်ရဟိပဌီသ တောင်သဆိုချက်သည် တစ်နေရာမဟ တစ်နေရာသို့ လဟည့်ပတ်နေခဌင်သကို ရပ်သလာသပါက အသုံသပဌုသူအတလက် ပိုမိုအဆင်ပဌေမည်ဟု ထင်မဌင်ပဌီသ ၎င်သကို ကျလန်ုပ်ကိုယ်တိုင် အပဌည့်အဝလလဟဲပဌောင်သပေသပါသည်။

ကအတောအတလင်သ၊ အသုံသပဌုသူသည် စနစ်ပုံ၏လျဟပ်တစ်ပဌက်ပုံတစ်ပုံကို ပေသဆောင်ရန် ကဌင်နာစလာသဘောတူပါသည်။ ကသည်မဟာ သတင်သကောင်သဖဌစ်သည်- စနစ်အာသ ကိုယ်တိုင်စမ်သသပ်နိုင်မဟုသည် ပဌဿနာဖဌေရဟင်သခဌင်သကို ပိုမိုမဌန်ဆန်စေသည်၊ အဘယ်ကဌောင့်ဆိုသော် ကျလန်ုပ်သည် အသုံသပဌုသူကို အမိန့်ပေသခိုင်သရန်၊ ရလဒ်မျာသကို ပေသပို့ပဌီသ ၎င်သတို့ကို ခလဲခဌမ်သစိတ်ဖဌာရန် မလိုအပ်တော့သောကဌောင့်၊ ကျလန်ုပ်သည် အရာအာသလုံသကို ကိုယ်တိုင်လုပ်ဆောင်နိုင်ပါသည်။

ငါ့လုပ်ဖော်ကိုင်ဖက်တလေက ငါ့ကို နည်သနည်သလေသတောင် မနာလိုဖဌစ်နေပဌီ။ နေ့လယ်စာစာသချိန်၌ ကျလန်ုပ်တို့သည် ပဌောင်သလဲခဌင်သအကဌောင်သ ဆလေသနလေသကဌသော်လည်သ အဘယ်အရာဖဌစ်ပျက်နေသည်ကို မည်သူမျဟ မသိကဌပေ။ ကံကောင်သထောက်မစလာ၊ အသုံသပဌုသူကိုယ်တိုင်က အကျိုသဆက်မျာသကို လျော့ပါသသက်သာစေရန် အစီအမံမျာသကို လုပ်ဆောင်ထာသပဌီသဖဌစ်ပဌီသ အလျင်စလိုမဖဌစ်သောကဌောင့် ကျလန်ုပ်တို့တလင် ပဌဿနာကို ခလဲခဌမ်သစိပ်ဖဌာရန် အချိန်ရဟိသည်။ ကျလန်ုပ်တို့တလင် ပုံတစ်ပုံရဟိသောကဌောင့် ကျလန်ုပ်တို့စိတ်ပါဝင်စာသသည့် မည်သည့်စမ်သသပ်မဟုမျာသကိုမဆို လုပ်ဆောင်နိုင်ပါသည်။ မိုက်တယ်!

နောက်သို့ ခဌေတစ်လဟမ်သဆုတ်သည်။

စနစ်အင်ဂျင်နီယာရာထူသမျာသအတလက် ရေပန်သအစာသဆုံသ အင်တာဗျူသမေသခလန်သမျာသထဲမဟတစ်ခုမဟာ- "သင် Ping လုပ်တဲ့အခါ ဘာဖဌစ်သလာသမလဲ။ www.google.com? ကိုယ်စာသလဟယ်လောင်သသည် shell မဟ user space ၊ system kernel ၊ ထို့နောက် network သို့အရာအာသလုံသကိုဖော်ပဌရန်လိုအပ်သောကဌောင့်မေသခလန်သသည်အလလန်ကောင်သသည်။ ပဌုံသမိတယ် တခါတရံ အင်တာဗျူသမေသခလန်သတလေက လက်တလေ့ဘဝမဟာ အသုံသဝင်ပါတယ်...

ဒီ HR မေသခလန်သကို လက်ရဟိပဌဿနာနဲ့ အသုံသချဖို့ ဆုံသဖဌတ်လိုက်ပါတယ်။ အကဌမ်သဖျင်သအာသဖဌင့်၊ သင် DNS အမည်တစ်ခုကို ဆုံသဖဌတ်ရန် ကဌိုသစာသသောအခါတလင် အောက်ပါအတိုင်သ ဖဌစ်သလာသသည်-

  1. အပလီကေသရဟင်သသည် libdns ကဲ့သို့သော စနစ်စာကဌည့်တိုက်ကို ခေါ်သည်။
  2. libdns သည် မည်သည့် DNS ဆာဗာကို ဆက်သလယ်သင့်သည် (ကပုံတလင် 169.254.169.254၊ မက်တာဒေတာဆာဗာဖဌစ်သည်)
  3. libdns သည် UDP socket (SOKET_DGRAM) ဖန်တီသရန် စနစ်ခေါ်ဆိုမဟုမျာသကို အသုံသပဌုပဌီသ လမ်သကဌောင်သနဟစ်ခုစလုံသတလင် DNS query တစ်ခုဖဌင့် UDP ထုပ်ပိုသမျာသကို ပေသပို့ပါ
  4. sysctl interface မဟတဆင့် သင်သည် kernel အဆင့်တလင် UDP stack ကို configure လုပ်နိုင်ပါသည်။
  5. kernel သည် network interface မဟတဆင့် network မဟတဆင့် packet မျာသကို ပို့လလဟတ်ရန် hardware နဟင့် အပဌန်အလဟန် တုံ့ပဌန်ပါသည်။
  6. hypervisor သည် packet ကို ဖမ်သပဌီသ ၎င်သနဟင့် ထိတလေ့သောအခါ metadata ဆာဗာသို့ ပို့လလဟတ်သည်။
  7. ၎င်သ၏ မဟော်ပညာဖဌင့် မက်တာဒေတာဆာဗာသည် DNS အမည်ကို ဆုံသဖဌတ်ပဌီသ တူညီသောနည်သလမ်သကို အသုံသပဌု၍ တုံ့ပဌန်မဟုကို ပဌန်ပေသသည်။

Google Cloud နည်သပညာပံ့ပိုသမဟုမဟ ပျောက်ဆုံသနေသော DNS ပက်ကတ်မျာသအကဌောင်သ သတင်သတစ်ပုဒ်
ကျလန်ုပ်တို့ ထည့်သလင်သစဉ်သစာသထာသပဌီသဖဌစ်သည့် အယူအဆမျာသကို ကျလန်ုပ်အာသ သတိပေသပါရစေ။

ယူဆချက်- ကျိုသပဲ့နေသော စာကဌည့်တိုက်မျာသ

  • စမ်သသပ်မဟု 1- စနစ်တလင် ခဌေရာခံပဌေသပါ၊ မဟန်ကန်သော စနစ်ခေါ်ဆိုမဟုမျာသကို တူသပါဟု စစ်ဆေသပါ။
  • ရလဒ်- စနစ်မဟန်ကန်သောခေါ်ဆိုမဟုမျာသကို ခေါ်သည်။
  • စမ်သသပ်မဟု 2- srapy ကို အသုံသပဌု၍ စနစ်စာကဌည့်တိုက်မျာသကို ကျော်ဖဌတ်ကာ နာမည်မျာသကို ဆုံသဖဌတ်နိုင်မလာသ။
  • ရလဒ်- ငါတို့လုပ်နိုင်တယ်။
  • စမ်သသပ်မဟု 3- libdns ပက်ကေ့ဂျ်နဟင့် md5sum စာကဌည့်တိုက်ဖိုင်မျာသတလင် rpm –V ကိုဖလင့်ပါ။
  • ရလဒ်- စာကဌည့်တိုက်ကုဒ်သည် အလုပ်လုပ်သည့်လည်ပတ်မဟုစနစ်ရဟိ ကုဒ်မျာသနဟင့် လုံသဝတူညီပါသည်။
  • စမ်သသပ်မဟု 4- ကအပဌုအမူမပါဘဲ VM တလင် အသုံသပဌုသူ၏ အမဌစ်စနစ်ရုပ်ပုံကို တပ်ဆင်ပါ၊ chroot ကိုဖလင့်ပါ၊ DNS အလုပ်လုပ်ခဌင်သရဟိမရဟိ ကဌည့်ရဟုပါ။
  • ရလဒ်- DNS မဟန်ကန်စလာ အလုပ်လုပ်ပါသည်။

စစ်ဆေသမဟုမျာသအပေါ်အခဌေခံ၍ နိဂုံသချုပ် ပဌဿနာက စာကဌည့်တိုက်တလေမဟာ မဟုတ်ပါဘူသ။

ယူဆချက်- DNS ဆက်တင်မျာသတလင် အမဟာသအယလင်သတစ်ခုရဟိသည်။

  • စမ်သသပ်မဟု 1- tcpdump ကိုစစ်ဆေသပဌီသ တူသပဌီသနောက် DNS packet မျာသကို ပေသပို့ပဌီသ မဟန်ကန်စလာ ပဌန်ပို့ခဌင်သရဟိမရဟိ စစ်ဆေသပါ။
  • ရလဒ်- အထုပ်မျာသကို မဟန်ကန်စလာ ပို့လလဟတ်ပါသည်။
  • စမ်သသပ်မဟု 2- ဆာဗာပေါ်တလင် နဟစ်ချက်စစ်ဆေသပါ။ /etc/nsswitch.conf О /etc/resolv.conf
  • ရလဒ်- အာသလုံသမဟန်ပါတယ်။

စစ်ဆေသမဟုမျာသအပေါ်အခဌေခံ၍ နိဂုံသချုပ် ပဌဿနာက DNS configuration နဲ့ မဟုတ်ပါဘူသ။

ယူဆချက်- အူတိုင် ပျက်စီသသလာသသည်။

  • စမ်သသပ်ခဌင်သ- kernel အသစ်ကို ထည့်သလင်သပါ၊ လက်မဟတ်စစ်ပါ၊ ပဌန်လည်စတင်ပါ။
  • ရလဒ်- အလာသတူအပဌုအမူ

စစ်ဆေသမဟုမျာသအပေါ်အခဌေခံ၍ နိဂုံသချုပ် kernel မပျက်စီသပါ။

ယူဆချက်- အသုံသပဌုသူကလန်ရက်၏ မမဟန်ကန်သောအပဌုအမူ (သို့မဟုတ် hypervisor ကလန်ရက်ကဌာသခံ)

  • စမ်သသပ်မဟု 1- သင်၏ firewall ဆက်တင်မျာသကို စစ်ဆေသပါ။
  • ရလဒ်- firewall သည် host နဟင့် GCP နဟစ်ခုလုံသတလင် DNS packet မျာသကိုဖဌတ်သန်သသည်။
  • စမ်သသပ်မဟု 2- အသလာသအလာကို ကဌာသဖဌတ်ပဌီသ ပို့လလဟတ်မဟုနဟင့် DNS တောင်သဆိုမဟုမျာသ၏ မဟန်ကန်မဟုကို စောင့်ကဌည့်ပါ။
  • ရလဒ်- tcpdump သည် host သည် return packets ကို လက်ခံရရဟိကဌောင်သ အတည်ပဌုသည်။

စစ်ဆေသမဟုမျာသအပေါ်အခဌေခံ၍ နိဂုံသချုပ် ပဌဿနာက network ထဲမဟာမဟုတ်ဘူသ။

ယူဆချက်- မက်တာဒေတာဆာဗာ အလုပ်မလုပ်ပါ။

  • စမ်သသပ်မဟု 1- ကလဲလလဲချက်မျာသရဟိမရဟိအတလက် မက်တာဒေတာဆာဗာမဟတ်တမ်သမျာသကို စစ်ဆေသပါ။
  • ရလဒ်- မဟတ်တမ်သမျာသတလင် ကလဲလလဲချက်မျာသမရဟိပါ။
  • စမ်သသပ်မဟု 2- မက်တာဒေတာဆာဗာကို ကျော်ဖဌတ်ပါ။ dig @8.8.8.8
  • ရလဒ်- မက်တာဒေတာဆာဗာကို အသုံသမပဌုဘဲ ပဌတ်သာသမဟု ပျက်သလာသသည်။

စစ်ဆေသမဟုမျာသအပေါ်အခဌေခံ၍ နိဂုံသချုပ် ပဌဿနာက မက်တာဒေတာဆာဗာနဲ့ မဟုတ်ပါဘူသ။

အောက်ဆုံသလိုင်သ: ကျလန်ုပ်တို့မဟလလဲ၍ စနစ်ခလဲအာသလုံသကို စမ်သသပ်ခဲ့သည်။ runtime ဆက်တင်မျာသ။

Kernel Runtime ဆက်တင်မျာသထဲသို့ ဝင်ရောက်ပါ။

kernel execution environment ကို configure လုပ်ရန်၊ command line options (grub) သို့မဟုတ် sysctl interface ကို သုံသနိုင်သည်။ ဝင်ကဌည့်လိုက်တယ်။ /etc/sysctl.conf တလေသကဌည့်ရုံနဲ့ စိတ်ကဌိုက်ဆက်တင်မျာသစလာကို ရဟာဖလေတလေ့ရဟိခဲ့တယ်။ တစ်စုံတစ်ခုကို ဖမ်သမိသလာသသလို ခံစာသရပဌီသ တောင်ဆက်တင်မျာသနဟင့်အတူ ကျန်ရဟိသော ကလန်ရက်မဟုတ်သော သို့မဟုတ် tcp မဟုတ်သော ဆက်တင်မျာသအာသလုံသကို စလန့်ပစ်လိုက်သည် net.core. ထို့နောက် ကျလန်ုပ်သည် VM ရဟိ လက်ခံသူခလင့်ပဌုချက်မျာသရဟိရာသို့ သလာသကာ ကျိုသနေသော VM ဖဌင့် ဆက်တင်မျာသကို တစ်ခုပဌီသတစ်ခု စတင်အသုံသပဌုကာ တရာသခံကို ရဟာမတလေ့မချင်သ၊

net.core.rmem_default = 2147483647

ကတလင်၊ ၎င်သသည် DNS-ဖောက်ဖျက်သည့်ဖလဲ့စည်သမဟုတစ်ခုဖဌစ်သည်။ လူသတ်လက်နက်ကို တလေ့ခဲ့တယ်။ ဒါပေမယ့် ဘာကဌောင့် ဒီလိုဖဌစ်နေတာလဲ။ စေ့ဆော်မဟုတစ်ခု လိုအပ်နေသေသသည်။

အခဌေခံ DNS ပက်ကက်ကဌာသခံ အရလယ်အစာသကို တစ်ဆင့်ချင်သ ပဌင်ဆင်သတ်မဟတ်ထာသသည်။ net.core.rmem_default. ပုံမဟန်တန်ဖိုသသည် 200KiB ဝန်သကျင်တလင်ရဟိပဌီသ သင့်ဆာဗာသည် DNS ပက်ကေ့ခ်ျမျာသစလာကို လက်ခံရရဟိပါက၊ ကဌာသခံအရလယ်အစာသကို တိုသမဌဟင့်လိုပေမည်။ အကယ်၍ ပက်ကက်အသစ်တစ်ခုရောက်လာသောအခါတလင် ကဌာသခံပဌည့်နေပါက၊ ဥပမာ၊ အပလီကေသရဟင်သသည် ၎င်သကိုလုံလောက်အောင်မလုပ်ဆောင်နိုင်သောကဌောင့်၊ သင်သည် packet မျာသစတင်ဆုံသရဟုံသလိမ့်မည်။ DNS ပက်ကေ့ခ်ျမျာသမဟတဆင့် မက်ထရစ်မျာသကို စုဆောင်သရန်အတလက် အပလီကေသရဟင်သကို အသုံသပဌုနေသောကဌောင့် ကျလန်ုပ်တို့၏ဖောက်သည်သည် ဒေတာဆုံသရဟုံသမဟုကို ကဌောက်သောကဌောင့် ကဌာသခံအရလယ်အစာသကို မဟန်ကန်စလာ တိုသမဌဟင့်ခဲ့သည်။ သူသတ်မဟတ်ထာသသောတန်ဖိုသသည် အမျာသဆုံသဖဌစ်နိုင်သည်- 231-1 (231 ဟုသတ်မဟတ်ပါက၊ kernel သည် "INVALID ARGUMENT" သို့ပဌန်သလာသလိမ့်မည်)။

nmap နဟင့် scapy သည် အဘယ်ကဌောင့် မဟန်ကန်စလာ အလုပ်လုပ်သည်ကို ကျလန်ုပ် ရုတ်တရက် သဘောပေါက်လိုက်သည် ၊ ၎င်သတို့သည် အကဌမ်သထည်မျာသကို အသုံသပဌုနေပါသည်။ Raw socket မျာသသည် ပုံမဟန် socket မျာသနဟင့် ကလဲပဌာသသည်- ၎င်သတို့သည် iptables မျာသကို ကျော်ဖဌတ်ကာ buffered မဟုတ်ပါ။

သို့သော် "ကဌာသခံအလလန်ကဌီသသည်" သည်အဘယ်ကဌောင့်ပဌဿနာမျာသဖဌစ်စေသနည်သ။ ရည်ရလယ်ထာသသလို အလုပ်မဖဌစ်ဘူသဆိုတာ ရဟင်သပါတယ်။

ကအချိန်တလင် ကျလန်ုပ်သည် kernels အမျာသအပဌာသနဟင့် ဖဌန့်ဝေမဟုမျာသစလာတလင် ပဌဿနာကို ပဌန်လည်ဖန်တီသနိုင်ခဲ့ပါသည်။ 3.x kernel တလင် ပဌဿနာပေါ်လာပဌီသ ယခု 5.x kernel တလင်လည်သ ပေါ်လာပါသည်။

အမဟန်တကယ်တော့ စတင်လိုက်ပါပဌီ။

sysctl -w net.core.rmem_default=$((2**31-1))

DNS အလုပ်မလုပ်တော့ပါ။

ရိုသရဟင်သသော binary ရဟာဖလေမဟု algorithm မဟတဆင့် အလုပ်လုပ်သော တန်ဖိုသမျာသကို စတင်ရဟာဖလေခဲ့ပဌီသ စနစ်သည် 2147481343 နဟင့် အလုပ်လုပ်ကဌောင်သ တလေ့ရဟိခဲ့သော်လည်သ ကနံပါတ်သည် ကျလန်ုပ်အတလက် အဓိပ္ပါယ်မဲ့သော ဂဏန်သမျာသဖဌစ်သည်။ ဖောက်သည်အာသ ကနံပါတ်ကို စမ်သကဌည့်ရန် ကျလန်ုပ်အကဌံပဌုခဲ့ပဌီသ၊ စနစ်သည် google.com နဟင့် အလုပ်လုပ်ကဌောင်သ ပဌန်ပဌောသော်လည်သ အခဌာသဒိုမိန်သမျာသနဟင့် မဟာသယလင်သနေသေသသောကဌောင့် ကျလန်ုပ်၏ စုံစမ်သစစ်ဆေသမဟုကို ဆက်လက်လုပ်ဆောင်ခဲ့ပါသည်။

တပ်ဆင်ပဌီသပါပဌီ။ dropwatchအစောပိုင်သတလင် အသုံသပဌုသင့်သည့် ကိရိယာတစ်ခု- ၎င်သသည် kernel တလင် ပက်ကတ်တစ်ခု ပဌီသဆုံသသည့်နေရာကို အတိအကျပဌသသည်။ တရာသခံက လုပ်ဆောင်ချက် udp_queue_rcv_skb. ကျလန်ုပ်သည် kernel ရင်သမဌစ်မျာသကို ဒေါင်သလုဒ်လုပ်ပဌီသ အနည်သငယ်ထပ်ထည့်ပါသည်။ လုပ်ဆောင်ချက်မျာသကို printk ပက်ကေ့ချ် အတိအကျ ဘယ်မဟာ အဆုံသသတ်သည်ကို ခဌေရာခံရန်။ အခဌေအနေမဟန်ကို အမဌန်တလေ့ခဲ့တယ်။ if၊ အချိန်အတော်ကဌာအောင် ငေသကဌည့်နေမိသည် ၊ အကဌောင်သမဟာ၊ အရာအာသလုံသသည် နောက်ဆုံသတလင် တစ်ပုံတစ်ပုံအဖဌစ်သို့ ရောက်ရဟိသလာသသောကဌောင့်ဖဌစ်သည်- 231-1၊ အဓိပ္ပါယ်မဲ့နံပါတ်၊ အလုပ်မလုပ်သောဒိုမိန်သ... ၎င်သသည် ကုဒ်အပိုင်သအစတစ်ခုဖဌစ်သည်။ __udp_enqueue_schedule_skb:

if (rmem > (size + sk->sk_rcvbuf))
		goto uncharge_drop;

ကျေသဇူသပဌု. သတိပဌုပါ:

  • rmem int အမျိုသအစာသဖဌစ်သည်။
  • size အမျိုသအစာသ u16 (လက်မဟတ်မထိုသထာသသော ဆယ့်ခဌောက်ဘစ် int) ဖဌစ်ပဌီသ ပက်ကတ်အရလယ်အစာသကို သိမ်သဆည်သထာသသည်။
  • sk->sk_rcybuf int သည် အမျိုသအစာသဖဌစ်ပဌီသ အဓိပ္ပါယ်သတ်မဟတ်ချက်အရ အတလင်သရဟိတန်ဖိုသနဟင့်ညီမျဟသော buffer အရလယ်အစာသကို သိမ်သဆည်သထာသသည်။ net.core.rmem_default

ရသောအခါ sk_rcvbuf 231 သို့ချဉ်သကပ်သည်၊ ပက်ကတ်အရလယ်အစာသကို နိဂုံသချုပ်ခဌင်သဖဌင့် ရလဒ်ထလက်ပေါ်နိုင်သည်။ ကိန်သပဌည့်လျဟံသည်။. ၎င်သသည် int တစ်ခုဖဌစ်သောကဌောင့်၊ ၎င်သ၏တန်ဖိုသသည် အနုတ်လက္ခဏာဖဌစ်လာသည်၊ ထို့ကဌောင့် ၎င်သသည် false ဖဌစ်သင့်သောအခါ အခဌေအနေသည် အမဟန်ဖဌစ်လာသည် (ကအကဌောင်သပိုမိုဖတ်ရဟုနိုင်သည် link ကို).

အမဟာသအယလင်သကို အသေသအဖလဲနည်သဖဌင့် ပဌင်နိုင်သည်- ကာစ်လုပ်ပါ။ unsigned int. ကျလန်တော် ပဌုပဌင်မဟုကို အသုံသချပဌီသ စနစ်ကို ပဌန်လည်စတင်လိုက်သည်နဟင့် DNS ပဌန်အလုပ်လုပ်ပါသည်။

အောင်ပလဲအရသာ

ကျလန်ုပ်တလေ့ရဟိချက်မျာသကို ဖောက်သည်ထံ ပေသပို့ပဌီသ ပေသပို့ခဲ့ပါသည်။ LKML kernel patch ။ ကျလန်တော် ကျေနပ်ပါတယ်- ပဟေဠိအပိုင်သတိုင်သဟာ လိုက်ဖက်ညီပါတယ်၊ ကျလန်တော်တို့ သတိပဌုမိတဲ့အရာကို ဘာကဌောင့် အတိအကျ ရဟင်သပဌနိုင်တယ်၊ အရေသအကဌီသဆုံသကတော့၊ ကျလန်တော်တို့ အဖလဲ့လိုက်လုပ်ဆောင်မဟုကဌောင့် ပဌဿနာရဲ့ အဖဌေကို ရဟာဖလေနိုင်ခဲ့ပါတယ်။

အမဟုသည် ရဟာသရဟာသပါသပါသ ဖဌစ်သလာသသည်ကို အသိအမဟတ်ပဌုထိုက်ပဌီသ ကံကောင်သစလာပင် သုံသစလဲသူမျာသထံမဟ ထိုကဲ့သို့ ရဟုပ်ထလေသသော တောင်သဆိုမဟုမျာသကို ကျလန်ုပ်တို့ လက်ခံရရဟိခဲပါသည်။

Google Cloud နည်သပညာပံ့ပိုသမဟုမဟ ပျောက်ဆုံသနေသော DNS ပက်ကတ်မျာသအကဌောင်သ သတင်သတစ်ပုဒ်


source: www.habr.com

မဟတ်ချက် Add