BOGON و راه حل رهائی از بوگون ها چیست ؟

BOGON به آدرس IP ای گفته می‌شود که نباید در اینترنت دیده شود: یا اصلاً برای استفاده عمومی رزرو نشده (مثل 10.0.0.0/8 یا 127.0.0.0/8)، یا هنوز توسط IANA و سازمان‌های ثبت آدرس (RIRها) به کسی واگذار نشده است. هر بسته‌ای که از اینترنت با آدرس مبدأ BOGON به شبکه شما برسد، تقریباً قطعاً جعلی است؛ معمولاً ابزار یک حمله DDoS یا اسکن. هر مسیری هم که با آدرس BOGON در جدول BGP شما ظاهر شود، یا اشتباه است یا تلاشی برای ربودن فضای آدرس بی‌صاحب.

در این مطلب انواع BOGON ، دلیل فیلتر کردن‌شان، و سه روش فیلتر روی روترهای سیسکو را مرور می‌کنیم: ACL ثابت برای آدرس‌های رزرو، فیلتر مسیرهای BGP با prefix-list ، و دریافت خودکار فهرست به‌روز BOGON از سرویس Team Cymru و فرستادن‌شان به Null0 (Black Hole).

BOGON و فیلتر آدرس‌های بی‌صاحب
BOGON ؛ آدرس‌هایی که نباید در اینترنت دیده شوند

BOGON در یک نگاه

تعریف آدرس IP ای که نباید در اینترنت مسیریابی یا به‌عنوان مبدأ دیده شود
Martian / Traditional Bogon فضای رزرو و واگذارنشده توسط IANA ؛ فهرست ثابت و کوتاه
Full Bogon علاوه بر بالا، فضایی که RIRها هنوز به کسی نداده‌اند؛ فهرست بلند و پرتغییر
کجا فیلتر شود ورودی روتر مرزی: هم روی بسته‌ها (ACL ، uRPF) هم روی مسیرهای BGP
به‌روزرسانی خودکار سرویس رایگان BGP از Team Cymru (AS 65333 برای Traditional ، AS 65332 برای Full Bogons)

آدرس IP مال کیست؟ نگاهی به RIR و LIR

هیچ شخص یا سازمانی مالک دائمی آدرس IP نیست. IANA بلوک‌های بزرگ را به پنج سازمان منطقه‌ای (RIR) می‌دهد؛ برای ایران و اروپا این سازمان RIPE NCC است. RIR آدرس‌ها را به LIRها (معمولاً ISPها و اپراتورها) واگذار می‌کند و LIR به مشتریان. هر prefix که قرار است در اینترنت اعلام شود، باید در دیتابیس RIR ثبت و یک Route Object داشته باشد که مشخص کند از کدام AS اعلام می‌شود؛ امروز علاوه بر آن، امضای RPKI (ROA) هم رایج شده است.

با این حساب، فضایی که هنوز به کسی واگذار نشده، نباید در جدول BGP هیچ روتری در اینترنت باشد. اما همیشه کسانی هستند که prefix بی‌صاحب را «قرض» می‌گیرند و اعلام می‌کنند تا از آن برای اسپم یا حمله استفاده کنند؛ و همه روترهای اینترنت هم به‌درستی فیلتر نمی‌کنند.

انواع BOGON

نوع محتوا تغییرات کاربرد
Martian (فضای رزرو) RFC 1918 ، Loopback ، Link-local ، Multicast ، آدرس‌های مستندسازی و … تقریباً ثابت ACL ثابت روی هر روتر مرزی
Traditional Bogon Martianها + بلوک‌هایی که IANA به هیچ RIR نداده بسیار کم (IPv4 عملاً تمام شده) prefix-list برای BGP
Full Bogon Traditional + فضایی که RIRها هنوز به کسی نداده‌اند (IPv4 و IPv6) چند بار در روز فقط با فهرست خودکار؛ دستی نگه‌داشتنی نیست

مهم‌ترین آدرس‌های رزرو IPv4 که در هر ACL ضد Spoofing باید باشند:

Prefix کاربرد مرجع
0.0.0.0/8 «این شبکه» RFC 791
10.0.0.0/8 ، 172.16.0.0/12 ، 192.168.0.0/16 آدرس خصوصی RFC 1918
100.64.0.0/10 Shared Address Space (CGNAT) RFC 6598
127.0.0.0/8 Loopback RFC 1122
169.254.0.0/16 Link-local RFC 3927
192.0.0.0/24 IETF Protocol Assignments RFC 6890
192.0.2.0/24 ، 198.51.100.0/24 ، 203.0.113.0/24 مستندسازی (TEST-NET) RFC 5737
198.18.0.0/15 تست کارایی RFC 2544
224.0.0.0/4 Multicast (نباید مبدأ باشد) RFC 5771
240.0.0.0/4 رزرو آینده RFC 1112
اگر ISP شما از CGNAT (100.64.0.0/10) استفاده می‌کند و روتر شما پشت آن است، این بلوک را روی اینترفیس WAN خود فیلتر نکنید؛ فقط روی مرز واقعی اینترنت.

روش ۱: ACL ضد Spoofing روی ورودی اینترنت

ip access-list extended ANTI-BOGON-IN
 deny   ip 0.0.0.0 0.255.255.255 any
 deny   ip 10.0.0.0 0.255.255.255 any
 deny   ip 100.64.0.0 0.63.255.255 any
 deny   ip 127.0.0.0 0.255.255.255 any
 deny   ip 169.254.0.0 0.0.255.255 any
 deny   ip 172.16.0.0 0.15.255.255 any
 deny   ip 192.0.0.0 0.0.0.255 any
 deny   ip 192.0.2.0 0.0.0.255 any
 deny   ip 192.168.0.0 0.0.255.255 any
 deny   ip 198.18.0.0 0.1.255.255 any
 deny   ip 198.51.100.0 0.0.0.255 any
 deny   ip 203.0.113.0 0.0.0.255 any
 deny   ip 224.0.0.0 31.255.255.255 any
 permit ip any any
!
interface GigabitEthernet0/0/0
 description WAN to ISP
 ip access-group ANTI-BOGON-IN in

در عمل این ACL را با بقیه قواعد ACL زیرساخت ترکیب می‌کنید؛ نمونه کامل را در ایمن‌سازی روتر سیسکو ببینید. فضای آدرس خود سازمان را هم به‌عنوان مبدأ از اینترنت ببندید، چون بسته‌ای که از بیرون با آدرس شما برسد، جعلی است.

روش ۲: فیلتر مسیرهای BGP

اگر با ISP یا چند ISP پیرینگ BGP دارید، علاوه بر بسته‌ها، مسیرها را هم فیلتر کنید تا هیچ prefix رزرو یا خیلی کوچکی وارد جدول‌تان نشود:

ip prefix-list NO-BOGONS seq 5  deny 0.0.0.0/8 le 32
ip prefix-list NO-BOGONS seq 10 deny 10.0.0.0/8 le 32
ip prefix-list NO-BOGONS seq 15 deny 100.64.0.0/10 le 32
ip prefix-list NO-BOGONS seq 20 deny 127.0.0.0/8 le 32
ip prefix-list NO-BOGONS seq 25 deny 169.254.0.0/16 le 32
ip prefix-list NO-BOGONS seq 30 deny 172.16.0.0/12 le 32
ip prefix-list NO-BOGONS seq 35 deny 192.0.2.0/24 le 32
ip prefix-list NO-BOGONS seq 40 deny 192.168.0.0/16 le 32
ip prefix-list NO-BOGONS seq 45 deny 198.18.0.0/15 le 32
ip prefix-list NO-BOGONS seq 50 deny 224.0.0.0/3 le 32
ip prefix-list NO-BOGONS seq 90 deny 0.0.0.0/0 ge 25
ip prefix-list NO-BOGONS seq 100 permit 0.0.0.0/0 le 24
!
router bgp 65010
 address-family ipv4
  neighbor 203.0.113.1 prefix-list NO-BOGONS in

خط 90 همه prefixهای کوچک‌تر از /24 را رد می‌کند که در اینترنت جهانی قابل مسیریابی نیستند. اگر فقط default route از ISP می‌گیرید، به این فیلتر نیاز ندارید و فقط روش ۱ کافی است.

روش ۳: فهرست خودکار از Team Cymru و Black Hole

فهرست Full Bogon چند بار در روز عوض می‌شود و نگه‌داشتن دستی آن ممکن نیست. Team Cymru یک سرویس رایگان دارد: با route serverهای آن یک پیرینگ eBGP multihop برقرار می‌کنید و آن‌ها همه BOGONها را برای شما اعلام می‌کنند. روتر شما این مسیرها را با یک route-map به Null0 می‌فرستد؛ یعنی هر بسته‌ای که مقصدش BOGON باشد دور ریخته می‌شود و با uRPF ، بسته‌هایی که مبدأشان BOGON است هم حذف می‌شوند.

سرویس ASN طرف مقابل Community
Traditional Bogons 65333 65333:888
Full Bogons (IPv4 و IPv6) 65332 65332:888
! Discard route used as the blackhole next-hop
ip route 192.0.2.1 255.255.255.255 Null0
!
ip community-list standard CYMRU-BOGON permit 65332:888
route-map CYMRU-BOGONS-IN permit 10
 match community CYMRU-BOGON
 set ip next-hop 192.0.2.1
route-map CYMRU-BOGONS-IN deny 20
!
router bgp 65010
 neighbor 198.51.100.200 remote-as 65332
 neighbor 198.51.100.200 description Team Cymru bogon route server
 neighbor 198.51.100.200 ebgp-multihop 255
 neighbor 198.51.100.200 password Cymru-Key
 address-family ipv4
  neighbor 198.51.100.200 activate
  neighbor 198.51.100.200 route-map CYMRU-BOGONS-IN in
  neighbor 198.51.100.200 prefix-list DENY-ALL out
  neighbor 198.51.100.200 maximum-prefix 250000 warning-only
!
ip prefix-list DENY-ALL seq 5 deny 0.0.0.0/0 le 32
!
interface GigabitEthernet0/0/0
 ip verify unicast source reachable-via any

آدرس route server و رمز را پس از ثبت درخواست، خود Team Cymru به شما می‌دهد (پاسخ معمولاً یکی دو روز کاری طول می‌کشد) و آدرس‌های بالا فقط نمونه‌اند. سه نکته مهم این کانفیگ:

  • هیچ مسیری به Team Cymru اعلام نکنید (prefix-list DENY-ALL در جهت out).
  • next-hop مسیرهای BOGON به آدرسی می‌رود که خودش به Null0 اشاره می‌کند؛ این همان Black Hole است.
  • uRPF در حالت loose روی WAN باعث می‌شود بسته‌هایی که مبدأشان به Null0 مسیریابی شده، دور ریخته شوند؛ توضیح کامل را در سیسکو uRPF ببینید.

نمونه‌ای از مسیرهایی که روتر ما از route server دریافت کرده بود (در زمان نوشتن نسخه اول این مطلب حدود ۴۹۰۰ prefix):

*> 0.0.0.0/8        38.229.66.20   0 65332 i
*> 5.45.32.0/20     38.229.66.20   0 65332 i
*> 10.0.0.0         38.229.66.20   0 65332 i
*> 23.128.0.0/10    38.229.66.20   0 65332 i

احتیاط‌ها

  • فهرست Full Bogon باید همیشه به‌روز باشد. اگر پیرینگ بیفتد و مسیرها قدیمی بمانند، ممکن است بلوکی که تازه به یک مشتری واقعی داده شده را مسدود کنید. با maximum-prefix و مانیتورینگ وضعیت همسایه، این خطر را کنترل کنید.
  • در شبکه‌هایی که فقط default route دارند، Traditional Bogon و ACL ثابت معمولاً کافی است.
  • BOGON جایگزین RPKI Route Origin Validation نیست؛ ROV جلوی اعلام نادرست prefixهای واگذارشده را می‌گیرد و مکمل این روش است.

پرسش‌های متداول

فرق BOGON با Martian چیست؟
Martian فضای رزرو ثابت است (مثل RFC 1918). BOGON معمولاً به مجموعه بزرگ‌تری گفته می‌شود که فضای واگذارنشده را هم شامل می‌شود.

آیا هر شرکتی باید با Team Cymru پیرینگ کند؟
نه. این روش برای شبکه‌هایی است که BGP با اینترنت دارند (ISP ، دیتاسنتر ، سازمان‌های چندخانه). یک سازمان با یک اتصال ساده اینترنت، با ACL ضد Spoofing کارش راه می‌افتد.

برای IPv6 هم لازم است؟
بله. سرویس Full Bogon فهرست IPv6 را هم می‌دهد و فضای IPv6 واگذارنشده بسیار بزرگ‌تر از IPv4 است.

منابع

مشاوره با AKA NET

برای طراحی فیلترهای BGP ، ACL زیرساخت و امنیت روتر مرزی با آکانت (AKA NET) تماس بگیرید.

تلفن: 09121308444  |  ایمیل: aka@aka.ir  |  aka.ir

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *