Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

예: Block Telnet 및 SSH 액세스에 대한 필터 구성

요구 사항

공유 네트워크 링크가 있는 Junos OS을(를) 실행하는 두 개의 디바이스가 필요합니다. 이 예제를 구성하기 전에 기본 디바이스 초기화(관리 인터페이스, 원격 액세스, 사용자 로그인 계정 등) 그 이상의 특별한 구성이 필요하지 않습니다. 엄격한 요구 사항은 아니지만 R2 디바이스에 대한 콘솔 액세스를 권장합니다.

주:

당사 콘텐츠 테스트 팀은 이 예제를 검증하고 업데이트했습니다.

개요 및 토폴로지

이 예제에서는, 패킷이 192.168.1.0/30서브넷에서 유래되지 않는 한 로컬 라우팅 엔진으로 전송된 Telnet 또는 SSH 패킷을 기록 및 거부하는 IPv4 무상태 방화벽 필터를 생성합니다. 로컬 디바이스로 대상이 지정된 트래픽만 영향을 받도록 하기 위해 이 필터가 루프백 인터페이스에 적용됩니다. 입력 방향으로 필터를 적용합니다. 출력 필터는 사용되지 않습니다. 결과적으로, 로컬에서 생성된 모든 트래픽이 허용됩니다.

  • 특정 서브넷 또는 IP 접두사에서 유래한 패킷을 일치시키려면 입력 방향에 적용된 source-address IPv4 일치 조건을 사용해야 합니다.

  • Telnet 포트 및 SSH 포트에 대상이 지정된 패킷을 일치시키려면 입력 방향에 적용된 port telnetport ssh IPv4 일치 조건과 함께 protocol tcp일치 조건을 사용해야 합니다.

예제 토폴로지

그림 1에는 이 예제에 대한 테스트 토폴로지가 제시되어 있습니다. 방화벽 필터는 R2 디바이스에 적용되어 테스트 대상 디바이스(DUT)를 만듭니다. R1 및 R2 디바이스는 192.168.1.0/30의 서브넷을 할당한 링크를 공유합니다. 두 디바이스에는 /32 서브넷 마스크를 사용하여 192.168.255.0/30 접두사에서 할당된 루프백 주소가 있습니다. 이 기본 예제에서 내부 게이트웨이 프로토콜을 구성하지 않으므로 정적 경로가 루프백 주소 사이에 도달 가능성을 제공합니다.

그림 1: 예제 토폴로지 예제 토폴로지

구성

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

경고:

설계상 R1의 공유 서브넷에서 유래되지 않는 한 샘플 필터가 R2에 대한 Telnet 및 SSH 액세스를 제한합니다. SSH 또는 Telnet을 사용하여 R2 디바이스에 직접 액세스하면 필터를 적용할 때 연결을 잃게 됩니다. 이 예제를 구성할 때 콘솔 액세스를 갖추는 것을 권장합니다. 필요할 경우, 필터를 적용한 후 점프 호스트로 R1 디바이스를 사용하여 R2에 대한 SSH 세션을 시작할 수 있습니다. 또한, 샘플 필터를 수정하여 R2 디바이스에 액세스하는 데 사용하는 시스템에 할당된 IP 서브넷을 허용하는 것을 고려하십시오.

이 예제를 구성하려면 다음 작업을 수행해야 합니다.

CLI 빠른 구성

R1 디바이스에 대한 빠른 구성

R1 디바이스를 빠르게 구성하려면 필요할 경우 다음 명령을 편집하고 [edit] 계층 수준의 CLI에 붙여넣어야 합니다. 구성 모드에서 commit 을(를) 발행하여 변경 사항을 활성화해야 합니다.

R2 디바이스에 대한 빠른 구성

R2 디바이스를 빠르게 구성하려면 필요할 경우 다음 명령을 편집하고 [edit] 계층 수준의 CLI에 붙여넣어야 합니다. 구성 모드에서 commit을(를) 발행하여 변경 사항을 활성화해야 합니다.

팁:

디바이스의 원격 액세스에 영향을 미칠 수 있는 변경 사항을 적용할 때 commit-confirmed을(를) 사용하는 것을 고려하십시오. Junos OS 구성 활성화 및 확인 필요

R1 디바이스 구성

단계별 절차

R1 디바이스를 구성하려면 다음 단계를 따르십시오.

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

  2. R2 디바이스의 루프백 주소에 대한 호스트 이름과 정적 경로를 구성합니다. Telnet 및 SSH 액세스를 구성합니다.

R1 디바이스에서 구성 확인 및 커밋

단계별 절차

R1 디바이스에서 후보 구성을 확인하고 커밋하려면 다음 단계를 완료하십시오.

  1. show interfaces 구성 모드 명령을 사용하여 인터페이스 구성을 확인합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 예제에 제공된 지침을 반복하여 구성을 수정하십시오.

  2. R2 디바이스의 루프백 주소에 도달하는 데 사용하는 정적 경로를 확인하고 SSH 및 Telnet 액세스가 활성화되어 있는지 확인합니다. show routing-optionsshow system services 구성 모드 명령을 사용합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 예제에 제공된 지침을 반복하여 구성을 수정하십시오.

  3. R1 디바이스에 대한 구성이 만족스러우면 후보 구성을 커밋합니다.

R2 디바이스 구성

단계별 절차

R2 디바이스를 구성하려면 다음 단계를 완료하십시오. Telnet 및 SSH 액세스를 선택적으로 차단하는 무상태 방화벽 필터를 정의합니다.

  1. edit firewall family inet filter local_acl 계층으로 이동합니다.

  2. 필터 용어 terminal_access을(를) 정의합니다. 이 용어는 지정된 소스 접두사에서 Telnet 및 SSH를 허용합니다.

  3. 필터 용어 terminal_access_denied을(를) 정의합니다. 이 용어는 기타 모든 소스 주소에서 SSH 및 Telnet을 거부합니다. 이 용어는 용어와 일치하는 항목을 기록하고 패킷 소스에 대한 명시적 ICMP(Internet Control Message Protocol) 대상 도달 불가 응답을 다시 생성하기 위해 구성합니다. 필터 로깅 옵션에 대한 자세한 내용은 방화벽 필터 로깅 동작을 참조하십시오.

    팁:

    discard 동작을 사용하여 소스 측에 ICMP 오류 메시지가 다시 생성되는 것을 억제할 수 있습니다. 자세한 내용은 방화벽 필터 종료 동작을 참조하십시오.

  4. 선택 사항.

    필터 용어 tcp-estab을(를) 정의합니다. 이 용어는 인터넷에 대한 아웃바운드 액세스를 허용하여 Juniper Mist Cloud에 대한 연결을 지원합니다(tcp-established은(는) 비트 필드 일치 조건 tcp-flags "(ack | rst)"입니다. 이는 첫 번째 TCP 연결 패킷이 아닌 수립된 TCP 세션을 나타냅니다.).

  5. 필터 용어 default-term을(를) 정의합니다. 이 용어는 기타 모든 트래픽을 허용합니다. Junos OS 무상태 필터 끝에는 암묵적인 거부 용어가 있습니다. default-term은(는) 명료한 수락 동작을 통해 필터를 종료함으로써 이러한 동작을 오버라이드합니다. 필터가 종료되면 필터에 의해 기타 모든 트래픽이 수락됩니다.

    주:

    이 예제에서는 기타 모든 트래픽을 허용하지만 네트워크의 경우, 라우팅 엔진을 보호해야 할 수도 있습니다. 자세한 내용은 라우팅 엔진 보호하기를 참조하십시오.

  6. 루프백 인터페이스를 구성하고 입력 방향으로 필터를 적용합니다.

  7. R1 디바이스의 루프백 주소에 대한 호스트 이름, ge-0/0/0 인터페이스, 정적 경로를 구성하고 SSH 및 Telnet을 통해 원격 액세스를 활성화합니다.

디바이스 R2의 구성 확인 및 커밋

단계별 절차

R2 디바이스에서 후보 구성을 확인하고 커밋하려면 다음 단계를 완료하십시오.

  1. show firewall 구성 모드 명령을 사용하여 무상태 방화벽 필터의 구성을 확인합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 예제에 제공된 지침을 반복하여 구성을 수정하십시오.

  2. show interfaces 구성 모드 명령을 사용하여 인터페이스 구성 및 필터 애플리케이션을 확인합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 예제에 제공된 지침을 반복하여 구성을 수정하십시오.

  3. R1 디바이스에 대한 루프백 주소에 도달하는 데 사용하는 정적 경로를 확인하고 Telnet 및 SSH 액세스가 활성화되어 있는지 확인합니다. show routing-optionsshow system services 구성 모드 명령을 사용합니다. 명령 출력에 의도한 구성이 표시되지 않으면 이 예제에 제공된 지침을 반복하여 구성을 수정하십시오.

  4. R2 디바이스에 대한 구성이 만족스러우면 후보 구성을 커밋합니다.

    팁:

    디바이스의 원격 액세스에 영향을 미칠 수 있는 변경 사항을 적용할 때 commit-confirmed을(를) 사용하는 것을 고려하십시오.

무상태 방화벽 필터 확인

Telnet 및 SSH 액세스를 제한하는 방화벽 필터가 적절히 작동하고 있는지 확인합니다.

수락된 패킷 확인

목적

트래픽이 192.168.1.0/30 서브넷에서 유래될 때 방화벽 필터가 SSH 및 Telnet을 적절히 허용하는지 확인합니다.

작업

  1. 라우터 또는 스위치에서 방화벽 로그를 삭제합니다.

  2. 192.168.1.0/30 서브넷 IP 주소의 호스트에서 허용된 소스 주소의 SSH를 사용하여 디바이스에 로그인할 수 있는지 확인하려면 ssh 192.168.255.2 명령을 사용해야 합니다. 이 패킷이 수락되어야 하지만 이 패킷의 패킷 헤더 정보는 패킷 전달 엔진의 방화벽 필터 로그 버퍼에 기록되지 않아야 합니다. 이것이 디바이스 간의 첫 번째 SSH 로그인이 user인 경우 SSH 호스트 키를 저장하라는 메시지가 표시됩니다.

    주:

    기본적으로 R1 디바이스는 대상에 도달하는 데 사용하는 송신 인터페이스에서 SSH 트래픽을 조달합니다. 결과적으로, 이 트래픽은 R1 디바이스의 ge-0/0/0 인터페이스에 할당된 192.168.1.1 주소에서 조달됩니다.

  3. SSH 세션을 닫으려면 R2 디바이스의 CLI에서 로그아웃하십시오.

  4. 192.168.1.0/30서브넷 IP 주소의 호스트에서, 허용된 소스 주소에서 Telnet을 사용하여 라우터 또는 스위치에 로그인할 수 있는지 확인하려면 telnet 192.168.255.2 명령을 사용해야 합니다. 이 패킷이 수락되어야 하지만 이 패킷의 패킷 헤더 정보는 패킷 전달 엔진의 방화벽 필터 로그 버퍼에 기록되지 않아야 합니다.

  5. R2 디바이스에 대한 Telnet 세션을 닫으려면 CLI에서 로그아웃하십시오.

  6. show firewall log 명령을 사용하여 R2 디바이스의 패킷 전달 엔진(PIFE) 방화벽 로그 버퍼에 192.168.1.0/30 서브넷 소스 주소를 갖는 입력 항목이 포함되어 있지 않은지 확인하십시오.

기록 및 거부된 패킷 확인

목적

방화벽 필터가 192.168.1.0/30 서브넷에서 유래하지 않은 SSH 및 Telnet 트래픽을 적절히 거부하는지 확인합니다.

작업

  1. 라우터 또는 스위치에서 방화벽 로그를 삭제합니다.

  2. R1 디바이스의 루프백 주소에서 조달된 SSH 트래픽을 생성합니다. 이 트래픽의 소스 주소는 허용된 192.168.1.0/30 서브넷 범위를 벗어나 있습니다. 이 소스 주소에서 SSH를 사용하여 디바이스에 로그인할 수 없는지 확인하려면 ssh 192.168.255.2 source 192.168.255.1 명령을 사용해야 합니다. 이 패킷이 거부되어야 하며 패킷 헤더 정보는 방화벽 필터 로그 버퍼에 기록되어야 합니다.

    출력은 SSH 연결이 거부되어 있음을 나타냅니다. 이 출력은 필터가 ICMP 오류 메시지 를 생성하고 허용되지 않은 소스 주소에서 전송될 경우 SSH 트래픽을 적절히 차단함을 확인합니다.

  3. R1 디바이스의 루프백 주소에서 조달된 Telnet 트래픽을 생성합니다. 이 트래픽의 소스 주소는 허용된 192.168.1.0/30 서브넷 범위를 벗어나 있습니다. 이 소스 주소에서 Telnet을 사용하여 디바이스에 로그인할 수 없는지 확인하려면 telnet 192.168.255.2 source 192.168.255.1 명령을 사용해야 합니다. 이 패킷이 거부되어야 하며 이 패킷에 대한 패킷 헤더 정보는 PFE의 방화벽 필터 로그 버퍼에 기록되어야 합니다.

    출력은 Telnet 연결이 거부되어 있음을 나타냅니다. 이 출력은 필터가 ICMP 오류 메시지를 생성하고 허용되지 않은 소스 주소에서 전송될 경우 Telnet 트래픽을 적절히 차단함을 확인합니다.

  4. R2 디바이스의 방화벽 로그 버퍼가 192.168.255.1 소스 주소를 갖는 패킷이 거부되었음을 나타내는 입력 항목을 포함하는지 확인하려면 show firewall log 명령을 사용해야 합니다.

    출력은 192.168.255.1 소스 주소의 트래픽이 필터의 terminal_access_denied 용어와 일치함을 확인합니다. Action 열은 이러한 패킷이 거부되었음을 나타내는 R을(를) 표시합니다. 인터페이스, 전송 프로토콜 그리고 소스 및 대상 주소도 나열되어 있습니다. 이러한 결과는 방화벽 필터가 이 예제에서 적절히 작동하고 있음을 확인합니다.