Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

TCP 액세스 제한 BGP(Border Gateway Protocol)

TCP를 통해 BGP(Border Gateway Protocol) 보안 옵션 이해

라우팅 프로토콜 중에서도 BGP(Border Gateway Protocol) 프로토콜로 TCP를 사용하는 독보적인 특징을 가지고 있습니다. BGP(Border Gateway Protocol) 포트 179에서 TCP 세션을 생성하기 위해 라우팅 장치 간의 수동 구성을 통해 피어를 설정합니다. BGP(Border Gateway Protocol) 활성화된 디바이스는 연결을 유지하기 위해 주기적으로 Keepalive 메시지를 전송합니다.

시간이 지날 때 BGP(Border Gateway Protocol) 인터넷에서 가장 지배적인 인터도도마인 라우팅 프로토콜이 되어가고 있습니다. 그러나 안정성과 보안을 보장하는 것은 제한적입니다. 적절한 보안 조치를 BGP(Border Gateway Protocol) 보안 조치와 허용 가능한 비용의 균형을 유지해야 합니다. 다른 방법보다 뛰어난 방식을 떠오르는 방법은 단 한 가지도 없습니다. 각 네트워크 관리자는 사용 중 네트워크의 요구 사항을 충족하는 보안 조치를 구성해야 합니다.

전송 프로토콜로 TCP를 사용하는 BGP(Border Gateway Protocol) 관련된 보안 문제에 대한 자세한 내용은 RFC 4272, BGP(Border Gateway Protocol) 보안 취약점 분석 을 참조하십시오.

예를 들면 다음과 같습니다. 특정 피어를 제외한 포트에 대한 TCP 액세스를 차단하기 위한 필터 BGP(Border Gateway Protocol) 구성

이 예에서는 지정된 피어를 제외한 모든 요청자로부터 179 포트에 대한 모든 TCP 연결 시도를 차단하는 표준 스테이트리스 방화벽 필터를 BGP(Border Gateway Protocol) 방법을 보여줍니다.

요구 사항

이 예제를 구성하기 전에 장치 초기화 이외에는 특별한 구성이 필요하지 않습니다.

개요

이 예에서는 지정된 피어를 제외한 모든 요청자로부터 179 포트를 포트하려는 모든 TCP 연결 시도를 차단하는 스테이트리스 BGP(Border Gateway Protocol) 필터를 생성합니다.

스테이트리스 방화벽 필터는 Device A 및 Device B의 직접 연결된 인터페이스의 모든 패킷을 대상 포트 filter_bgp179 번호 179와 일치합니다.

토폴로지

그림 1 이 예에서 사용된 토폴로지가 표시됩니다. Device C가 Device E에 대한 TCP 연결을 시도합니다. 디바이스 E는 연결 시도를 차단합니다. 이 예에서는 Device E의 구성을 보여줍니다.

그림 1: 일반 네트워크(BGP(Border Gateway Protocol) 피어 세션 사용)일반 네트워크(BGP(Border Gateway Protocol) 피어 세션 사용)

구성

CLI 빠른 구성

이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣기하고, 라인 끊기를 제거하고, 네트워크 구성과 일치하는 데 필요한 세부 정보를 변경한 다음, 명령어를 계층 수준에서 CLI [edit] 붙여넣습니다.

디바이스 C

디바이스 E

디바이스 E 구성

단계별 절차

다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. 네트워크의 네트워크 CLI 대한 자세한 내용은 CLI 사용자 가이드의 CLI Editor in Configuration Mode Junos OS CLI 참조하십시오.

특정 피어를 제외한 모든 요청자로부터 179 포트를 포트로 시도하는 모든 TCP 연결을 차단하는 stateless BGP(Border Gateway Protocol) 필터를 사용하여 Device E를 구성하려면

  1. 인터페이스를 구성합니다.

  2. 구성 BGP(Border Gateway Protocol).

  3. 자율 시스템 번호를 구성합니다.

  4. 지정된 피어로부터 179 포트 179 포트에 대한 TCP 연결 시도를 허용하는 BGP(Border Gateway Protocol) 용어를 정의합니다.

  5. 다른 소스의 패킷을 거부하기 위한 다른 필터 용어를 정의합니다.

  6. 방화벽 필터를 루프백 인터페이스에 적용합니다.

결과

구성 모드에서 , 및 명령어를 입력하여 show firewallshow interfacesshow protocolsshow routing-options 구성을 확인 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.

디바이스 구성이 완료되면 commit 구성 모드에서 입력합니다.

확인

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

필터가 구성되어 있는지 확인

목적

필터가 명령 출력에 나열되어 있는지 show firewall filter 확인

실행

TCP 연결 검증

목적

TCP 연결을 확인합니다.

실행

작동 모드에서 디바이스 show system connections extensive C 및 디바이스 E에서 명령을 실행합니다.

Device C의 출력은 TCP 연결을 설정하려는 시도를 보여줍니다. Device E의 출력은 Device A 및 Device B에만 연결이 설정되었다는 표시를 보여줍니다.

인터페이스의 트래픽 모니터링

목적

이 명령을 사용하여 TCP 연결을 설정하지 않는 인터페이스의 트래픽과 TCP 연결을 설정하는 인터페이스의 트래픽을 monitor traffic 비교합니다.

실행

운영 모드에서 Device monitor traffic E 인터페이스에서 Device B로, 그리고 Device E 인터페이스에서 Device C로 명령을 실행합니다. 다음 샘플 출력은 첫 번째 예에서 Acknowledgment () 메시지가 수신된지 ack 검증합니다. 두 번째 예에서는 메시지가 ack 수신되지 않습니다.

예를 들면 다음과 같습니다. Prefix List를 기준으로 포트에 대한 TCP 액세스를 제한하는 필터 구성

다음 예제에서는 허용된 피어를 포함하는 Prefix 소스 목록을 지정하여 라우팅 엔진 특정 TCP 및 ICMP(Internet Control Message Protocol) 트래픽을 제한하는 표준 stateless 방화벽 필터를 BGP(Border Gateway Protocol) 방법을 보여줍니다.

요구 사항

이 예제를 구성하기 전에 장치 초기화 이외에는 특별한 구성이 필요하지 않습니다.

개요

이 예에서는 지정된 prefix를 가지는 피어를 제외한 모든 요청자로부터 179 포트를 BGP(Border Gateway Protocol) 스테이트리스 방화벽 필터를 생성합니다.

토폴로지

소스 prefix 리스트는 허용된 피어를 포함하는 소스 plist_bgp179 prefix의 목록을 BGP(Border Gateway Protocol) 생성됩니다.

스테이트리스 방화벽 필터는 소스 Prefix 목록에서 대상 포트 번호 filter_bgp179plist_bgp179 179에 대한 모든 패킷과 일치합니다.

구성

CLI 빠른 구성

이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣기하고, 라인 끊기를 제거하고, 네트워크 구성과 일치하는 데 필요한 세부 정보를 변경한 다음, 명령어를 계층 수준에서 CLI [edit] 붙여넣습니다.

필터 구성

단계별 절차

다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. 네트워크의 네트워크 CLI 대한 자세한 내용은 CLI 사용자 가이드의 CLI Editor in Configuration Mode Junos OS CLI 참조하십시오.

필터 구성:

  1. 에 의해 정의된 피어 그룹으로 표시되는 BGP(Border Gateway Protocol) 있는 모든 prefix를 포함하게 prefix 목록을 bgp179protocols bgp group <*> neighbor <*> 확장합니다.

  2. 지정된 피어를 제외하고 모든 요청자로부터 179 포트에 대한 TCP 연결 시도를 BGP(Border Gateway Protocol) 용어를 정의합니다.

  3. 모든 패킷을 허용하는 다른 필터 용어를 정의합니다.

  4. 방화벽 필터를 루프백 인터페이스에 적용합니다.

결과

구성 모드에서 , 및 명령어를 입력하여 show firewallshow interfacesshow policy-options 구성을 확인 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.

디바이스 구성이 완료되면 commit 구성 모드에서 입력합니다.

확인

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

루프백 인터페이스에 적용된 방화벽 필터 표시

목적

방화벽 필터가 논리적 인터페이스에서 filter_bgp179 IPv4 입력 트래픽에 적용되는지 확인 lo0.0

실행

논리적 인터페이스를 show interfaces statistics operational mode 위해 명령어를 사용하여 lo0.0 옵션을 detail 포함합니다. 명령 출력 섹션에서 필드는 입력 방향의 논리적 인터페이스에 적용된 stateless 방화벽 필터의 Protocol inetInput Filters 이름을 표시합니다.

예를 들면 다음과 같습니다. TCP 세그먼트 크기 BGP(Border Gateway Protocol)

이 예에서는 최대 전송 단위(최대 전송 단위(MTU)) 검색 시 TCP 세그먼트 크기를 제한하여 ICMP(Internet Control Message Protocol) 취약점 문제를 방지하는 최대 전송 단위(MTU) 방법을 보여줍니다. TCP 최대 전송 단위(MTU) 탐색을 사용하는 것은 패킷 단편화 방지 방법 중 BGP(Border Gateway Protocol) 방법입니다.

요구 사항

이 예제를 구성하기 전에 장치 초기화 이외에는 특별한 구성이 필요하지 않습니다.

개요

TCP는 두 피어 간의 세션 연결 설정 중에 최대 세그먼트 크기(MSS) 값을 협상합니다. 협상된 MSS 값은 주로 통신 피어를 직접 최대 전송 단위(최대 전송 단위(MTU)) 인터페이스의 최대 전송 단위(MTU) 기반입니다. 그러나, TCP 최대 전송 단위(MTU) 경로에서 링크의 변형으로 인해 네트워크 내 일부 패킷이 MSS 값에 포함된 경우 패킷 크기가 링크의 네트워크를 초과하는 경우 단편화될 수 최대 전송 단위(MTU).

TCP MSS 값을 구성하기 위해 tcp-mss 1에서 4096까지의 세그먼트 크기로 명령문을 포함해야 합니다.

라우터가 SYN 비트와 MSS 옵션 세트를 통해 TCP 패킷을 수신하고 패킷에 지정된 MSS 옵션이 명령문에 지정된 MSS 값보다 큰 경우, 라우터는 패킷 내 MSS 값을 명령문에 지정된 값 보다 낮은 값으로 tcp-msstcp-mss 대체합니다.

구성된 MSS 값은 발신자에 대한 최대 세그먼트 크기로 사용됩니다. 보낸 사람이 이웃과 통신하기 위해 사용하는 TCP MSS BGP(Border Gateway Protocol) 전송이 이웃에서 수락할 수 있는 TCP MSS BGP(Border Gateway Protocol) 가정합니다. 인접한 BGP(Border Gateway Protocol) MSS 값이 구성된 MSS 값보다 작을 경우, BGP(Border Gateway Protocol) neighbor의 MSS 값이 발신자에 대한 최대 세그먼트 크기로 사용됩니다.

이 기능은 IPv4의 TCP 및 IPv6의 TCP를 통해 지원됩니다.

토폴로지 다이어그램

그림 2 이 예에서 사용된 토폴로지가 표시됩니다.

그림 2: TCP 최대 세그먼트 크기 BGP(Border Gateway Protocol)TCP 최대 세그먼트 크기 BGP(Border Gateway Protocol)

구성

CLI 빠른 구성

이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣기하고, 라인 끊기를 제거하고, 네트워크 구성과 일치하는 데 필요한 세부 정보를 변경한 다음, 명령어를 계층 수준에서 CLI [edit] 붙여넣습니다.

R0

절차

단계별 절차

다음 예제에서는 구성 계층의 다양한 수준을 탐색해야 합니다. 네트워크의 네트워크 CLI 정보는 CLI 사용자 가이드의 CLI Editor 사용 Junos OS CLI 참조하십시오.

라우터 R0 구성:

  1. 인터페이스를 구성합니다.

  2. 이 예에서 IGP(최단 경로 우선(OSPF) 게이트웨이 프로토콜)를 구성합니다.

  3. 하나 이상의 그룹 BGP(Border Gateway Protocol) 구성합니다.

  4. 패킷 최대 전송 단위(MTU) 방지하기 위해 검색을 구성합니다.

  5. 그룹에 BGP(Border Gateway Protocol) TCP MSS를 글로벌하게 설정하거나 특히 다양한 이웃을 위해 설정된 BGP(Border Gateway Protocol) neighbor를 구성합니다.

    주:

    TCP MSS neighbor 설정은 그룹 설정을 우회합니다.

  6. 로컬 자율 시스템을 구성합니다.

결과

구성 모드에서 , 및 명령어를 입력하여 show interfacesshow protocolsshow routing-options 구성을 확인 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.

디바이스 구성이 완료되면 commit 구성 모드에서 입력합니다.

확인

구성이 올바르게 작동하고 있는지 확인하려면 다음 명령을 실행합니다.

  • show system connections extensive | find <neighbor-address>협상된 TCP MSS 값을 검사합니다.

  • monitor traffic interface를 사용하여 BGP(Border Gateway Protocol) 트래픽을 모니터링하고 구성된 TCP MSS 값이 TCP SYN 패킷에서 MSS 옵션으로 사용되는지 확인해야 합니다.

문제 해결

검색을 통해 MSS 최대 전송 단위(MTU) 계산

문제

2개의 라우팅 디바이스(R1 및 R2)가 IBGP(Internal BGP(Border Gateway Protocol))를 연결하고 있는 경우를 예로 들어 보겠습니다. 두 라우터 모두에서 연결된 인터페이스는 IPv4 라우터로 4034를 최대 전송 단위(MTU).

Device R1의 다음 패킷 캡처에서 협상된 MSS는 3994입니다. MSS에 대한 정보에서 show system connections extensive 2048로 설정됩니다.

솔루션

이는 예상되는 동작과 Junos OS. MSS 값은 IP 또는 IPv6 및 TCP 최대 전송 단위(MTU) 값과 동일합니다. 즉, MSS 값은 일반적으로 40 bytes(IPv4)보다 최대 전송 단위(MTU), 60 bytes(IPv6의 경우)최대 전송 단위(MTU) 수 있습니다. 이 가치는 피어 간에 협상됩니다. 이 예에서는 4034 - 40 = 3994입니다. Junos OS 값을 2 KB의 배수로 반전합니다. 그 가치는 3994 / 2048 * 2048=2048입니다. 따라서 출력에서 동일한 MSS 값을 볼 필요가 show system connections 없습니다.

3994 / 2048 = 1.95

1.95는 1로 반경계됩니다.

1 * 2048 = 2048