
CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH
Danh sách nội dung [Ẩn]
Cấu hình bảo mật BGP Juniper EX Series
BGP Route Authentication
Việc sử dụng xác thực định tuyến, định tuyến và tính toàn vẹn của định tuyến làm giảm đáng kể nguy cơ bị tấn công bởi máy hoặc bộ định tuyến đã được cấu hình để chia sẻ thông tin định tuyến không chính xác với bộ định tuyến khác. Trong loại tấn công này, bộ định tuyến bị tấn công có thể bị lừa tạo vòng lặp định tuyến hoặc bảng định tuyến của bộ định tuyến bị tấn công có thể được tăng lên đáng kể do đó ảnh hưởng đến hiệu suất hoặc thông tin định tuyến có thể được chuyển hướng đến một vị trí trong mạng để kẻ tấn công phân tích. Quảng cáo định tuyến giả mạo có thể được gửi ra trên một phân đoạn. Những bản cập nhật này có thể được chấp nhận vào bảng định tuyến của bộ định tuyến lân cận trừ khi có cơ chế xác thực để xác minh nguồn của các tuyến.
Xác thực bộ định tuyến và tuyến đường cho phép các bộ định tuyến chia sẻ thông tin chỉ khi chúng có thể xác minh rằng chúng đang nói chuyện với một nguồn đáng tin cậy, dựa trên mật khẩu (KEY). Trong phương pháp này, một hashed key được gửi cùng với tuyến đường được gửi đến một router khác. Router nhận so sánh key đã gửi với key được cấu hình của riêng nó. Nếu chúng giống nhau, nó sẽ chấp nhận route. Bằng cách sử dụng thuật toán hashing, key không được gửi qua đường dây dưới dạng văn bản thuần túy. Thay vào đó, một hashing được tính toán bằng cách sử dụng key được cấu hình. Bản cập nhật định tuyến được sử dụng làm văn bản đầu vào, cùng với key đi vào hàm hashing. Hashing này được gửi cùng với bản cập nhật tuyến đường đến bộ định tuyến nhận. Router nhận so sánh hashing đã nhận với hashing mà nó tạo ra trên bản cập nhật route bằng cách sử dụng key được chia sẻ trước được cấu hình trên đó. Nếu hai hashing giống nhau thì tuyến đường được coi là từ một nguồn đáng tin cậy. Key chỉ được biết đến bởi Router gửi và nhận.
Để tăng cường bảo mật hơn nữa, bạn có thể cấu hình một loạt các key authentication (a keychain). Mỗi key có thời gian bắt đầu duy nhất trong keychain. Xác thực keychain cho phép bạn thay đổi thông tin mật khẩu theo định kỳ mà không làm sập các phiên ngang hàng. Phương pháp xác thực keychain này được gọi là hitless vì các key được chuyển từ key này sang key khác mà không cần đặt lại bất kỳ phiên ngang hàng nào hoặc làm gián đoạn giao thức route.
Người gửi sử dụng các quy tắc sau để xác định key authentication đang hoạt động:
Thời gian bắt đầu nhỏ hơn hoặc bằng thời gian hiện tại (nói cách khác, không phải trong tương lai).
Thời gian bắt đầu dài hơn thời gian bắt đầu của tất cả các key khác trong chuỗi có thời gian bắt đầu ngắn hơn thời gian hiện tại (nói cách khác là gần nhất với thời gian hiện tại).
Người nhận sẽ xác định key mà nó dùng để xác thực dựa trên mã định danh key đến.
Người gửi xác định key xác thực hiện tại dựa trên thời gian bắt đầu được cấu hình và sau đó tạo giá trị hashing bằng key hiện tại. Sau đó, người gửi chèn đối tượng tùy chọn xác thực nâng cao TCP vào thông báo cập nhật BGP. Đối tượng chứa ID (do IANA chỉ định), độ dài đối tượng, key hiện tại và giá trị hashing.
Người nhận sẽ kiểm tra tùy chọn xác thực nâng cao TCP đến, tra cứu key xác thực đã nhận và xác định xem key có được chấp nhận hay không dựa trên thời gian bắt đầu, thời gian hệ thống và tham số dung sai. Nếu key được chấp nhận, người nhận sẽ tính toán hashing và xác thực thông báo cập nhật.
Ứng dụng ban đầu của một keychain cho một phiên TCP khiến phiên đó phải thiết lập lại. Tuy nhiên, sau khi keychain được áp dụng, việc thêm hoặc xóa mật khẩu khỏi keychain không khiến phiên TCP phải thiết lập lại. Ngoài ra, phiên TCP không thiết lập lại khi keychain thay đổi từ thuật toán xác thực này sang thuật toán xác thực khác.
Thông thường, bạn có thể cấu hình xác thực TCP ở các cấp độ phân cấp sau:
[edit protocols bgp]
[edit protocols bgp group group-name]
[edit protocols bgp group group-name neighbor address]
Các thiết bị Junos hỗ trợ xác thực TCP đối với các đối tác BGP được phát hiện thông qua các Prefix Subnets được phép cấu hình trong một group BGP.
Để cấu hình xác thực dựa trên prefix cho TCP-AO hoặc TCP MD5 cho các phiên BGP, bạn có thể cấu hình câu lệnh theo các phân cấp sau: allow (all | prefix-list)
[edit protocols bgp group group-name]
[edit protocols bgp group group-name dynamic-neighbor dyn-name]
Tất cả các trao đổi giao thức BGP có thể được xác thực để đảm bảo rằng chỉ các router đáng tin cậy mới tham gia vào các bản cập nhật route hệ thống tự trị (AS). Theo mặc định, xác thực bị vô hiệu hóa.
Trước khi bạn bắt đầu:
Cấu hình giao diện router.
Cấu hình interior gateway protocol (IGP - giao thức cổng nội bộ).
Khi bạn cấu hình xác thực, thuật toán sẽ tạo một tổng kiểm tra được mã hóa có trong gói tin được truyền đi. Thiết bị định tuyến nhận sử dụng key authentication (PASSWORD) để xác minh tổng kiểm tra của gói tin.
Ví dụ này bao gồm các câu lệnh sau để cấu hình và áp dụng keychain:
key
— Một keychain có thể có nhiều key. Mỗi key trong một keychain phải được xác định bằng một giá trị số nguyên duy nhất. Phạm vi giá trị định danh hợp lệ là từ 0 đến 63.
Key có thể dài tới 126 ký tự. Các ký tự có thể bao gồm bất kỳ chuỗi ASCII nào. Nếu bạn bao gồm khoảng trắng, hãy đặt tất cả các ký tự trong dấu ngoặc kép (“ ”).
tolerance
— (Tùy chọn) Đối với mỗi keychain, bạn có thể cấu hình giá trị dung sai độ lệch đồng hồ tính bằng giây. Dung sai độ lệch đồng hồ áp dụng cho bộ thu chấp nhận key để cập nhật BGP. Phạm vi có thể cấu hình là từ 0 đến 999.999.999 giây. Trong thời gian dung sai, mật khẩu hiện tại hoặc trước đó đều được chấp nhận.
key-chain
— Đối với mỗi keychain, bạn phải chỉ định một tên. Ví dụ này định nghĩa một keychain: bgp-auth
. Bạn có thể có nhiều keychain trên một router. Ví dụ, bạn có thể có một keychain cho BGP, một keychain cho OSPF và một keychain cho LDP.
secret
— Đối với mỗi key trong keychain, bạn phải đặt mật khẩu bí mật. Mật khẩu này có thể được nhập ở định dạng được mã hóa hoặc văn bản thuần túy trong secret
báo cáo. Nó luôn được hiển thị ở định dạng được mã hóa.
start-time
— Mỗi key phải chỉ định thời gian bắt đầu theo định dạng UTC. Quyền điều khiển được chuyển từ key này sang key tiếp theo. Khi thời gian bắt đầu được cấu hình (dựa trên đồng hồ của thiết bị định tuyến), key có thời gian bắt đầu đó sẽ hoạt động. Thời gian bắt đầu được chỉ định theo múi giờ địa phương cho router và phải là duy nhất trong keychain.
authentication-key-chain
— Cho phép bạn áp dụng một keychain ở cấp độ BGP toàn cầu cho tất cả các đối tác, cho một nhóm hoặc cho một thiết bị lân cận. Ví dụ này áp dụng keychain cho các đối tác được xác định trong nhóm BGP bên ngoài (EBGP) có tên là ext
.
authentication-algorithm
— Đối với mỗi keychain, bạn có thể chỉ định thuật toán hashing. Thuật toán có thể là AES-128, MD5 hoặc SHA-1.
Bạn liên kết một keychain và một thuật toán xác thực với phiên BGP lân cận.
Ví dụ này cấu hình một keychain có tên là bgp-auth
. Khóa 0 sẽ được gửi và chấp nhận bắt đầu từ 2011-6-23.20:19:33 -0700 và sẽ ngừng được gửi và chấp nhận khi key tiếp theo trong keychain (key 1) trở nên hoạt động. Key 1 trở nên hoạt động một năm sau đó vào 2012-6-23.20:19:33 -0700 và sẽ không ngừng được gửi và chấp nhận trừ khi một key khác được cấu hình với thời gian bắt đầu muộn hơn thời gian bắt đầu của key 1. Dung sai độ lệch xung nhịp là 30 giây được áp dụng cho người nhận chấp nhận các key. Trong thời gian dung sai, key hiện tại hoặc key trước đó đều được chấp nhận. Các key là mật khẩu bí mật được chia sẻ. Điều này có nghĩa là cácthiết bị lân cận nhận được bản cập nhật định tuyến đã xác thực phải có cùng cấu hình keychain xác thực, bao gồm các key giống nhau (password). Do đó, Router R0 và Router R1 phải có cùng cấu hình keychain xác thực nếu chúng được cấu hình là các đối tác.
Sơ đồ
Hình 1: Xác thực BGP
Để cấu hình nhanh ví dụ này, hãy sao chép các lệnh sau, dán chúng vào tệp văn bản, xóa mọi ngắt dòng, thay đổi mọi chi tiết cần thiết để phù hợp với cấu hình mạng của bạn, sau đó sao chép và dán các lệnh vào CLI ở cấp độ phân cấp [edit]
.
set protocols bgp group ext type external set protocols bgp group ext peer-as 65530 set protocols bgp group ext neighbor 172.16.2.1 set routing-options autonomous-system 65533 set protocols bgp group ext authentication-key-chain bgp-auth set protocols bgp group ext authentication-algorithm md5 set security authentication-key-chains key-chain bgp-auth tolerance 30 set security authentication-key-chains key-chain bgp-auth key 0 secret this-is-the-secret-password set security authentication-key-chains key-chain bgp-auth key 0 start-time 2011-6-23.20:19:33-0700 set security authentication-key-chains key-chain bgp-auth key 1 secret this-is-another-secret-password set security authentication-key-chains key-chain bgp-auth key 1 start-time 2012-6-23.20:19:33-0700 |
Quy trình từng bước
Ví dụ sau đây yêu cầu bạn điều hướng nhiều cấp độ khác nhau trong cấu hình hệ thống phân cấp. Để biết thông tin về cách điều hướng CLI, hãy xem Using the CLI Editor in Configuration Mode ở trong Junos OS CLI User Guide.
Để cấu hình Bộ định tuyến R1 chấp nhận bộ lọc tuyến từ Thiết bị CE1 và thực hiện lọc tuyến đi bằng các bộ lọc đã nhận:
[edit routing-options]
user@R1# set autonomous-system 65533
[edit protocols bgp group ext]
user@R1# set type external
user@R1# set peer-as 65530
user@R1# set neighbor 172.16.2.1
[edit security authentication-key-chains key-chain bgp-auth]
user@R1# set key 0 secret this-is-the-secret-password
user@R1# set key 0 start-time 2011-6-23.20:19:33-0700
user@R1# set key 1 secret this-is-another-secret-password
user@R1# set key 1 start-time 2012-6-23.20:19:33-0700
Thời gian bắt đầu của mỗi key phải là duy nhất trong keychain.
[edit protocols bgp group ext]
user@R1# set authentication-key-chain bgp-auth
user@R1# set authentication-algorithm md5
[edit security authentication-key-chains key-chain bgp-auth]
user@R1# set tolerance 30
Từ chế độ cấu hình, hãy xác nhận cấu hình của bạn bằng cách nhập các lệnh show protocols
, show routing-options
và show security
. Nếu đầu ra không hiển thị cấu hình mong muốn, hãy lặp lại các hướng dẫn trong ví dụ sau để sửa cấu hình.
user@R1# show protocols bgp { group ext { type external; peer-as 65530; neighbor 172.16.2.1; authentication-key-chain bgp-auth; authentication-algorithm md5; } } user@R1# show routing-options autonomous-system 65533; user@R1# show security authentication-key-chains { key-chain bgp-auth { tolerance 30; key 0 { secret $ABC123$ABC123 start-time “2011-6-23.20:19:33 -0700”; } key 1 { secret $ABC123$ABC123 start-time “2012-6-23.20:19:33 -0700”; } } } |
Nếu bạn đã hoàn tất việc cấu hình thiết bị, hãy vào commit
từ chế độ configuration.
Lặp lại quy trình này cho mọi thiết bị hỗ trợ BGP trong mạng, sử dụng tên interface và địa chỉ phù hợp cho từng thiết bị hỗ trợ BGP.
Xác nhận cấu hình đang hoạt động bình thường.
- Mục đích:
Đảm bảo rằng tùy chọn AutheKeyChain
này xuất hiện trong kết quả của lệnh show bgp neighbor
.
- Hoạt động:
Từ chế độ operational, nhập lệnh show bgp neighbor
.
user@R1> show bgp neighbor Peer: 172.16.2.1+179 AS 65530 Local: 172.16.2.2+1222 AS 65533 Type: External State: Established Flags: Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ direct-lo0 ] Options: Options: Authentication key is configured Authentication key chain: jni Holdtime: 90 Preference: 170 Number of flaps: 0 Peer ID: 172.16.2.1 Local ID: 10.255.124.35 Active Holdtime: 90 Keepalive Interval: 30 Peer index: 0 Local Interface: fe-0/0/1.0 NLRI advertised by peer: inet-unicast NLRI for this session: inet-unicast Peer supports Refresh capability (2) Table inet.0 Bit: 10000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 2 Received prefixes: 2 Suppressed due to damping: 0 Advertised prefixes: 1 Last traffic (seconds): Received 2 Sent 2 Checked 2 Input messages: Total 21 Updates 2 Refreshes 0 Octets 477 Output messages: Total 22 Updates 1 Refreshes 0 Octets 471 Output Queue[0]: 0 |
- Mục đích
Xác nhận rằng tùy chọn BGP có ủy quyền nâng cao.
- Hoạt động
Từ chế độ operational, nhập lệnh
monitor traffic interface fe-0/0/1
.
user@R1> monitor traffic interface fe-0/0/1verbose output suppressed, use or for full protocol decode Listening on fe-0/0/1, capture size 96 bytes 13:08:00.618402 In arp who-has 172.16.2.66 tell 172.16.2.69 13:08:02.408249 Out IP 172.16.2.2.1122 > 172.16.2.1.646: P 1889289217:1889289235(18) ack 2215740969 win 58486 <nop,nop,timestamp 167557 1465469,nop,Enhanced Auth keyid 0 diglen 12 digest: fe3366001f45767165f17037>: 13:08:02.418396 In IP 172.16.2.1.646 > 172.16.2.2.1122: P 1:19(18) ack 18 win 57100 <nop,nop,timestamp 1466460 167557,nop,Enhanced Auth keyid 0 diglen 12 digest: a18c31eda1b14b2900921675>: 13:08:02.518146 Out IP 172.16.2.2.1122 > 172.16.2.1.646: . ack 19 win 58468 <nop,nop,timestamp 167568 1466460,nop,Enhanced Auth keyid 0 diglen 12 digest: c3b6422eb6bd3fd9cf79742b> 13:08:28.199557 Out IP 172.16.2.2.nerv > 172.16.2.1.bgp: P 286842489:286842508(19) ack 931203976 win 57200 <nop,Enhanced Auth keyid 0 diglen 12 digest: fc0e42900a73736bcc07c1a4>: BGP, length: 19 13:08:28.209661 In IP 172.16.2.1.bgp > 172.16.2.2.nerv: P 1:20(19) ack 19 win 56835 <nop,Enhanced Auth keyid 0 diglen 12 digest: 0fc8578c489fabce63aeb2c3>: BGP, length: 19 13:08:28.309525 Out IP 172.16.2.2.nerv > 172.16.2.1.bgp: . ack 20 win 57181 <nop,Enhanced Auth keyid 0 diglen 12 digest: ef03f282fb2ece0039491df8> 13:08:32.439708 Out IP 172.16.2.2.1122 > 172.16.2.1.646: P 54:72(18) ack 55 win 58432 <nop,nop,timestamp 170560 1468472,nop,Enhanced Auth keyid 0 diglen 12 digest: 76e0cf926f348b726c631944>: 13:08:32.449795 In IP 172.16.2.1.646 > 172.16.2.2.1122: P 55:73(18) ack 72 win 57046 <nop,nop,timestamp 1469463 170560,nop,Enhanced Auth keyid 0 diglen 12 digest: dae3eec390d18a114431f4d8>: 13:08:32.549726 Out IP 172.16.2.2.1122 > 172.16.2.1.646: . ack 73 win 58414 <nop,nop,timestamp 170571 1469463,nop,Enhanced Auth keyid 0 diglen 12 digest: 851df771aee2ea7a43a0c46c> 13:08:33.719880 In arp who-has 172.16.2.66 tell 172.16.2.69 ^C 35 packets received by filter 0 packets dropped by kernel |
- Mục đích
Kiểm tra số lượng gói tin bị TCP loại bỏ do lỗi xác thực.
- Hoạt động
Từ chế độ operational, nhập lệnh show system statistics tcp | match auth
.
user@R1> show system statistics tcp | match auth
0 send packets dropped by TCP due to auth errors
58 rcv packets dropped by TCP due to auth errors
- Mục đích
Kiểm tra số lượng gói tin bị TCP loại bỏ do lỗi xác thực.
- Hoạt động
Từ chế độ operational, nhập lệnh show security keychain detail
.
user@R1> show system statistics tcp | match auth 0 send packets dropped by TCP due to auth errors 58 rcv packets dropped by TCP due to auth errors |
Như vậy là chúng ta đã hoàn thành Cấu hình bảo mật BGP Juniper EX Series, chúc các bạn thực hiện thành công. Hi vọng bài viết này sẽ giúp ích cho các bạn trong công việc.
Nếu bạn có vấn đề gì thắc mắc đừng ngần ngại liên hệ với chúng tôi theo thông tin dưới đây để được hỗ trợ thêm.
Hẹn gặp lại các bạn trong các bài viết tiếp theo !
CÔNG TY CỔ PHẦN DỊCH VỤ CÔNG NGHỆ DATECH
• Địa chỉ: Số 23E4 KĐT Cầu Diễn, Tổ 7, Phú Diễn, Bắc Từ Liêm, Hà Nội
• Điện thoại: 02432012368
• Hotline: 098 115 6699
• Email: info@datech.vn
• Website: https://datech.vn