RPF Unicast trên các cạnh


10

RPF Unicast được cho là để ngăn chặn các địa chỉ nguồn khác với những gì chúng nên được cho phép. Trong khi đọc tài liệu của Cisco cho URPF, tôi nhận thấy rằng có các tùy chọn cho phép sử dụng nó trên giao diện đường lên bằng cách để nó đi qua bảng định tuyến.

Câu hỏi của tôi là, nếu nó đi theo một tuyến mặc định thì tất cả các địa chỉ nguồn có được phép không? URPF sẽ mang lại lợi ích gì vào thời điểm đó?

Tôi chắc chắn rằng tôi đang thiếu một cái gì đó, vì vậy tôi thực sự muốn một điểm đi đúng hướng.

Câu trả lời:


15

Các chức năng chuyển tiếp đường dẫn ngược (RPF) Unicast ở ba chế độ riêng biệt và có khả năng giúp giảm vectơ tấn công của bộ định tuyến, đặc biệt là từ các địa chỉ IP giả mạo.

chế độ nghiêm ngặt

(config-if)#ip verify unicast source reachable-via rx

Trong chế độ nghiêm ngặt, bộ định tuyến sẽ kiểm tra và kiểm tra địa chỉ IP nguồn của gói đến với bảng Cơ sở thông tin chuyển tiếp (FIB) của nó để tìm tuyến phù hợp. Nếu tuyến đến địa chỉ IP nguồn đó có thể truy cập thông qua giao diện mà nó được nhận , gói sẽ được nhận. Theo mặc định, một tuyến mặc định không được xem xét trong chế độ nghiêm ngặt (như được định cấu hình ở trên).

Tùy chọn chế độ nghiêm ngặt:

Theo cấu hình của chế độ nghiêm ngặt Unicast RPF trên một giao diện nhất định, bộ định tuyến không còn có thể tự ping trên giao diện đó:

#sh ip int bri | ex unas|Int
FastEthernet0/0            11.0.11.1

#ping 11.0.11.1                                    
.....
Success rate is 0 percent (0/5)

Xác minh các gói bị rơi của URPF:

#show ip int fa0/0 | i ^  [1-9]+ verification drops
     5 verification drops
#show ip traffic | i unicast
     0 no route, 5 unicast RPF, 0 forced drop

Hành vi này có thể được thay đổi bằng cách thêm allow-self-pingcú pháp:

(config-if)#ip verify unicast source reachable-via rx allow-self-ping

Ngoài ra, như đã đề cập trong câu hỏi của bạn, chế độ nghiêm ngặt có thể cho phép kiểm tra địa chỉ IP nguồn của gói đến theo tuyến mặc định. Điều này được kích hoạt theo cú pháp allow-default:

Trong chế độ nghiêm ngặt, việc tự thêm cú pháp allow-defaultsẽ chỉ ngăn việc nhận từ địa chỉ IP nguồn của gói đến có lộ trình qua giao diện khác với nhận. Điều này là giả sử không có danh sách truy cập hoặc các tuyến null được định cấu hình trên bộ định tuyến. Tất cả các địa chỉ nguồn có thể định tuyến có thể truy cập ngoài giao diện mà họ nhận được sẽ khớp với các tuyến cụ thể hoặc tuyến mặc định.

Tuy nhiên, nếu bạn sử dụng các tuyến null, tuyến cụ thể nhất sẽ được đánh giá trước, trước khi kiểm tra URPF đến tuyến mặc định và sẽ hoạt động như một danh sách đen cho các dải IP độc hại đã biết.

Ví dụ - Tất cả lưu lượng truy cập có nguồn gốc từ 3.0.0.0/8 sẽ bị loại bỏ bởi kiểm tra URPF:

(config-if)#ip verify unicast source reachable-via rx allow-default
(config)#ip route 3.0.0.0 255.0.0.0 null 0

Bad-Source-RTR#ping 11.0.11.1 so l1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 11.0.11.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3 
.....
Success rate is 0 percent (0/5)

Hơn nữa, bạn có thể chỉ định Danh sách điều khiển truy cập (ACL) thay vì thêm allow-defaultcú pháp để thực hiện danh sách có cấu trúc gồm các địa chỉ được phép và bị từ chối. Các địa chỉ có thể truy cập ngoài giao diện mà họ đã nhận được và được khớp trong ACL đã xác định sẽ bị hủy hoặc được cho phép tương ứng.

!
access-list 23 permit 3.0.0.0 0.255.255.255
access-list 23 deny   4.0.0.0 0.255.255.255 log
access-list 23 permit any
!
(config)#int fa0/0                                 
(config-if)#ip verify unicast source reachable-via rx 23

Cuối cùng, bạn có thể chỉ định một ACL với allow-defaultcú pháp, nhưng nó sẽ không có hiệu lực. Các gói sẽ không được kiểm tra đối với ACL được chỉ định với allow-defaulttùy chọn.

#ip verify unicast source reachable-via rx allow-default ? 
  <1-199>          A standard IP access list number
  <1300-2699>      A standard IP expanded access list number

Chế độ lỏng lẻo

R1(config-if)#ip verify unicast source reachable-via any

Ở chế độ lỏng lẻo, bộ định tuyến sẽ kiểm tra địa chỉ IP nguồn của gói đến và kiểm tra nó dựa vào bảng FIB của nó để tìm tuyến phù hợp. Nếu có thể truy cập tuyến đến địa chỉ IP nguồn đó, gói có thể được nhận, bất kể giao diện được nhận trên đó là gì. Theo mặc định, một tuyến mặc định không được xem xét trong chế độ lỏng lẻo (như được định cấu hình ở trên).

Chế độ lỏng và chế độ nghiêm ngặt có các tùy chọn cấu hình tương tự; Sự khác biệt chính là cú pháp được sử dụng ( anyso với rx) và liệu địa chỉ IP nguồn của gói đến có thể truy cập được thông qua giao diện mà nó nhận được hay không.

(config-if)#ip verify unicast source reachable-via any ?
  <1-199>          A standard IP access list number
  <1300-2699>      A standard IP expanded access list number
  allow-default    Allow default route to match when checking source address
  allow-self-ping  Allow router to ping itself (opens vulnerability in
                   verification)

Chế độ VRF

Chế độ VRF có thể tận dụng chế độ lỏng lẻo hoặc nghiêm ngặt trong một VRF nhất định và sẽ đánh giá địa chỉ IP nguồn của gói đến với bảng VRF được định cấu hình cho hàng xóm eBGP.


Tham khảo:
Sách trắng Cisco URPF
Tìm hiểu Hướng dẫn cấu hình URPF đường dẫn ngược Unicast


Những gì về ứng dụng thực tế? Nó thực sự thậm chí có ý nghĩa / một sự khác biệt để đặt nó trên đường lên của bạn?

3
@codey Tôi sẽ không chạy uRPF ở đường lên, chỉ ở giao diện khách hàng phải đối mặt. one.time, +1, công việc tốt, câu trả lời chắc chắn, tôi muốn chỉ ra rằng tuyến tĩnh đến null0 trong một số nền tảng không phải là cisco sẽ không khiến chế độ 'lỏng lẻo' thất bại. Có thể thay vì 'trả lời' bạn nên sử dụng 'nhận', tức là các gói RPF không thành công sẽ không được nhận. Ngoài ra, có thể thay đổi 'đối với bảng định tuyến' (RIB) thành 'đối với bảng chuyển tiếp' (FIB). Vì có hương vị của uRPF được gọi là "lỏng lẻo / nghiêm ngặt", kiểm tra đối với RIB (Cisco không hỗ trợ, nên họ chỉ kiểm tra FIB).
ytti

@ytti Khi tôi xem tài liệu của Cisco, nó chỉ đơn giản nói với bảng định tuyến. Tôi không nói điều đó đúng, nhưng kỳ lạ là họ sẽ nói rằng nếu đó chỉ là FIB.

Hãy tưởng tượng trường hợp khách hàng thông báo tiền tố BGP 192.0.2.0/24, bạn cũng có tuyến đường tĩnh cho điểm này đến lõi. Nếu giao diện khách hàng có uRPF / nghiêm ngặt, bạn sẽ bỏ các gói từ khách hàng có địa chỉ nguồn 192.0.2.42, mặc dù trong RIB (bảng định tuyến) mục này tồn tại, nó chỉ không / tốt nhất / mục và do đó không phải là FIB. Tuy nhiên, nếu bạn chạy gói 'uRPF / tính khả thi nghiêm ngặt' sẽ không bị hủy (JunOS hỗ trợ khả thi, vì vậy các tài liệu của nó sẽ cung cấp thêm thông tin).
ytti
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.