Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP 경로 인증

BGP에 대한 라우터 인증 이해

라우터 및 경로 인증과 경로 무결성을 사용하면 잘못된 라우터와 잘못된 라우팅 정보를 공유하도록 구성된 시스템 또는 라우터의 공격을 받을 위험이 크게 완화됩니다. 이러한 종류의 공격에서 공격을 받은 라우터는 속아서 라우팅 루프를 만들거나, 공격받은 라우터의 라우팅 테이블을 크게 늘려 성능에 영향을 미치거나, 라우팅 정보를 공격자가 분석할 수 있도록 네트워크의 한 장소로 리디렉션될 수 있습니다. 가짜 경로 보급은 세그먼트에 전송될 수 있습니다. 경로의 소스를 확인하기 위한 인증 메커니즘이 마련되어 있지 않는 한 이러한 업데이트는 이웃 라우터의 라우팅 테이블에 수락될 수 있습니다.

라우터 및 경로 인증은 라우터가 암호(키)를 기반으로 신뢰할 수 있는 소스와 통신하고 있음을 확인할 수 있는 경우에만 정보를 공유할 수 있도록 합니다. 이 메서드에서는 다른 라우터로 전송되는 경로와 함께 해시된 키가 전송됩니다. 수신 라우터는 전송된 키를 자체 구성된 키와 비교합니다. 동일하면 경로를 수락합니다. 해시 알고리즘을 사용하면 키가 일반 텍스트로 와이어를 통해 전송되지 않습니다. 대신 구성된 키를 사용하여 해시가 계산됩니다. 라우팅 업데이트는 키와 함께 해시 함수에 대한 입력 텍스트로 사용됩니다. 이 해시는 경로 업데이트와 함께 수신 라우터로 전송됩니다. 수신 라우터는 수신된 해시와 구성된 사전 공유 키를 사용하여 경로 업데이트에서 생성하는 해시를 비교합니다. 두 해시가 동일한 경우, 경로는 신뢰할 수 있는 소스에서 온 것으로 간주됩니다. 키는 송신 라우터와 수신 라우터에만 알려져 있습니다.

보안을 더욱 강화하기 위해 일련의 인증 키( 키 체인)를 구성할 수 있습니다. 각 키에는 키체인 내에서 고유한 시작 시간이 있습니다. 키체인 인증으로 피어링 세션을 중단하지 않고 비밀번호 정보를 주기적으로 변경할 수 있습니다. 이 키체인 인증 방법은 피어링 세션을 재설정하거나 라우팅 프로토콜을 중단하지 않고 키가 다음으로 롤오버되기 때문에 무중단 이라고 합니다.

전송 피어는 다음 규칙을 사용하여 활성 인증 키를 식별합니다.

  • 시작 시간은 현재 시간보다 작거나 같습니다(즉, 미래가 아님).

  • 시작 시간은 시작 시간이 현재 시간보다 짧은 체인의 다른 모든 키보다 큽니다(즉, 현재 시간에 가장 가깝습니다).

수신 피어는 수신 키 식별자를 기반으로 인증할 키를 결정합니다.

송신 피어는 구성된 시작 시간을 기반으로 현재 인증 키를 식별한 다음 현재 키를 사용하여 해시 값을 생성합니다. 그런 다음 전송 피어는 TCP 강화 인증 옵션 개체를 BGP 업데이트 메시지에 삽입합니다. 개체에는 개체 ID(IANA에서 할당), 개체 길이, 현재 키 및 해시 값이 포함됩니다.

수신 피어는 수신 TCP 강화 인증 옵션을 검사하고, 수신된 인증 키를 조회하며, 시작 시간, 시스템 시간 및 허용 오차 매개 변수를 기반으로 키가 허용 가능한지 여부를 결정합니다. 키가 수락되면 수신 피어는 해시를 계산하고 업데이트 메시지를 인증합니다.

TCP 세션에 키 체인을 처음 적용하면 세션이 재설정됩니다. 그러나 키체인이 적용되면 키체인에서 암호를 추가하거나 제거해도 TCP 세션이 재설정되지 않습니다. 또한 키 체인이 한 인증 알고리즘에서 다른 알고리즘으로 변경되어도 TCP 세션은 재설정되지 않습니다.

Junos OS는 BGP 경로 인증에 정적 인증 키와 키 체인의 두 가지 방법을 지원합니다. 두 접근 방식 모두 BGP 피어가 라우팅 정보를 안전하게 교환하도록 지원합니다.

  • 정적 인증 키 방법에는 BGP 구성 내에서 직접 고정 키를 지정하는 작업이 포함됩니다. 이 방법은 키 관리가 간단한 환경에서 더 간단합니다.

  • 키체인 방식은 더 큰 유연성을 제공하고 보안 강화를 위해 키 회전을 지원합니다.

자세한 구성 및 예제는 다음을 참조하십시오.

BGP 인증 방법

모든 BGP 인증 정보는 TCP 패킷 헤더에 저장됩니다. BGP 인증 방법에는 두 가지 유형이 있습니다. TCP MD5 인증 및 TCP 인증 옵션(TCP-AO). 동일한 세션에 대해 둘 다 구성할 수는 없지만 둘 중 하나를 동시에 구성할 수 있습니다.

BGP 인증 유형
  1. TCP MD5 인증(RFC 2385) 은 TCP 세그먼트에 적용된 MD5 알고리즘을 사용하여 키 해시를 사용하는 널리 사용되는 방법입니다. 두 피어 모두 공유 비밀 키가 필요합니다. 간단하지만 보안과 관련하여 한계가 있습니다.

    주니퍼 디바이스의 라우팅 프로토콜에 MD5 인증을 구성하는 경우 키 체인 인증 방법을 별도로 구성할 필요가 없습니다. 대신 MD5 키를 직접 구성하거나 MD5 키가 포함된 인증 키 체인을 사용합니다. MD5 인증에는 양쪽 끝에서 동일한 MD5 키 구성이 필요합니다. 인증 방법은 MD5이며 키 체인을 사용하여 키를 관리합니다. MD5와 별도로 별도의 "키체인 인증 방법"을 구성하지 않습니다.

    TCP 인증 옵션(TCP-AO)(RFC 5925) 은 MD5보다 더 강력한 옵션으로, 마스터 키를 활용하여 세션 키를 생성하고 주기적으로 변경하며, 일반적으로 AES를 사용합니다. 더 강력한 보호 기능을 제공하고 무중단 키 롤오버를 지원합니다.

  2. TCP-AO는 TCP MD5의 향상 또는 확장입니다. 사전 정의된 일정에 따라 순환되는 여러 암호 구문을 허용하여 인증이 향상됩니다. 또한 MD5보다 더 많은 인증 방법을 허용하여 TCP MD5를 향상시킵니다.

TCP 인증

일반적으로 TCP 인증은 다음 계층 수준에서 구성합니다.

  • [edit protocols bgp]

  • [edit protocols bgp group group-name]

  • [edit protocols bgp group group-name neighbor address]

TCP 인증 및 접두사 서브넷

Junos 디바이스는 BGP 그룹에 구성된 허용된 접두사 서브넷을 통해 발견된 BGP 피어에 대한 TCP 인증을 지원합니다.

BGP 세션에 대해 TCP-AO 또는 TCP MD5에 대한 접두사 기반 인증을 구성하기 위해 다음 계층에서 문을 구성할 allow (all | prefix-list) 수 있습니다.

  • [edit protocols bgp group group-name]

  • [edit protocols bgp group group-name dynamic-neighbor dyn-name]

TCP 인증에 대한 자세한 내용은 TCP를 참조하십시오.

예: BGP에 대한 라우터 인증 구성

모든 BGP 프로토콜 교환은 신뢰할 수 있는 라우팅 디바이스만 AS(Autonomous System) 라우팅 업데이트에 참여하도록 인증될 수 있습니다. 기본적으로 인증은 비활성화되어 있습니다.

요구 사항

시작하기 전에:

  • 라우터 인터페이스를 구성합니다.

  • 내부 게이트웨이 프로토콜(IGP)을 구성합니다.

개요

인증 구성 시 알고리즘은 전송된 패킷에 포함된 인코딩된 체크섬을 생성합니다. 수신 라우팅 디바이스는 인증 키(비밀번호)를 사용하여 패킷의 체크섬을 확인합니다.

이 예에는 키체인을 구성하고 적용하기 위한 다음 문이 포함되어 있습니다.

  • key- 키체인에는 여러 개의 키가 있을 수 있습니다. 키 체인 내의 각 키는 고유한 정수 값으로 식별되어야 합니다. 유효한 식별자 값의 범위는 0에서 63까지  입니다.

    키의 길이는 최대 126 자까지 가능합니다. 문자는 모든 ASCII 문자열을 포함할 수 있습니다. 공백을 포함하는 경우 모든 문자를 따옴표(" ")로 묶습니다.

  • tolerance—(선택 사항) 각 키체인에 대해 클럭 왜곡 허용 오차 값을 초 단위로 구성할 수 있습니다. 클럭 왜곡 허용 오차는 BGP 업데이트를 위한 키를 수락하는 수신자에게 적용됩니다. 구성 가능한 범위는 0에서 999,999,999초입니다. 허용 기간 동안에는 현재 또는 이전 비밀번호를 사용할 수 있습니다.

  • key-chain- 각 키체인에 대해 이름을 지정해야 합니다. 이 예에서는 하나의 키체인을 정의합니다. bgp-auth 라우팅 디바이스에 여러 개의 키체인을 가질 수 있습니다. 예를 들어 BGP용 키체인, OSPF용 키체인 및 LDP용 키체인을 가질 수 있습니다.

  • secret- 키 체인의 각 키에 대해 암호를 설정해야 합니다. 이 비밀번호는 문에 암호화되거나 일반 텍스트 형식으로 입력할 수 있습니다. secret 항상 암호화된 형식으로 표시됩니다.

  • start-time- 각 키는 UTC 형식으로 시작 시간을 지정해야 합니다. 제어는 한 키에서 다음 키로 전달됩니다. 구성된 시작 시간이 도래하면(라우팅 디바이스의 클럭을 기준), 해당 시작 시간의 키가 활성화됩니다. 시작 시간은 라우팅 디바이스의 현지 시간대로 지정되며 키체인 내에서 고유해야 합니다.

  • authentication-key-chain- 모든 피어, 그룹 또는 이웃에 대해 글로벌 BGP 수준에서 키 체인을 적용할 수 있습니다. 이 예에서는 라는 외부 BGP(EBGP) 그룹 ext에 정의된 피어에 키체인을 적용합니다.

  • authentication-algorithm- 각 키체인에 대해 해시 알고리즘을 지정할 수 있습니다. 알고리즘은 AES-128, MD5 또는 SHA-1일 수 있습니다.

    키체인과 인증 알고리즘을 BGP 인접 세션과 연결합니다.

이 예에서는 라는 키 체인 bgp-auth을 구성합니다. 키 0은 2011-6-23.20:19:33 -0700부터 전송 및 수락되며, 키 집합의 다음 키(키 1)가 활성화되면 전송 및 수락이 중지됩니다. 키 1은 1년 후 2012-6-23.20:19:33 -0700에 활성화되며, 키 1의 시작 시간보다 늦은 시작 시간으로 다른 키가 구성되지 않는 한 전송 및 수락이 중단되지 않습니다. 30초의 클럭 왜곡 허용 오차는 키를 수신하는 수신기에 적용됩니다. 허용 기간 동안에는 현재 키 또는 이전 키가 허용됩니다. 키는 공유 비밀 암호입니다. 즉, 인증된 라우팅 업데이트를 수신하는 이웃은 동일한 키(비밀번호)를 포함하여 동일한 인증 키 체인 구성을 가져야 합니다. 따라서 라우터 R0과 라우터 R1이 피어로 구성된 경우 동일한 인증 키 체인 구성을 가져야 합니다. 이 예는 라우팅 디바이스 중 하나의 구성만 보여줍니다.

토폴로지 다이어그램

그림 1 은 이 예에서 사용되는 토폴로지를 보여줍니다.

그림 1: BGP Authentication for BGP 인증

구성

CLI 빠른 구성

이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.

절차

단계별 절차

다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드구성 모드에서 CLI 편집기 사용을 참조하십시오.

라우터 R1이 디바이스 CE1에서 경로 필터를 수락하고 수신된 필터를 사용하여 아웃바운드 경로 필터링을 수행하도록 구성하려면:

  1. 로컬 AS(Autonomous System)를 구성합니다.

  2. 하나 이상의 BGP 그룹을 구성합니다.

  3. 여러 키로 인증을 구성합니다.

    각 키의 시작 시간은 키체인 내에서 고유해야 합니다.

  4. BGP에 인증 키 체인을 적용하고 해싱 알고리즘을 설정합니다.

  5. (선택 사항) 클럭 왜곡 허용 오차 값을 초 단위로 적용합니다.

결과

구성 모드에서 , show routing-optionsshow security 명령을 show protocols입력하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.

디바이스 구성이 완료되면 구성 모드에서 들어갑니다 commit .

각 BGP 지원 디바이스에 대한 적절한 인터페이스 이름과 주소를 사용하여 네트워크의 모든 BGP 지원 디바이스에 대해 절차를 반복합니다.

검증

구성이 제대로 작동하고 있는지 확인합니다.

이웃에 대한 인증 확인

목적

명령 출력 show bgp neighbor 에 옵션이 나타나는지 확인합니다AutheKeyChain.

작업

운영 모드에서 명령을 입력합니다.show bgp neighbor

인증 메시지가 전송되는지 확인

목적

BGP에 향상된 권한 부여 옵션이 있는지 확인합니다.

작업

운영 모드에서 명령을 입력합니다.monitor traffic interface fe-0/0/1

인증 오류 확인

목적

인증 오류로 인해 TCP에 의해 손실된 패킷 수를 확인합니다.

작업

운영 모드에서 명령을 입력합니다.show system statistics tcp | match auth

키체인의 작동 확인하기

목적

인증 오류로 인해 TCP에 의해 손실된 패킷 수를 확인합니다.

작업

운영 모드에서 명령을 입력합니다.show security keychain detail

변경 내역 표

기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.

출시
설명
22.4R1
Junos OS Evolved 릴리스 22.4R1부터는 IP 서브넷으로 TCP-AO 또는 TCP MD5 인증을 구성하여 해당 서브넷 아래의 전체 주소 범위를 포함할 수 있습니다.
22.4R1
Junos OS Evolved 릴리스 22.4R1부터 TCP 인증이 VRF를 인식합니다.
19.1R1
Junos OS 릴리스 19.1R1부터 Junos OS는 BGP 그룹에 구성된 허용된 접두사 서브넷을 통해 발견된 BGP 피어로 TCP 인증에 대한 지원을 확장합니다.