Thực hiện các giải pháp bảo mật thiết thực cho mạng BGP

Một phần của tài liệu Nghiên cứu các vấn đề bảo mật trên giao thức BGP (Trang 61 - 114)

Trong nghiên cứu này, tôi đã thực hiện các biện pháp an ninh thiết thực đƣợc đề cập trong chƣơng 1 để bảo vệ chống lại việc cấu hình sai và các cuộc tấn công BGP và đã kiểm tra tính hiệu quả của nó so với hầu hết các cuộc tấn công phổ biến trong lịch sử BGP. Trong hình 32 là sơ đồ cấu trúc liên kết để bài toán này.

Hình 32. Sơ đồ cấu trúc liên kết bài toán 4

Tôi đã thực hiện các biện pháp bảo mật thiết thực trên mạng đã đƣợc cấu hình trong Bài toán 3 và xác định các biện pháp bảo vệ an ninh cung cấp bởi các

-Chống bất ổn tuyến để tránh các vấn đề liên quan đến tuyến bất ổn định (flapping).

-MD-5 dựa trên mật khẩu bảo vệ giữa các thiết bị cùng cấp.

-Thời gian để tồn tại dựa trên bảo vệ tấn công DoS từ máy chủ từ xa. -Hạn chế số lƣợng các prefix đƣợc nhận.

-Hạn chế chiều dài AS_Path. -Thực hiện lọc tiền tố thích hợp.

Lọc prefix

Theo cấu trúc liên kết của tôi, tôi đã xác định các quy tắc lọc sau đây:

AS số 1 tới AS số 2 – chỉ lọc 172.0.0.0/6 và chặn tất cả các bogon ( được định nghĩa với tiền tố a2b)

AS số 1 tới AS số 3 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 1 tới AS số 4 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 2 tới AS số 1 – chỉ lọc 184.0.0.0/5 AS số 2 tới AS số 4 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 2 tới AS số 5 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 3 tới AS số 1 – chỉ lọc 174.1.0.0/16 và 175.1.0.0/16 AS số 3 tới AS số 4 – chỉ lọc 174.1.0.0/16 và 172.0.0.0/6 AS số 3 tới AS số 6 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 3 tới AS số 7 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 4 tới AS số 1 – chỉ lọc 175.1.0.0/16 và 184.0.0.0/5 AS số 4 tới AS số 3 – chỉ lọc 175.1.0.0/16 và 184.0.0.0/5 AS số 4 tới AS số 2 – chỉ lọc 175.1.0.0/16, 174.1.0.0/16 và 172.0.0.0/6 AS số 4 tới AS số 8 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 5 tới AS số 2 – chỉ lọc 184.1.0.0/16 AS số 5 tới AS số 9 – chỉ lọc 172.0.0.0/6 và 184.0.0.0/5 AS số 6 tới AS số 3 – chỉ lọc 174.1.1.0/24 AS số 7 tới AS số 3 – chỉ lọc 174.1.2.0/24 AS số 8 tới AS số 4 – chỉ lọc 175.1.1.0/24 AS số 9 tới AS số 5 – chỉ lọc 184.1.1.0/24

Giao thức định tuyến BGP đƣợc cấu hình trong cấu trúc này các thƣớc đo bảo mật và các quy tắc lọc prefix đƣợc đề cập đến. Bây giờ các bộ định tuyến F, G và H đang tạo ra thông tin sai về 184.1.1.0/24 và bộ định tuyến I đang tạo ra thông tin sai về 174.1.1.0/24. Bảng định tuyến của bộ định tuyến F đƣợc thể hiện trong hình 33 dƣới đây

Hình 33. Bộ định tuyến F tạo ra thông tin sai lệch

Bảng định tuyến của bộ định tuyến F có nhận tuyến đƣờng sai 184.1.1.0/24 và quảng cáo thông tin định tuyến có thể truy cập không chính xác đến bộ định tuyến C, C có thể truyền thêm tới router A và router D.

Tƣơng tự nhƣ vậy, bộ định tuyến G và H cũng đang tạo ra những thông tin sai lệch về prefix này và quảng cáo nó lên trên cho các bộ định tuyến để quảng cáo thông tin này vào trong miền định tuyến. Hình 34 dƣới đây trình bày bảng định tuyến của bộ định tuyến G.

Hình 34. Bộ định tuyến G quảng cáo tuyến không thể tiếp cận đƣợc

Kết quả là bộ định tuyến G có thông tin không chính xác tới mạng 184.1.1.0/24 (ping không thành công). Bảng định tuyến của bộ định tuyến H và kiểm tra kết nối của nó đƣợc thể hiện trong hình 35 bên dƣới.

Hình 35. Bộ định tuyến H quảng cáo tuyến không thể tiếp cận đƣợc

Tƣơng tự, bảng định tuyến của bộ định tuyến I đƣợc thể hiện trong hình 36 dƣới đây

Hình 36. Bộ định tuyến I tránh các tuyến bị sai

Tuy nhiên, do tiến hành lọc bảo mật thích hợp tại bộ định tuyến C, D và E, chúng sẽ không chấp nhận và truyền thông tin sai lệch này lên các bộ định tuyến và do đó tránh đƣợc sự cố mất kết nối đã xảy ra trong bài toán 3.

Hình 37. Bảng đinh tuyến của bộ định tuyến C và kiểm tra kết nối thành công

Bảng định tuyến chính xác tại bộ định tuyến E và kiểm tra ping từ bộ định tuyến E đƣợc thể hiện trong hình 38.

Hình 38. Bộ định tuyến E vẫn có kết nối

Bộ định tuyến lõi A vẫn không bị ảnh hƣởng bởi thông tin sai lệch này nhƣ đƣợc thể hiện trong bảng định tuyến của nó dƣới đây trong hình 39.

Hình 39. Bảng định tuyến của bộ định tuyến A hợp lệ

Tƣơng tự một bộ định tuyến lõi khác, bảng định tuyến của B cũng chỉ lấy đƣợc thông tin chính xác bằng ngăn chặn thông tin sai lệch nhƣ trong hình 40 bên dƣới.

KẾT LUẬN

Đánh giá kết quả đạt đƣợc

Giao thức định tuyến BGP đƣợc sử dụng để truyền tải thông tin định tuyến trên mạng Internet có rất nhiều điểm yếu có thể khai thác để phá vỡ kết nối Internet. Bản thân nó có những lỗ hổng trong giao thức định tuyến và các giao thức đƣợc sử dụng cho chức năng của nó. BGP là giao thức định tuyến phức tạp và có miền lớn, các lỗi cấu hình nhỏ có thể xảy ra và chúng có ảnh hƣởng rất lớn đó trên quy mô cả mạng Internet. Cũng tƣơng đối dễ dàng để tìm ra điểm yếu của các bộ định tuyến hoặc máy chủ trong miền lớn này để lợi dụng các mối quan hệ tin tƣởng. BGP không kèm bảo mật vì không có xác thực giữa các thiết bị cùng cấp và không có xác minh các thông điệp cập nhật.

Dịch vụ Internet đã bị gián đoạn trong trƣớc đây do các lỗ hổng trong giao thức định tuyến BGP nhƣ 'Sự cố tắc nghẽn Internet AS7007" và " tắc nghẽn YouTube bởi PTA”. Các bộ định tuyến BGP sử dụng giao thức TCP là giao thức lớp truyền tải để thiết lập kết nối trao đổi thông tin và do đó dẫn tới lỗ hổng liên quan đến TCP nhƣ từ chối dịch vụ; và RST có thể đƣợc sử dụng để làm dịu các hoạt động bình thƣờng của BGP. Hơn nữa, có thể thêm các thông tin sai lệch một cách cố ý hoặc do một số lỗi cấu hình. Thiết bị cùng cấp độc hại có thể gửi các quảng cáo tuyến với các tuyến cụ thể hơn (tuyến bị khử tập kết) hoặc tuyến với các thuộc tính đƣờng dẫn bị sửa đổi để làm ảnh hƣởng đến việc lựa chọn đƣờng dẫn, điều này mà có thể dẫn đến sự cố hố đen, nghe trộm, tắc nghẽn hoặc vòng lặp định tuyến. (adsbygoogle = window.adsbygoogle || []).push({});

Nhiều cải tiến bảo mật nhƣ TCP MD5 dựa trên xác thực các thiết bị cùng cấp đã đƣợc thêm vào để khắc phục những lỗ hổng này nhƣng MD5 chỉ cung cấp xác thực các thiết bị cùng cấp mà không xác thực thông điệp cập nhật. Nhiều hình thức an toàn mới của BGP đƣợc đề xuất nhƣ S-BGP và SoBGP nhƣng chúng không thực hiện đƣợc do chi phí tiến hành. Bản thân các bộ định tuyến BGP đã nặng và không thể chịu đƣợc tải của các giao thức nặng này.

chế quyền truy cập điều khiển cho nó là bƣớc đầu tiên hƣớng tới bảo mật BGP. Có rất nhiều cơ chế khác nhƣ cơ chế bảo mật TTL tổng quát, giảm bất ổn tuyến, hạn chế tối đa prefix, hạn chế độ dài AS_Path và lọc địa chỉ prefix.

Trong bài toán đầu tiên, tôi nghiên cứu các thuộc tính đƣờng dẫn có thể ảnh hƣởng nhƣ thế nào đến quyết định lựa chọn đƣờng dẫn. Tôi thiết kế kịch bản có đƣờng dẫn thay thế đối với Internet và đã mô tả cách mà thao tác thuộc tính đƣờng dẫn BGP dẫn đến việc lựa chọn đƣờng dẫn. Tôi đã cho thấy làm thế nào để tận dụng cả hai liên kết để không lãng phí băng thông và tạo cân bằng tải. Khả năng chịu lỗi cũng đƣợc trình bày là nếu một đƣờng dẫn bị lỗi thì lƣu lƣợng sẽ đƣợc chuyển qua đƣờng dẫn khác. Tƣơng tự nhƣ vậy có nhiều đƣờng dẫn luồng thông tin đến, hƣớng tới một tổ chức, và các ISP sẽ định tuyến lƣu lƣợng tới các mạng nội bộ theo chính sách của tổ chức và làm cân bằng tải giữa hai đƣờng dẫn có sẵn. Đây là tính năng chính của giao thức định tuyến BGP; để hỗ trợ chính sách dựa trên định tuyến.

Trong bài toán thứ hai, tôi nghiên cứu các vấn đề liên quan đến định tuyến iBGP đƣợc sử dụng trong các ISP chuyển tiếp. Có những quy tắc nhất định mà iBGP có thể gây ra sự cố lỗ đen và vòng lặp định tuyến. Ví dụ next-hop không thay đổi khi quảng cáo tới các thiết bị cùng cấp nội bộ và có thể truy cập đƣợc. Một vấn đề khác là nguyên tắc phân chia ngang trong định tuyến iBGP giúp ngăn chặn bộ định tuyến khỏi việc chuyển tiếp các quảng cáo nhận đƣợc từ một thiết bị cùng cấp tới một thiết bị cùng cấp khác. Điều này có thể dẫn đến mất thông tin dẫn đến hố đen hoặc định tuyến vòng lặp.

Tôi cũng đã chỉ ra cách khắc phục những vấn đề này bằng cách sử dụng quy tắc đồng bộ hóa hoặc bằng cách phân phối đầy đủ thông tin IGP trong miền và bằng cách full mesh kết nối iBGP (tạo kết nối mắt lƣới). Nhƣng việc phân phối lại tất cả thông tin trong IGP và full mesh kết nối iBGP rất khó để duy trì. Bộ phản xạ tuyến có thể đƣợc sử dụng để làm cho giải pháp full mesh iBGP có thể áp dụng đƣợc.

Trong bài toán thứ ba, tôi đã mô tả các quảng cáo đƣờng dẫn BGP sai do một số lỗi cấu hình hoặc từ thiết bị cùng cấp tin cậy có thể phá vỡ các quyết định định

tuyến tổng thể nhƣ thế nào. Thông tin sai lệch khởi phát từ một bộ định tuyến đƣợc chuyển tiếp đến những bộ định tuyến khác, các bộ định tuyến này sẽ coi thông tin này là chính xác do thiếu cơ chế xác minh, và tuyên truyền những quảng cáo này rộng hơn.

Trong bài toán cuối cùng, tôi đã thực hiện các biện pháp bảo mật thiết thực để bảo vệ chống lại các cuộc tấn công và lỗi cấu hình BGP đã đƣợc đề cập trong bài toán 3 và tôi đã kiểm tra hiệu quả của chúng. Kịch bản cấu hình Cisco IOS cho tất cả các bộ định tuyến trong cấu trúc liên kết của bài toán này đƣợc cung cấp trong phụ lục của báo cáo này. Giảm bất ổn tuyến đƣợc cấu hình để tránh các vấn đề liên quan đến tuyến bất ổn và MD5 bảo vệ dựa trên mật khẩu giữa các thiết bị cùng cấp đƣợc cấu hình để xác thực thiết bị cùng cấp. Cấu trúc này cũng có TTL dựa trên phòng chống tấn công DDoS, lọc prefix, hạn chế độ dài AS_Path và hạn chế số lƣợng prefix đƣợc nhận.

Hƣớng phát triển của luận văn

Các sự cố lớn đã xảy ra trong lịch sử là do quảng cáo tuyến có thể truy cập đƣợc bị sai hoặc do bị tấn công hoặc lỗi cấu hình. Loại tấn công nhƣ vậy có thể đƣợc ngăn chặn bằng việc tiến hành lọc với các chính sách đƣợc thiết kế thích hợp ở mọi bộ định tuyến ISP cùng với các biện pháp bảo vệ thực tế đã đƣợc biết đến đƣợc các nhà cung cấp đề xuất.

Hơn nữa, chúng ta có thể xác định rằng hầu hết các vấn đề xảy ra trong định tuyến BGP là do sai lầm không chủ ý vì BGP khó cấu hình và hệ thống dựa trên CLI dễ bị sai sót dẫn đến những nhầm lẫn. Ngay cả một sai lầm nhỏ nhƣ đánh máy có thể tung ra một cuộc tấn công trên toàn bộ mạng Internet.

Vì vậy, để ngăn chặn vấn đề nhƣ vậy trong tƣơng lai, cần có một số tiện ích đồ họa để cấu hình BGP tạo điều kiện cấu hình BGP và xác nhận đầu vào đƣợc cung cấp bởi ngƣời dùng trƣớc khi áp dụng những thay đổi cấu hình thực tế

kế giao diện ngƣời-máy bằng đồ họa - GUI dựa trên bộ kiểm tra BGP và cơ chế phát hiện của nó để xác định và khắc phục các vấn đề trong kịch bản BGP, hạn chế tối đa cảnh báo nhầm.

TÀI LIỆU THAM KHẢO

[1] Alvaro Retana. (2003), Secure Origin BGP (soBGP), Cisco System, USA.

[2] Cisco System, Inc. (2006), Cisco IOS IP Configuration Guide, Cisco System, USA.

[3] Kevin Butler., Patrick McDaniel. (2010), A Survey of BGP Security Issues and Solutions, Proceedings of the IEEE Vol 98, trang 100-122.

[4] Russ White. (2003), Securing BGP Through Secure Origin BGP, The internet Protocol Journal Vol6, Cisco System, USA.

[5] S. Kent., C. Lynn., K.Seo. (2000), Secure Border Gateway Protocol (S-BGP),

IEEE J. Sel. Areas Commun Vol18.

[6] S. Kent., K. Seo. (2005), Security Architecture for the Internet Protocol, RFC4301.

[7] S. Murphy. (2006), BGP Security Vulnerabilities Analysis, RFC4272.

[8] Wendell Odom. (2010), CCNP Route 642-902 Official Certification Guide, Cisco Press, USA.

[9] Y. Rekhter., T. Li., S. Hares. (2006), A Border Gateway Protocol 4 (BGP-4), RFC4271.

[10] Tài liệu online: Protecting Border Gateway Protocol for the Enterprise

PHỤ LỤC Router A

version 12.3 no service pad

service tcp-keepalives-in service tcp-keepalives-out

service timestamps debug datetime msec localtime show-timezone service timestamps log datetime msec localtime show-timezone service password-encryption service sequence-numbers ! hostname A ! boot-start-marker boot-end-marker !

security authentication failure rate 10 log security passwords min-length 6 (adsbygoogle = window.adsbygoogle || []).push({});

logging buffered 4096 debugging logging console critical

enable secret 5 $1$Gujl$J67S8UDmTblS9rKYqH5/i0 enable password 7 051B0704285F5A0817

!

username user1 password 7 08314D5D1A0E0A05165A aaa new-model

aaa authentication login local_auth local aaa session-id common

ip subnet-zero no ip source-route no ip gratuitous-arps ip cef no ip bootp server ! interface Loopback0 ip address 99.99.99.41 255.255.255.255 ! interface FastEthernet0/0 no ip address no ip redirects no ip unreachables no ip proxy-arp shutdown duplex auto speed auto ! interface Serial0/0 ip address 99.99.99.1 255.255.255.252 no ip redirects no ip unreachables no ip proxy-arp clockrate 2000000

! interface FastEthernet0/1 no ip address no ip redirects no ip unreachables no ip proxy-arp shutdown duplex auto speed auto ! interface Serial0/1 ip address 99.99.99.5 255.255.255.252 no ip redirects no ip unreachables no ip proxy-arp clockrate 2000000 ! interface Serial0/2 ip address 99.99.99.9 255.255.255.252 no ip redirects no ip unreachables no ip proxy-arp clockrate 2000000 ! interface Serial0/3 no ip address no ip redirects no ip proxy-arp shutdown duplex auto speed auto ! router eigrp 1 network 99.0.0.0 no auto-summary ! router bgp 1 no synchronization bgp log-neighbor-changes bgp maxas-limit 20

network 172.0.0.0 mask 252.0.0.0 aggregate-address 172.0.0.0 252.0.0.0 summary-only neighbor 99.99.99.42 remote-as 2

neighbor 99.99.99.42 ebgp-multihop 2

neighbor 99.99.99.42 update-source Loopback0 neighbor 99.99.99.42 prefix-list b2a in

neighbor 99.99.99.42 prefix-list a2b out

neighbor 99.99.99.42 password 7 070C285F4D06485744 neighbor 99.99.99.42 maximum-prefix 100

neighbor 99.99.99.43 remote-as 3 neighbor 99.99.99.43 ebgp-multihop 2

neighbor 99.99.99.43 password 7 110A1016141D5A5E57 neighbor 99.99.99.43 maximum-prefix 100

neighbor 99.99.99.44 remote-as 4 neighbor 99.99.99.44 ebgp-multihop 2

neighbor 99.99.99.44 update-source Loopback0 neighbor 99.99.99.44 prefix-list d2a in

neighbor 99.99.99.44 prefix-list a2d out

neighbor 99.99.99.44 password 7 045802150C2E1D1C5A neighbor 99.99.99.44 maximum-prefix 100 no auto-summary !

no ip http server ip classless

ip route 172.0.0.0 252.0.0.0 Null0 !

ip prefix-list a2b seq 5 permit 172.0.0.0/6 ip prefix-list a2b seq 10 deny 5.0.0.0/8 ip prefix-list a2b seq 15 deny 10.0.0.0/8 ip prefix-list a2b seq 20 deny 23.0.0.0/8 ip prefix-list a2b seq 25 deny 37.0.0.0/8 ip prefix-list a2b seq 30 deny 39.0.0.0/8 ip prefix-list a2b seq 35 deny 100.0.0.0/8 ip prefix-list a2b seq 40 deny 102.0.0.0/8 ip prefix-list a2b seq 45 deny 105.0.0.0/8 ip prefix-list a2b seq 50 deny 107.0.0.0/8 ip prefix-list a2b seq 55 deny 127.0.0.0/8 ip prefix-list a2b seq 60 deny 169.254.0.0/16 ip prefix-list a2b seq 65 deny 172.16.0.0/12 ip prefix-list a2b seq 70 deny 179.0.0.0/8 ip prefix-list a2b seq 75 deny 192.0.0.0/24 ip prefix-list a2b seq 80 deny 192.0.2.0/24 ip prefix-list a2b seq 85 deny 198.18.0.0/15 ip prefix-list a2b seq 90 deny 192.168.0.0/16

Một phần của tài liệu Nghiên cứu các vấn đề bảo mật trên giao thức BGP (Trang 61 - 114)