RPF Unicast Di Tepi


10

RPF Unicast seharusnya mencegah alamat sumber yang berbeda dari yang seharusnya diizinkan. Saat membaca dokumentasi Cisco untuk URPF, saya perhatikan bahwa ada opsi untuk memungkinkannya digunakan pada antarmuka uplink dengan membiarkannya melalui tabel routing.

Pertanyaan saya adalah, jika menggunakan rute default, apakah semua alamat sumber tidak diizinkan? Apa manfaat yang akan dilakukan URPF pada saat itu?

Saya yakin saya kehilangan sesuatu, jadi saya benar-benar ingin titik di arah yang benar.

Jawaban:


15

Unicast Reverse Path Forwarding (RPF) berfungsi dalam tiga mode berbeda dan berpotensi membantu mengurangi vektor serangan router, khususnya dari alamat IP palsu.

Mode Ketat

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

Dalam mode ketat, router akan memeriksa dan memeriksa alamat IP sumber paket yang masuk terhadap tabel Forwarding Information Base (FIB) untuk rute yang cocok. Jika rute ke alamat IP sumber itu dapat dicapai melalui antarmuka tempat ia diterima , paket itu akan diterima. Secara default, rute default tidak dipertimbangkan dalam mode ketat (seperti yang dikonfigurasi di atas).

Opsi Mode Ketat:

Mengikuti konfigurasi mode ketat Unicast RPF pada antarmuka yang diberikan, router tidak dapat lagi melakukan ping sendiri pada antarmuka itu:

#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)

Verifikasi paket yang dijatuhkan 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

Perilaku ini dapat diubah dengan menambahkan allow-self-pingsintaks:

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

Selain itu, seperti yang disebutkan dalam pertanyaan Anda, mode ketat dapat memungkinkan alamat IP sumber paket yang masuk diperiksa terhadap rute default. Ini diaktifkan oleh sintaks allow-default:

Dalam mode ketat, menambahkan sintaks allow-defaultdengan sendirinya hanya akan mencegah penerimaan dari alamat IP sumber paket masuk yang memiliki rute keluar melalui antarmuka yang berbeda dari yang diterima. Ini dengan asumsi tidak ada daftar akses atau rute nol yang dikonfigurasi pada router. Semua alamat sumber yang dapat dilalui yang dapat dijangkau dari antarmuka yang mereka terima akan cocok dengan rute tertentu atau rute default.

Namun, jika Anda menggunakan rute nol, rute paling spesifik akan dievaluasi terlebih dahulu, sebelum pemeriksaan URPF sampai ke rute default, dan akan bertindak sebagai daftar hitam untuk rentang IP berbahaya yang diketahui.

Contoh - Semua lalu lintas yang bersumber dari 3.0.0.0/8 akan dijatuhkan oleh pemeriksaan 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)

Selain itu, Anda dapat menentukan Access-Control List (ACL) sebagai pengganti menambahkan allow-defaultsintaks untuk menyelesaikan daftar terstruktur dari alamat yang diizinkan dan ditolak. Alamat-alamat yang dapat dijangkau dari antarmuka tempat mereka diterima dan dicocokkan dengan ACL yang ditentukan akan dihapus atau diizinkan.

!
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

Akhirnya, Anda dapat menentukan ACL dengan allow-defaultsintaks, tetapi tidak akan berpengaruh. Paket tidak akan diperiksa terhadap ACL yang ditentukan dengan allow-defaultopsi.

#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

Mode Longgar

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

Dalam mode longgar, router akan memeriksa alamat IP sumber paket yang masuk, dan mengeceknya dengan tabel FIB untuk rute yang cocok. Jika rute ke alamat IP sumber tersebut dapat dijangkau, paket dapat diterima, terlepas dari antarmuka mana ia diterima. Secara default, rute default tidak dianggap dalam mode longgar (seperti yang dikonfigurasi di atas).

Mode longgar dan mode ketat memiliki opsi konfigurasi yang serupa; Perbedaan utama adalah sintaks yang digunakan ( anyvs. rx) dan apakah alamat IP sumber paket yang masuk dapat dijangkau melalui antarmuka yang diterima.

(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)

Mode VRF

Mode VRF dapat memanfaatkan mode longgar atau ketat dalam VRF yang diberikan dan akan mengevaluasi alamat IP sumber paket yang masuk terhadap tabel VRF yang dikonfigurasi untuk tetangga eBGP.


Referensi:
Buku putih Cisco URPF
Memahami Unicast Reverse Path Forwarding
panduan konfigurasi URPF


Bagaimana dengan aplikasi praktisnya? Apakah benar-benar masuk akal untuk meletakkannya di uplink Anda?
codey

3
@codey Saya tidak akan menjalankan uRPF di uplink, hanya di antarmuka yang dihadapi pelanggan. one.time, +1, kerja bagus, jawaban solid, saya ingin menunjukkan bahwa rute statis ke null0 di beberapa platform non-cisco tidak akan menyebabkan mode 'longgar' gagal. Mungkin alih-alih 'menjawab' Anda harus menggunakan 'terima', yaitu paket gagal RPF tidak akan diterima. Juga mungkin 'terhadap routing-table' (RIB) harus diubah menjadi 'terhadap forwarding-table' (FIB). Karena ada rasa uRPF yang disebut 'layak longgar / ketat', yang memeriksa terhadap RIB (Cisco tidak mendukungnya, mereka memeriksa terhadap FIB saja).
ytti

@ytti Ketika saya melihat dokumentasi Cisco, itu hanya mengatakan terhadap tabel routing. Saya tidak mengatakan itu benar, tetapi aneh bahwa mereka akan mengatakan bahwa jika itu hanya FIB.
codey

Bayangkan kasus di mana pelanggan mengumumkan awalan BGP 192.0.2.0/24, Anda juga memiliki rute statis untuk ini menunjuk ke inti. Jika antarmuka pelanggan memiliki uRPF / ketat, Anda akan menjatuhkan paket dari pelanggan yang memiliki alamat sumber 192.0.2.42, meskipun dalam RIB (routing-table) entri ini ada, itu hanya bukan / terbaik / entri, dan akibatnya tidak di FIB. Namun jika Anda menjalankan paket 'uRPF / feasible ketat' tidak akan dibatalkan (JunOS mendukung layak, sehingga dokumennya akan memberikan informasi tambahan).
ytti
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.