IPv6 Neighbor Discovery 검사
IPv6 Neighbor Discovery 프로토콜 개요
IPv6 노드(호스트 및 라우터)는 NDP(Neighbor Discovery Protocol)를 사용하여 동일한 링크에 상주하는 다른 노드의 존재 여부와 링크 레이어 주소를 검색합니다. 호스트는 NDP를 사용하여 자신을 대신하여 패킷을 전달할 이웃 라우터를 찾고, 라우터는 NDP를 사용하여 자신의 존재를 알립니다. 또한 노드는 NDP를 사용하여 활성 인접 라우터에 대한 경로에 대한 연결성 정보를 유지합니다. 라우터 또는 라우터 경로에 장애가 발생하면 호스트는 대체 경로를 검색할 수 있습니다.
NDP 프로세스는 이웃 권유 및 광고 메시지의 교환을 기반으로 합니다. NDP 메시지는 보안되지 않으므로 링크 레이어 주소의 스푸핑(또는 위조)과 관련된 공격에 취약합니다. 공격 노드는 스푸핑된 소스 MAC 주소가 포함된 인접 요청 메시지를 보내거나 스푸핑된 대상 MAC 주소가 포함된 인접 광고 주소를 전송하여 합법적인 노드에 대한 패킷이 다른 링크 계층 주소로 전송되도록 할 수 있습니다. 그런 다음 스푸핑된 MAC 주소는 다른 노드에 의해 합법적인 네트워크 IPv6 주소와 연결됩니다.
ND(Neighbor Discovery) 검사
IPv6 neighbor discovery 검사는 neighbor 발견 메시지를 검사하고 DHCPv6 스누핑 테이블에 대해 검증함으로써 NDP 보안 취약성을 완화합니다. DHCPv6 메시지 교환을 스누핑하여 구축되는 DHCPv6 스누핑 테이블에는 VLAN과 연결된 각 호스트에 대한 IPv6 주소, MAC 주소, VLAN 및 인터페이스가 포함됩니다. 신뢰할 수 없는 인터페이스에서 이웃 발견 메시지가 수신되면 소스 IPv6 및 MAC 주소, VLAN 및 인터페이스가 DHCPv6 스누핑 테이블의 항목과 일치할 수 없다면 이웃 발견 검사는 패킷을 폐기합니다. CLI 문을 구성 static-ipv6
하여 DHCPv6 스누핑 테이블에 항목을 추가할 수 있습니다.
이웃 발견 메시지는 항상 신뢰할 수 있는 인터페이스에서 허용됩니다.
Neighbor Discovery 검사는 5가지 ICMPv6 메시지 유형(라우터 요청, 라우터 광고, 이웃 요청, 이웃 광고, 리디렉션)을 확인합니다. DHCPv6 스누핑 테이블에 대해 확인할 수 없는 메시지 패킷을 폐기함으로써 이웃 검색 검사는 다음과 같은 유형의 공격을 방지할 수 있습니다.
캐시 포이즈닝 공격—Neighbor Discovery 캐시 포이즈닝은 IPv6에서 ARP 스푸핑에 해당합니다. 공격자는 위조된 주소를 사용하여 네트워크의 다른 호스트에 원치 않는 광고를 보내 자신의 MAC 주소를 합법적인 네트워크 IP 주소와 연결합니다. IPv6 주소와 MAC 주소 간의 이러한 바인딩은 인접 캐시의 각 노드에 의해 저장됩니다. 캐시가 악의적인 바인딩으로 업데이트되면 공격자는 메시지 가로채기(man-in-the-middle) 공격을 시작하여 합법적인 호스트를 위한 트래픽을 가로챌 수 있습니다.
라우팅 DoS(Denial-of-Service) 공격 - 공격자는 라우터 주소를 스푸핑하고 라우터 플래그가 지워진 이웃 광고 메시지를 전송하여 호스트가 첫 번째 홉 라우터를 비활성화하도록 할 수 있습니다. 피해자 호스트는 첫 번째 홉 라우터였던 디바이스가 더 이상 라우터가 아니라고 가정합니다.
리디렉션 공격—라우터는 ICMPv6 리디렉션 요청을 사용하여 호스트에게 목적지에 대한 보다 효율적인 경로를 알립니다. 호스트는 더 나은 첫 번째 홉 라우터로 리디렉션될 수 있지만, 라우터 리디렉션 메시지를 통해 대상이 실제로 인접 라우터임을 알릴 수도 있습니다. 이 프로비저닝을 사용하는 공격자는 캐시 중독과 유사한 효과를 얻을 수 있으며 피해자 호스트의 모든 트래픽을 가로챌 수 있습니다. Neighbor Discovery 검사는 라우터 리디렉션 메시지가 신뢰할 수 있는 라우터에서만 전송되는지 확인합니다.
ND 검사 활성화
DHCPv6 스누핑은 neighbor discovery 검사가 구성되면 자동으로 활성화됩니다. DHCPv6 스누핑에 필요한 명시적인 구성은 없습니다.
VLAN에서 이웃 검색 검사를 활성화하려면:
[edit vlans vlan-name forwarding-options dhcp-security] user@switch# set neighbor-discovery-inspection