에지에서의 유니 캐스트 RPF


10

유니 캐스트 RPF는 허용되어야하는 것과 다른 소스 주소를 방지해야합니다. URPF에 대한 Cisco의 설명서를 읽는 동안 라우팅 테이블을 통해 업 링크 인터페이스에서 사용할 수있는 옵션이 있음을 알게되었습니다.

내 질문은 그것이 기본 경로로 가고 있다면 모든 소스 주소가 허용되지 않습니까? 이 시점에서 URPF는 어떤 이점을 제공합니까?

나는 무언가를 놓치고 있다고 확신하므로 올바른 방향의 포인트를 정말로 원합니다.

답변:


15

RPC (Unicast Reverse Path Forwarding)는 세 가지 모드로 작동하며 특히 스푸핑 된 IP 주소에서 라우터의 공격 경로를 줄이는 데 도움이 될 수 있습니다.

엄격한 모드

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

엄격 모드에서 라우터는 수신 패킷의 소스 IP 주소를 일치하는 경로에 대한 전달 정보베이스 (FIB) 테이블과 비교하여 검사하고 확인합니다. 해당 소스 IP 주소에 대한 경로가 수신 된 인터페이스를 통해 도달 가능한 경우 패킷이 수신됩니다. 기본적으로 기본 경로는 엄격 모드 (위에 구성된대로)로 간주되지 않습니다.

엄격한 모드 옵션 :

지정된 인터페이스에서 유니 캐스트 RPF 엄격 모드를 구성한 후에는 라우터가 해당 인터페이스에서 더 이상 ping을 수행 할 수 없습니다.

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

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

이 동작은 다음 allow-self-ping구문 을 추가하여 변경할 수 있습니다 .

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

또한 귀하의 질문에서 언급했듯이 엄격 모드를 사용하면 수신 패킷의 소스 IP 주소를 기본 경로와 비교하여 확인할 수 있습니다. 이것은 다음 구문으로 활성화됩니다 allow-default.

엄격 모드에서 구문 allow-default자체를 추가하면 수신 된 인터페이스와 다른 인터페이스를 통해 라우팅되는 수신 패킷의 소스 IP 주소로부터의 수신 만 방지합니다. 라우터에 액세스 목록이나 널 경로가 구성되어 있지 않다고 가정합니다. 수신 된 인터페이스에 도달 할 수있는 모든 라우팅 가능한 소스 주소는 특정 경로 또는 기본 경로와 일치합니다.

그러나 널 경로를 사용하는 경우 URPF 검사가 기본 경로에 도달하기 전에 가장 구체적인 경로가 먼저 평가되고 알려진 악성 IP 범위에 대한 블랙리스트 역할을합니다.

-3.0.0.0/8에서 공급 된 모든 트래픽은 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)

또한 allow-default구문을 추가하는 대신 액세스 제어 목록 (ACL)을 지정하여 허용 된 주소와 거부 된 주소의 구조화 된 목록을 얻을 수 있습니다. 수신 한 인터페이스에서 도달 할 수 있고 정의 된 ACL에서 일치하는 주소는 삭제되거나 그에 따라 허용됩니다.

!
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

마지막으로 allow-default구문을 사용하여 ACL을 지정할 수 있지만 효과는 없습니다. allow-default옵션으로 지정된 ACL에 대해서는 패킷을 검사하지 않습니다 .

#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

느슨한 모드

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

느슨한 모드에서 라우터는 들어오는 패킷의 소스 IP 주소를 검사하여 일치하는 경로가 있는지 FIB 테이블과 비교합니다. 해당 소스 IP 주소에 대한 라우트에 도달 할 수있는 경우, 수신 한 인터페이스에 상관없이 패킷을 수신 할 수 있습니다 . 기본적으로 기본 경로는 위에서 설명한대로 느슨한 모드로 간주되지 않습니다.

느슨한 모드와 엄격한 모드는 비슷한 구성 옵션을 갖습니다. 주요 차이점은 사용 된 구문 ( anyvs rx)과 수신 패킷의 소스 IP 주소가 수신 된 인터페이스를 통해 도달 가능한지 여부입니다.

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

VRF 모드

VRF 모드는 지정된 VRF에서 느슨하거나 엄격한 모드를 활용할 수 있으며 eBGP 인접에 대해 구성된 VRF 테이블에 대해 수신 패킷의 소스 IP 주소를 평가합니다.


참조 :
Cisco URPF 백서
유니 캐스트 역방향 경로 전달 이해
URPF 구성 안내서


실제 적용은 어떻습니까? 업 링크에 배치하는 것이 실제로 의미가 있거나 차이가 있습니까?
codey

3
@codey 나는 고객을 향한 인터페이스에서만 업 링크에서 uRPF를 실행하지 않을 것입니다. one, time, +1, good work, solid answer, 일부 비 Cisco 플랫폼에서 null0으로의 고정 경로로 인해 '느슨한'모드가 실패하지 않음을 지적하고 싶습니다. 어쩌면 '응답'대신 '수신'을 사용해야합니다. 즉, 실패한 패킷 RPF가 수신되지 않습니다. 또한 '라우팅 테이블 반대'(RIB)를 '포워딩 테이블 반대'(FIB)로 변경해야 할 수도 있습니다. RIB를 검사하는 '실행 가능한 느슨한 / 엄격'이라는 uRPF의 특징이 있기 때문에 (Cisco는이를 지원하지 않으므로 FIB 만 검사합니다).
ytti

@ytti Cisco 문서를 볼 때 단순히 라우팅 테이블에 대해 언급했습니다. 나는 그것이 옳다고 말하지는 않지만 그것이 단지 FIB라면 그렇게 말할 것입니다.
codey

고객이 BGP 접두사 192.0.2.0/24를 발표 한 사례를 상상해보십시오. 코어를 가리키는 고정 경로도 있습니다. 고객 인터페이스에 uRPF / strict가있는 경우 RIB (라우팅 테이블)에이 항목이 존재하더라도 / best / 항목이 아니기 때문에 FIB에없는 소스 주소가 192.0.2.42 인 고객으로부터 패킷을 삭제합니다. 그러나 'uRPF / strict feasible'패킷을 실행하면 패킷이 삭제되지 않습니다 (JunOS는 실행 가능하므로 해당 문서에 추가 정보가 제공됩니다).
ytti
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.