🧪 Lab 02 · BGP လုံခြုံရေး — RPKI ROV နှင့် Bogon Filtering¶
✅ Validated on Arista cEOS 4.32.0F. Output အားလုံးကို live fabric မှ တိုက်ရိုက်ဖမ်းယူထားပါသည်။
ကြာမြင့်ချိန်: ~၄၅ မိနစ် · Nodes အရေအတွက်: ၄ ခု (Edge Routers ၂ ခု၊ Transit/Peer Routers ၂ ခု)
အမြန်စတင်ရန် လမ်းညွှန် (တည်နေရာ: labs/edge-lab/)
အဆင့် ၁ · Lab Fabric ကို စတင်လည်ပတ်ပါ (မ run ရသေးပါက)
cd labs/edge-lab
sudo containerlab deploy -t topology.clab.yml --max-workers 1
အဆင့် ၂ · အပြန်အလှန် လမ်းညွှန်မှုပါရှိသော Interactive Walkthrough ကို စတင်ပါ
./run.sh --guided
အခြား ရွေးချယ်နိုင်သော နည်းလမ်းများ (Automated Script သို့မဟုတ် Manual CLI)
- အလိုအလျောက် Script ဖြင့် အမြန်ထည့်သွင်းခြင်း:
./run.sh 01 # step 01 ကို apply နှင့် verify အလိုအလျောက် ပြုလုပ်ရန် ./run.sh --all # အဆင့်အားလုံးကို အစဉ်လိုက် run ရန် - Manual Line-by-Line CLI ဖြင့် လုပ်ဆောင်ခြင်း:
Container node ပေါ်တွင် တိုက်ရိုက် interactive CLI shell ဖွင့်ရန်:
docker exec -it clab-edge-lab-r1 Cli
အဆင့် ၁ · RPKI Route Origin Validation (ROV)¶
RPKI သည် IP prefix တစ်ခုအား ကြေညာနေသော Origin AS သည် အဆိုပါ IP address space ပိုင်ရှင်အစစ်အမှန်က တရားဝင်ခွင့်ပြုထားသော AS ဟုတ်မဟုတ်ကို cryptographic နည်းပညာဖြင့် စစ်ဆေးအတည်ပြုပေးသည်။
RPKI Validation States အဆင့် ၃ ဆင့်:¶
၁။ Valid: Prefix နှင့် Origin AS သည် လက်မှတ်ရေးထိုးထားသော Route Origin Authorization (ROA) object နှင့် ထပ်တူ ကိုက်ညီသည်။
၂။ Invalid: ထို prefix အတွက် ROA ရှိနေသော်လည်း ကြေညာသော AS သို့မဟုတ် prefix length သည် ကိုက်ညီမှု မရှိပါ။ ဆောင်ရွက်ချက်: DROP (ချက်ချင်း ပယ်ဖျက်သည်)။
၃။ NotFound: Global RPKI cache repositories များတွင် မည်သည့် ROA မျှ မတွေ့ရှိပါ။ ဆောင်ရွက်ချက်: PERMIT (ဦးစားပေး local preference လျှော့ချ၍ လက်ခံသည်)။
! Configuring RPKI Origin Validation Policy on Arista EOS Edge Router
router bgp 65001
rpki cache ROUTINATOR-1
host 10.0.100.50 port 3323
!
address-family ipv4
bgp origin-as validation enable
Route-maps အသုံးပြု၍ Invalid routes များကို Filter ပြုလုပ်ခြင်း -
route-map RM-RPKI-IN deny 10
match rpki validity invalid
!
route-map RM-RPKI-IN permit 20
match rpki validity valid
set local-preference 120
!
route-map RM-RPKI-IN permit 30
match rpki validity not-found
set local-preference 100
အဆင့် ၂ · Remotely Triggered Blackhole (RTBH — 65535:666)¶
IP address တစ်ခုသည် ကြီးမားသော volumetric DDoS တိုက်ခိုက်မှုအောက်သို့ ကျရောက်လာသည့်အခါ RTBH သည် တိုက်ခိုက်မှု traffic များကို ISP edge တွင် drop ပစ်နိုင်ရန် လူသိများသော well-known community 65535:666 (RFC 7999) ကို အသုံးပြုသည်။
! Configuring RTBH Blackhole route map
ip route 192.168.10.99/32 Null0
!
ip community-list CL-RTBH permit 65535:666
!
route-map RM-RTBH-IN permit 10
match community CL-RTBH
set ip next-hop 192.0.2.1
set local-preference 200
Upstream ISP တစ်ခုသည် 65535:666 ကို လက်ခံရရှိသည့်အခါ Next-hop ကို Null0 discard interface သို့ rewrite ပြုလုပ်ပြီး WAN bandwidth ကို မကုန်ခမ်းမီ DDoS attack ကို အမြန်ဆုံး ရှင်းထုတ်ပစ်သည်။
အဆင့် ၃ · Bogon နှင့် Transit Leak Filtering¶
Internet သို့ မျက်နှာမူထားသော eBGP sessions များပေါ်တွင် Private address spaces (RFC 1918)၊ CGNAT space (RFC 6598 100.64.0.0/10) နှင့် Loopbacks များကို ပိတ်ဆို့ပါမည်။
ip prefix-list PL-BOGON-DENY seq 10 deny 10.0.0.0/8 le 32
ip prefix-list PL-BOGON-DENY seq 20 deny 172.16.0.0/12 le 32
ip prefix-list PL-BOGON-DENY seq 30 deny 192.168.0.0/16 le 32
ip prefix-list PL-BOGON-DENY seq 40 deny 100.64.0.0/10 le 32
ip prefix-list PL-BOGON-DENY seq 50 permit 0.0.0.0/0 le 24
🧠 Google Network Infra ဗဟုသုတ မျှဝေခြင်းနှင့် ကာကွယ်ရေး လုံခြုံရေး ယန္တရားများ¶
[!NOTE]
၁။ End-to-End RPKI ROV ဗိသုကာနှင့် RTR Protocol (RFC 8210)¶
RPKI Origin Validation သည် IP prefix ပိုင်ဆိုင်မှုကို စစ်ဆေးရန် out-of-band cryptographic trust hierarchy ကို အသုံးပြုသည် -
graph LR RIR["RIR Repositories<br/>(ARIN, RIPE, APNIC)<br/>X.509 TAL Certificates"] --->|Sync via RRDP / Rsync| Validator["RPKI Cache Validator<br/>(Routinator / StayRtr / Fort)"] Validator --->|RTR Protocol<br/>TCP Port 3323| EdgeRouter["Arista EOS Edge Router<br/>(BGP Origin-AS Validation Engine)"] EdgeRouter --->|Evaluate Inbound BGP UPDATE| Decision{"ROA Table Lookup<br/>(Prefix + Length + Origin ASN)"} Decision --->|Match| Valid["Valid<br/>(Permit, Set LP=120)"] Decision --->|Length / ASN Mismatch| Invalid["Invalid<br/>(DROP Route!)"] Decision --->|No ROA Found| NotFound["NotFound<br/>(Permit, Set LP=100)"] classDef rir fill:#1565c0,stroke:#90caf9,color:#ffffff; classDef val fill:#f57c00,stroke:#ffe0b2,color:#ffffff; classDef edge fill:#2e7d32,stroke:#a5d6a7,color:#ffffff; class RIR rir; class Validator val; class EdgeRouter edge;
- Routers များသည် RIRs များထံ တိုက်ရိုက် အဘယ်ကြောင့် Query မလုပ်ကြသနည်း: သန်းပေါင်းများစွာသော ROA objects များပေါ်ရှိ cryptographic X.509 signatures များကို စစ်ဆေးခြင်းသည် CPU နှင့် RAM ဝန်ထုပ်ဝန်ပိုး အလွန်ကြီးမားသည်။ သီးသန့် validator servers များက (Routinator, StayRtr) စစ်ဆေးပြီးနောက် ပေါ့ပါးသော binary RTR PDUs (RFC 8210) အသုံးပြု၍
(IPv4/IPv6 Prefix, MaxLength, Origin ASN)ဇယားအဖြစ် edge routers များထံသို့ ပေးပို့ပေးသည်။[!IMPORTANT]
၂။
maxLengthဖြင့် Prefix De-aggregation Hijacks များကို ကာကွယ်ခြင်း¶အဖြစ်များသော BGP hijacking နည်းလမ်းတစ်ခုမှာ aggregate
/16(1.1.0.0/16) သာ ကြေညာထားသော ပစ်မှတ်တစ်ခုအတွက် ပိုမိုတိကျသော subnet (ဥပမာ1.1.1.0/24) ကို ခိုးယူကြေညာခြင်း ဖြစ်သည်။ BGP longest-prefix matching စည်းမျဉ်းကြောင့် ကမ္ဘာလုံးဆိုင်ရာ traffic များသည် တိုက်ခိုက်သူ၏/24ဆီသို့ အလိုအလျောက် လမ်းကြောင်းလွဲသွားသည်။
- ROA ၏ ကာကွယ်မှု: လက်မှတ်ရေးထိုးထားသော ROA တွင် တရားဝင်ခွင့်ပြုထားသော
Origin ASNသာမက ခွင့်ပြုသည့်maxLengthကိုပါ တိကျစွာ ဖော်ပြထားသည်။- ဥပမာ ROA:
Prefix: 203.0.113.0/20၊maxLength: 24၊ASN: 65001။- အကယ်၍ တိုက်ခိုက်သူက
203.0.113.0/25ကို ကြေညာပါက (maxLength 24ထက် ကျော်လွန်နေသောကြောင့်) RPKI ROV က ထိုကြေညာချက်အားInvalidအဖြစ် သတ်မှတ်ပြီး edge routers များက ချက်ချင်း drop ပစ်လိုက်မည် ဖြစ်သည်။[!TIP]
၃။ BGP Route Leak Prevention (RFC 9234) နှင့် Remotely Triggered Blackhole (RTBH) & Flowspec¶
- BGP Open Policy Roles နှင့် OTC (RFC 9234):
- Multi-homed customer တစ်ဦးသည် Transit ISP A ထံမှ routes များကို ရရှိပြီး Transit ISP B ထံသို့ မတော်တဆ ပြန်လည်ကြေညာမိသည့်အခါ Route leaks များ ဖြစ်ပေါ်ပြီး customer အား မလိုလားအပ်သော transit network ဖြစ်စေသည်။
RFC 9234 သည် Only to Customer (OTC) BGP attribute ကို မိတ်ဆက်ခဲ့သည်။ Customer သို့မဟုတ် Peer ဆီသို့ route ကြေညာသည့်အခါ router သည် OTC attribute ကို မိမိကိုယ်ပိုင် ASN အဖြစ် သတ်မှတ်ပေးသည်။ အကယ်၍ customer က ထို route ကို အခြား Provider သို့မဟုတ် Peer ထံ ထပ်ဆင့်ကြေညာပါက လက်ခံရရှိသော router က route ကို drop ပစ်သည်။
RTBH (RFC 7999
65535:666) နှင့် BGP Flowspec (RFC 8955) နှိုင်းယှဉ်ချက်:- RTBH: သတ်မှတ်ထားသော
/32IP address ဆီသို့ သွားမည့် traffic ၁၀၀% လုံးကို ISP edge တွင် drop ပစ်သည်။ WAN link ပြည့်ကျပ်မှုကို ရပ်တန့်စေသော်လည်း ထို host ဆီသို့ သွားမည့် ပုံမှန် users များ၏ ဝန်ဆောင်မှုကိုပါ ရပ်တန့်သွားစေသည်။- BGP Flowspec (RFC 8955): တိကျသော 5-tuple filtering rules များကို (Source IP, Destination IP, L4 Protocol, TCP Flags, Port Range) provider ၏ hardware ACLs များထဲသို့ တိုက်ရိုက် ကြေညာပေးနိုင်သဖြင့် တိုက်ခိုက်မှု traffic ကိုသာ ရွေးချယ် drop ပစ်ပြီး ပုံမှန် host ဝန်ဆောင်မှုများကို ဆက်လက်ရှင်သန်စေသည်။
စမ်းသပ်ခန်း အပြီးသတ် သိမ်းဆည်းခြင်း (Clean up)¶
sudo containerlab destroy -t topology.clab.yml