이 페이지 내용
보안 IPv6 인접 검색
IPv6 트래픽에 대한 SEND(Secure Neighbor Discovery) 프로토콜은 브로드캐스트 세그먼트에 액세스할 수 있는 공격자가 NDP 또는 ARP를 악용하여 호스트를 속여 공격자 트래픽을 다른 곳으로 보내는 것을 방지합니다. 이러한 기술은 ARP 포이즈닝(ARP poisoning)이라고 합니다.
보안 IPv6 인접 검색 이해하기
IPv6 NDP(Neighbor Discovery Protocol)의 기능 중 하나는 네트워크 레이어(IP) 주소를 링크 레이어(예: 이더넷) 주소로 확인하는 것입니다. 이는 ARP(Address Resolution Protocol)에 의해 IPv4에서 수행되는 기능입니다. SEND(Secure Neighbor Discovery) 프로토콜은 브로드캐스트 세그먼트에 액세스할 수 있는 공격자가 NDP 또는 ARP를 악용하여 호스트를 속여 공격자 트래픽을 다른 사람에게 보내는 것을 방지합니다. 이러한 기술은 ARP 포이즈닝(ARP poisoning)이라고 합니다.
NDP 기능에 대한 ARP 포이즈닝 및 기타 공격으로부터 보호하려면 브로드캐스트 세그먼트에 대한 액세스를 방지하는 것이 불가능할 수 있는 위치에 SEND를 구축해야 합니다.
SEND는 RSA 키 페어를 사용하여 RFC 3972, 암호화 방식으로 생성된 주소(CGA)에 정의된 대로 암호화 방식으로 생성된 주소를 생성합니다. 이렇게 하면 NDP 메시지의 클레임된 소스가 클레임된 주소의 소유자가 됩니다.
예: 보안 IPv6 인접 검색 구성
이 예에서는 IPv6 보안 이웃 탐색(SEND)을 구성하는 방법을 보여 줍니다.
요구 사항
이 예제에는 다음과 같은 요구 사항이 있습니다.
Junos OS 릴리스 9.3 이상
네트워크에 구축된 IPv6
아직 RSA 키 쌍을 생성하거나 설치하지 않은 경우 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) 패킷을 모두 송수신하려면 기본값 을 지정합니다. 보안 NDP 메시지만 수락하고 보안되지 않은 메시지는 삭제하도록 SEND를 구성합니다. 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;
}
}
디바이스 구성을 마쳤으면 구성 모드에서 commit 을 입력합니다.
확인
구성이 올바르게 작동하고 있는지 확인합니다.
IPv6 인접 캐시 확인
목적
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
의미
출력은 패킷에 암호화로 생성된 주소가 없기 때문에 패킷이 삭제되었음을 보여줍니다.