안전한 IPv6 인접 검색
요약 IPv6 트래픽을 위한 SEND(Secure Neighbor Discovery) 프로토콜은 브로드캐스트 세그먼트에 액세스할 수 있는 공격자가 NDP 또는 ARP를 남용하여 호스트를 속여 다른 사람을 향한 공격자 트래픽을 전송하는 것을 방지합니다.
안전한 IPv6 인접 검색 이해하기
IPv6 NDP(Neighbor Discovery Protocol)의 기능 중 하나는 네트워크 레이어(IP) 주소를 링크 레이어(예: 이더넷) 주소로 해결하는 것이며, 이는 ARP(Address Resolution Protocol)에 의해 IPv4에서 수행되는 기능입니다. SEND(Secure Neighbor Discovery) 프로토콜은 브로드캐스트 세그먼트에 액세스할 수 있는 공격자가 NDP 또는 ARP를 남용하여 호스트를 속여 다른 사람을 향한 공격자 트래픽을 전송하는 것을 방지합니다.
ARP 중독 및 NDP 기능에 대한 기타 공격으로부터 보호하려면 브로드캐스트 세그먼트에 대한 액세스가 불가능한 경우 SEND를 구축해야 합니다.
SEND는 RSA 키 쌍을 사용하여 RFC 3972, CGA(암호화 생성 주소)에 정의된 대로 암호화에서 생성된 주소를 생성합니다. 이를 통해 NDP 메시지의 클레임 소스가 청구된 주소의 소유자임을 보장합니다.
예: 보안 IPv6 인접 검색 구성
이 예는 IPv6 보안 인접 검색(SEND)을 구성하는 방법을 보여줍니다.
요구 사항
이 예에서는 다음과 같은 요구 사항을 가지고 있습니다.
Junos OS 릴리스 9.3 이상
네트워크에 구축된 IPv6
아직 수행하지 않은 경우 RSA 키 쌍을 생성하거나 설치해야 합니다.
새로운 RSA 키 쌍을 생성하려면 다음 명령을 입력합니다.
user@host> request security pki generate-key-pair type rsa certificate-id certificate-id-name size size
개요
SEND를 구성하려면 다음 문을 포함합니다.
protocols { neighbor-discovery { onlink-subnet-only; secure { security-level { (default | secure-messages-only); } cryptographic-address { key-length number; key-pair pathname; } timestamp { clock-drift number; known-peer-window seconds; new-peer-window seconds; } traceoptions { file filename <files number> <match regular-expression> <size size> <world-readable | no-world-readable>; flag flag; no-remote-trace; } } } }
보안 및 보호되지 않은 NDP(Neighbor Discovery Protocol) 패킷을 송수신하도록 기본값 을 지정합니다. SEND를 구성하여 보안 NDP 메시지만 수락하고 보호되지 않은 메시지만 삭제합니다. secure-messages-only 를 지정합니다.
보안 메시지 전용 옵션을 사용할 경우 세그먼트의 모든 노드를 SEND로 구성해야 하며, 이는 디바이스의 작은 하위 집합만 강화된 보호를 필요로 하지 않는 한 권장됩니다. 모든 노드에 대한 SEND를 구성하지 않으면 연결이 손실될 수 있습니다.
토폴로지
구성
절차
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브러브를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣습니다.
set protocols neighbor-discovery secure security-level secure-messages-only set protocols neighbor-discovery secure cryptographic-address key-length 1024 set protocols neighbor-discovery secure cryptographic-address key-pair /var/etc/rsa_key set protocols neighbor-discovery secure timestamp
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
안전한 IPv6 인접 검색을 구성하려면 다음을 수행합니다.
보안 수준을 구성합니다.
[edit protocols neighbor-discovery secure] user@host# set security-level secure-messages-only
(선택 사항) 키 길이를 활성화합니다.
기본 키 길이는 1024입니다.
[edit protocols neighbor-discovery secure] user@host# set cryptographic-address key-length 1024
(선택 사항) 암호화 주소에 대해 생성된 공용-프라이빗 키 파일의 디렉터리 경로를 지정합니다.
파일의 기본 위치는 /var/etc/rsa_key 디렉터리입니다.
[edit protocols neighbor-discovery secure] user@host# set cryptographic-address key-pair /var/etc/rsa_key
(선택 사항) 요청 및 리디렉션 메시지가 재생되지 않도록 타임스탬프를 구성합니다.
[edit protocols neighbor-discovery secure] user@host# set timestamp
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다 show protocols
. 출력에 의도한 구성이 표시되지 않으면 이 예의 구성 지침을 반복하여 수정합니다.
user@host# show protocols
neighbor-discovery {
secure {
security-level {
secure-messages-only;
}
cryptographic-address {
key-length 1024;
key-pair /var/etc/rsa_key;
}
timestamp;
}
}
디바이스 구성이 완료되면 구성 모드에서 커밋 을 입력합니다.
확인
구성이 제대로 작동하는지 확인합니다.
IPv6 Neighbor 캐시 확인
목적
IPv6 인접 라우터에 대한 정보를 표시합니다.
작업
운영 모드에서 명령을 입력합니다 show ipv6 neighbors
.
의미
IPv6에서 ARP(Address Resolution Protocol)는 NDP로 대체되었습니다. IPv4 명령은 show arp
IPv6 명령 show ipv6 neighbors
으로 대체됩니다. 이 명령에 의해 표시되는 정보의 핵심은 IP 주소, MAC(링크 레이어) 주소 및 인터페이스입니다.
인접 탐색 이벤트 추적
목적
SEND를 추적하여 추가 검증을 수행합니다.
작업
추적 작업을 구성합니다.
[edit protocols neighbor-discovery secure] user@host# set traceoptions file send-log user@host# set traceoptions flag all
명령을 실행합니다
show log
.user@host> show log send-log Apr 11 06:21:26 proto: outgoing pkt on idx 68 does not have CGA (fe80::2a0:a514:0:14c), dropping pkt Apr 11 06:26:44 proto: sendd_msg_handler: recv outgoing 96 bytes on idx 70 with offset 40 Apr 11 06:26:44 dbg: sendd_proto_handler: Modifier (16) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Apr 11 06:26:44 cga: snd_is_lcl_cga: BEFORE overriding cc, cc:0, ws->col:0 Apr 11 06:26:44 proto: outgoing pkt on idx 70 does not have CGA (fe80::2a0:a514:0:24c), dropping pkt Apr 11 06:26:47 proto: sendd_msg_handler: recv outgoing 96 bytes on idx 68 with offset 40 Apr 11 06:26:47 dbg: sendd_proto_handler: Modifier (16) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
의미
출력 결과, 패킷에 암호화 생성 주소가 없기 때문에 패킷이 누락되는 것을 알 수 있습니다.