RPC에서 특정 포트를 사용하도록 구성하는 방법과 IPsec을 사용하여 이러한 포트를 보호하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 908472 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

요약

이 문서에서는 RPC에서 특정 동적 포트 범위를 사용하도록 구성하는 방법과 IPsec(인터넷 프로토콜 보안) 정책을 사용하여 해당 범위에 있는 포트를 보호하는 방법을 설명합니다. 기본적으로 RPC는 TCP 종점에서 수신해야 하는 RPC 응용 프로그램에 포트를 할당할 때 임시 포트 범위(1024-5000)의 포트를 사용합니다. 네트워크 관리자는 이를 통해 이러한 포트에 대한 액세스를 제한할 수 있습니다. 이 문서에서는 RPC 응용 프로그램에서 사용할 수 있는 포트 수를 줄이는 방법과 레지스트리 기반 IPsec 정책을 사용하여 이러한 포트에 대한 액세스를 제한하는 방법을 설명합니다.

이 문서의 단계에는 컴퓨터 수준의 변경 작업이 포함되어 있으며 변경 사항은 컴퓨터를 다시 시작해야 적용되므로 먼저 프로덕션 환경이 아닌 환경에서 이러한 모든 단계를 수행하여 변경 결과로 발생할 수 있는 응용 프로그램 호환성 문제를 파악해야 합니다.

추가 정보

RPC 포트를 재할당하고 포트 수를 줄이고 액세스를 제한하려면 여러 가지 구성 작업을 수행해야 합니다.

먼저 방화벽이나 IPsec 정책을 사용하여 쉽게 차단할 수 있도록 RPC 동적 포트 범위를 관리가 용이한 보다 작은 범위로 제한해야 합니다. 기본적으로 RPC는 수신할 포트를 지정하지 않은 종점에 대해 1024 ~ 5000 범위의 포트를 동적으로 할당합니다.

참고 이 문서에서는 5001-5021의 포트 범위를 사용하여 임시 포트가 소모되지 않도록 하고 RPC 종점에서 사용할 수 있는 포트 수를 3,976개에서 20개로 줄입니다.

그런 다음 이 포트 범위에 대한 액세스를 제한하기 위한 IPsec 정책을 만들어 네트워크의 모든 호스트에 대한 액세스를 거부해야 합니다.

마지막으로 IPsec 정책을 업데이트하여 차단된 RPC 포트에 대한 액세스 권한을 특정 IP 주소나 네트워크 서브넷에 부여하고 다른 모든 IP 주소나 네트워크 서브넷은 제외시킬 수 있습니다.

RPC 동적 포트 범위를 다시 구성하는 작업을 시작하려면 RPC 구성 도구(RPCCfg.exe)를 다운로드한 다음 이를 다시 구성할 워크스테이션이나 서버에 복사합니다. 이 도구는 다음 Microsoft 웹 사이트에서 다운로드할 수 있습니다.
http://www.microsoft.com/downloads/details.aspx?FamilyID=0f9cde2f-8632-4da8-ae70-645e1ddaf369&DisplayLang=en
IPsec 정책을 만드는 후속 작업을 수행하려면 Internet Protocol Security Policies Tool(Ipsecpol.exe)을 다운로드한 다음 이를 다시 구성할 워크스테이션이나 서버에 복사합니다. 이 도구는 다음 Microsoft 웹 사이트에서 다운로드할 수 있습니다.
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=7D40460C-A069-412E-A015-A2AB904B7361
참고 Microsoft Windows XP 이상 버전의 Windows 운영 체제에서 사용할 IPsec 정책을 만들려면 Ipseccmd.exe를 사용합니다. Ipseccmd.exe는 Windows XP 지원 도구 중 하나입니다. IPseccmd.exe의 구문 및 사용법은 Ipsecpol.exe의 구문 및 사용법과 동일합니다. Windows XP 지원 도구에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
838079 Windows XP 서비스 팩 2 지원 도구

RPCCfg.exe를 사용하여 RPC 동적 포트 범위 재할당 및 줄이기

RPCCfg.exe를 사용하여 RPC 동적 포트 범위를 재할당하고 줄이려면 다음 단계를 수행하십시오.
  1. RPCCfg.exe를 구성할 서버에 복사합니다.
  2. 명령 프롬프트에서 rpccfg.exe -pe 5001-5021 -d 0을 입력합니다.
    참고 이 범위의 포트는 다른 응용 프로그램용으로는 거의 할당되지 않으므로 RPC 종점에 이 포트 범위를 사용하는 것이 좋습니다. 기본적으로 RPC에서는 종점에 포트를 할당할 때 1024-5000의 포트 범위를 사용합니다. 그러나 이 범위의 포트는 Windows 운영 체제에서 Windows 소켓 응용 프로그램에도 동적으로 할당되므로 원격 시스템으로 나가는 호출이 많은 터미널 서버와 중간 계층 서버와 같이 사용량이 많은 서버에서는 소모될 수 있습니다.

    예를 들어, Internet Explorer는 웹 서버의 포트 80에 연결할 때 해당 서버로부터의 응답을 1024-5000 범위의 포트에서 수신 대기합니다. 다른 원격 서버로 호출을 내보내는 중간 계층 COM 서버에서도 이 범위의 포트를 사용하여 해당 호출에 대해 들어오는 회신을 받습니다. RPC가 종점에 사용하는 포트 범위를 5001 포트 범위로 이동하면 다른 응용 프로그램에서 이러한 포트를 사용할 가능성을 줄일 수 있습니다.
    Windows 운영 체제에서 임시 포트를 사용하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.

IPsec 또는 방화벽 정책을 사용하여 영향 받는 호스트의 취약한 포트에 대한 액세스 차단

다음 섹션의 명령에서 퍼센트(%) 기호 사이에 나오는 텍스트는 IPsec 정책을 만드는 사용자가 입력해야 하는 명령의 텍스트를 나타냅니다. 예를 들어, "%IPSECTOOL%" 텍스트가 나타나면 IPsec 정책을 만드는 사용자는 해당 텍스트를 다음과 같이 대체해야 합니다.
  • Windows 2000의 경우 "%IPSECTOOL%"를 "ipsecpol.exe"로 대체합니다.
  • Windows XP 이상 버전의 Windows의 경우 "%IPSECTOOL%"를 "ipseccmd.exe"로 대체합니다.
IPsec을 사용하여 포트를 차단하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
813878 IPSec을 사용하여 특정 네트워크 프로토콜 및 포트를 차단하는 방법

모든 IP 주소의 RPC 종점 매퍼에 대한 액세스 차단

모든 IP 주소의 RPC 종점 매퍼에 대한 액세스를 차단하려면 다음 구문을 사용합니다.

참고 Windows XP 이상의 운영 체제에서는 Ipseccmd.exe를 사용하고 Windows 2000에서는 Ipsecpol.exe를 사용하십시오.
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
참고 이 명령에 "%IPSECTOOL%"를 입력하지 마십시오. "%IPSECTOOL%"는 사용자 지정해야 하는 명령 부분을 나타내기 위한 것입니다. 예를 들어, Windows 2000의 경우 TCP 135로 들어오는 모든 액세스를 차단하려면 Ipsecpol.exe가 들어 있는 디렉터리에서 다음 명령을 입력하십시오.
ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK
Windows XP 및 최신 운영 체제에서는 Ipseccmd.exe가 포함된 디렉터리에서 다음 명령을 입력하여 들어오는 TCP 135에 대한 모든 액세스를 차단합니다.
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 135 Rule" -f *=0:135:TCP -n BLOCK

모든 IP 주소의 RPC 동적 포트 범위에 대한 액세스 차단

모든 IP 주소의 RPC 동적 포트 범위에 대한 액세스를 차단하려면 다음 구문을 사용합니다.

참고 Windows XP 이상의 운영 체제에서는 Ipseccmd.exe를 사용하고 Windows 2000에서는 Ipsecpol.exe를 사용하십시오.
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Block Inbound TCP %PORT% Rule" -f *=0:%PORT%:TCP -n BLOCK
참고 이 명령에는 "%IPSECTOOL%"나 "%PORT%"를 입력하지 마십시오. "%IPSECTOOL%" 및 "%PORT%"는 사용자 지정해야 하는 명령 부분을 나타내기 위한 것입니다. 예를 들어, Windows 2000 호스트의 경우 TCP 5001로 들어오는 모든 액세스를 차단하려면 다음 명령을 입력하십시오.
ipsecpol.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
Windows XP 호스트나 그 이상 버전의 Windows 운영 체제 호스트의 경우 TCP 5001로 들어오는 모든 액세스를 차단하려면 다음 명령을 입력하십시오.
ipseccmd.exe -w REG -p "Block RPC Ports" -r "Block Inbound TCP 5001 Rule" -f *=0:5001:TCP -n BLOCK
이 명령에 나열된 포트 번호를 변경하여 차단해야 하는 각 RPC 포트에 대해 이 명령을 반복합니다. 차단해야 하는 포트는 5001-5021 범위에 있는 포트입니다.

참고 규칙 이름(-r 스위치)과 필터(-f 스위치)의 포트 번호를 변경해야 합니다.

선택적: 액세스가 필요한 경우 특정 서브넷에 RPC 종점 매퍼에 대한 액세스 권한 부여

특정 서브넷에 제한된 RPC 포트에 대한 액세스 권한을 부여해야 하는 경우에는 먼저 이전에 차단한 RPC 종점 매퍼에 대한 액세스 권한을 해당 서브넷에 부여해야 합니다. 특정 서브넷에 RPC 종점 매퍼에 대한 액세스 권한을 부여하려면 다음 명령을 사용합니다.
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP 135 from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:135:TCP -n PASS
참고 이 명령은 다음과 같이 적용합니다.
  • "%IPSECTOOL%"는 사용할 명령을 나타냅니다. 이 명령에는 구성 중인 운영 체제에 따라 "ipsecpol.exe"나 "ipseccmd.exe"를 사용합니다.
  • "%SUBNET%"는 액세스 권한을 부여할 원격 IP 서브넷을 나타냅니다(예: 10.1.1.0).
  • "%MASK%"는 사용할 서브넷 마스크를 나타냅니다(예: 255.255.255.0).

    예를 들어, 다음 명령을 사용하면 10.1.1.0/255.255.255.0 서브넷의 모든 호스트가 포트 TCP 135에 연결할 수 있습니다. 다른 모든 호스트의 연결은 이전에 이 포트에 대해 만든 기본 차단 규칙에 의해 거부됩니다.
    %IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP Port 135 from 10.1.1.0 Rule" -f 10.1.1.0/255.255.255.0=0:135:TCP -n PASS

선택적: 액세스가 필요한 경우 특정 서브넷에 새 RPC 동적 포트 범위에 대한 액세스 권한 부여

또한 이전에 RPC 종점 매퍼에 대한 액세스 권한이 부여된 각 서브넷에 새 RPC 동적 포트 범위(5001-5021)에 있는 모든 포트에 대한 액세스 권한을 부여해야 합니다.

서브넷에서 RPC 종점 매퍼에 연결할 수 있도록 하되 동적 포트 범위에는 연결할 수 없도록 하면 응용 프로그램 응답이 중지되거나 다른 문제가 발생할 수 있습니다.

다음 명령은 새 RPC 동적 포트 범위에 있는 포트에 대한 액세스 권한을 특정 서브넷에 부여합니다.
%IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP %PORT% from %SUBNET% Rule" -f %SUBNET%/%MASK%=0:%PORT%:TCP -n PASS
참고 이 명령은 다음과 같이 적용합니다.
  • "%IPSECTOOL%"는 사용할 명령을 나타냅니다. 이 명령에는 구성 중인 운영 체제에 따라 "ipsecpol.exe"나 "ipseccmd.exe"를 사용합니다.
  • "%PORT%"는 액세스 권한을 부여할 해당 동적 포트 범위의 포트를 나타냅니다.
  • "%SUBNET%"는 액세스 권한을 부여할 원격 IP 서브넷을 나타냅니다(예: 10.1.1.0).
  • " "%MASK%"는 사용할 서브넷 마스크를 나타냅니다(예: 255.255.255.0).

    예를 들어, 다음 명령을 사용하면 10.1.1.0/255.255.255.0 서브넷의 모든 호스트가 포트 TCP 5001에 연결할 수 있습니다. 다른 모든 호스트의 연결은 이전에 이 포트에 대해 만든 기본 차단 규칙에 의해 거부됩니다.
    %IPSECTOOL% -w REG -p "Block RPC Ports" -r "Allow Inbound TCP Port 5001 from 10.1.1.0 Rule" -f 10.1.1.0/255.255.255.0=0:5001:TCP -n PASS
참고 각 서브넷과 새 RPC 동적 포트 범위의 포트에 대해 이 명령을 반복해야 합니다.

IPsec 정책 할당

참고 이 절의 명령은 즉시 적용됩니다.

구성된 RPC 포트에 대한 모든 차단 규칙 및 선택적인 모든 허용 규칙을 만든 후에 다음 명령을 사용하여 해당 정책을 할당합니다.
%IPSECTOOL% -w REG -p "Block RPC Ports" ?x
참고 정책을 다시 할당하려면 다음 명령을 사용하십시오.
%IPSECTOOL% -w REG -p "Block RPC Ports" ?y
참고 레지스트리에서 정책을 삭제하려면 다음 명령을 사용하십시오.
%IPSECTOOL% -w REG -p "Block RPC Ports" -o
변경 내용을 적용하려면 호스트를 다시 시작해야 합니다.

참고
  • RPC 구성을 변경하면 호스트를 다시 시작해야 합니다.
  • IPsec 정책의 변경 사항은 즉시 적용되므로 호스트를 다시 시작할 필요가 없습니다.
워크스테이션이나 서버를 다시 시작한 후에는 ncacn_ip_tcp 프로토콜 시퀀스를 사용하며 바인딩할 특정 TCP 포트를 지정하지 않은 모든 RPC 인터페이스에 이 범위의 포트가 할당됩니다. 이 작업은 RPC 서버를 시작할 때 RPC 런타임에 의해 수행됩니다.

참고 서버에는 20개 이상의 TCP 포트가 필요합니다. rpcdump.exe 명령을 사용하여 TCP 포트에 바인딩하는 RPC 종점 수를 계산하고 필요한 경우 이 수를 늘릴 수 있습니다. RPC 덤프 도구를 구하는 방법에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd

속성

기술 자료: 908472 - 마지막 검토: 2009년 11월 6일 금요일 - 수정: 6.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows Server 2003 Service Pack 1?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows 2000 Server SP4?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
  • Microsoft Windows XP Home Edition SP2
  • Microsoft Windows XP Media Center Edition 2005
  • Microsoft Windows XP Professional SP2
  • Microsoft Windows XP Tablet PC Edition 2005
키워드:?
kbinfo KB908472

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com