내보내기(0) 인쇄
모두 확장

TCP/IP(Transmission Control Protocol/Internet Protocol)

적용 대상: Windows Server 2003 with SP1

TCP/IP는 어떤 기능을 수행합니까?

TCP/IP(Transmission Control Protocol/Internet Protocol)는 네트워크를 통해 컴퓨터를 연결하기 위한 일련의 표준 프로토콜 모음입니다. TCP/IP를 사용하여 Windows 기반 컴퓨터는 다른 Microsoft 시스템 및 Microsoft 시스템이 아닌 시스템과 연결하여 정보를 공유할 수 있습니다.

TCP/IP 및 관련 레지스트리 설정에 대한 자세한 내용은 Microsoft 웹 사이트(http://go.microsoft.com/fwlink/?LinkId=39649)에서 "Microsoft Windows Server 2003 TCP/IP Implementation Details"를 참조하십시오.

이 기능의 적용 대상은 누구입니까?

TCP/IP를 사용하여 네트워크를 통해 연결하고 정보를 전달하는 모든 사용자는 Windows Server 2003 서비스 팩 1에 통합된 변경 사항을 알고 있어야 합니다.

Windows Server 2003 서비스 팩 1에서 이 기능에 추가된 새로운 기능은 무엇입니까?

SYN 공격 보호는 기본적으로 설정

자세한 설명

SYN 공격이 감지되면 Windows Server 2003 및 Windows XP의 TCP/IP가 SYN-ACK 세그먼트의 재전송 횟수를 줄이고 TCP 3방향 핸드셰이크가 완료될 때까지 연결에 대해 메모리나 테이블 항목 리소스를 할당하지 않습니다.

SYN(TCP Synchronize) 공격은 TCP 3방향 핸드셰이크 동안 SYN-ACK(Synchronize-Acknowledgement) 세그먼트의 재전송과 시간 제한 동작을 이용하여 반 열린 많은 수의 TCP 연결을 만드는 서비스 거부 공격입니다. TCP/IP 프로토콜 구현에 따라 많은 수의 절반 열린 TCP 연결은 다음을 수행할 수 있습니다.

  • 사용 가능한 모든 메모리를 사용합니다.

  • TCP 연결을 추적하는 데 사용되는 내부 테이블인 TCP TCB(Transmission Control Block)의 모든 가능한 항목을 사용합니다. 반 열림 연결이 모든 항목을 사용하면 추가 연결 시도는 TCP 연결 다시 설정으로 응답합니다.

  • 사용 가능한 반 열림 연결을 모두 사용합니다. 반 열림 연결이 모두 사용되면 추가 연결 시도는 TCP 연결 다시 설정으로 응답합니다.

이 변경 사항이 중요한 이유는 무엇이며 이로 인해 줄어드는 위협은 무엇입니까?

SYN 공격이 발생하는 호스트의 영향을 완화하기 위해 TCP/IP는 불완전한 TCP 연결에 사용되는 리소스 양을 최소화하고 연결이 끊어지기 전의 시간을 줄입니다. SYN 공격이 감지되면 Windows Server 2003 및 Windows XP의 TCP/IP가 SYN-ACK 세그먼트의 재전송 횟수를 줄이고 TCP 3방향 핸드셰이크가 완료될 때까지 연결에 대해 메모리나 테이블 항목 리소스를 할당하지 않습니다.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters(REG_DWORD 유형)의 SynAttackProtect 레지스트리 설정을 통해 SYN 공격 보호를 제어할 수 있습니다. SYN 공격 보호를 해제하려면 SynAttackProtect를 0으로 설정하고 SYN 공격 보호를 설정하려면 1로 설정합니다.

서비스 팩이 설치되지 않은 Windows XP(모든 버전) 및 Windows Server 2003에 있는 TCP/IP의 경우 기본적으로 SynAttackProtect는 0으로 설정됩니다. Windows Server 2003 SP1에 있는 TCP/IP의 경우 기본적으로 SynAttackProtect는 1로 설정됩니다.

새로운 SYN 공격 알림 IP 도우미 API

자세한 설명

응용 프로그램이 SYN 공격 발생을 네트워크 관리자에게 알릴 수 있도록 IP 도우미 API는 NotifySecurityHealthChangeCancelSecurityHealthChangeNotify라는 새로운 SYN 공격 알림 API를 지원합니다. 새로운 API에 대한 정보는 아직 MSDN(Microsoft Developer Network)에 게시되지 않았습니다. 이러한 새로운 API를 설명하는 MSDN 항목에 대한 링크는 사용 가능할 때 게시될 것입니다.

스마트 TCP 포트 할당

자세한 설명

Windows Server 2003 SP1에 있는 TCP/IP는 스마트 TCP 포트 할당 알고리즘을 구현했습니다. 응용 프로그램이 사용 가능한 TCP 포트를 요청하면 TCP/IP는 먼저 TIME WAIT 상태에 있는 연결에 대응하지 않는 사용 가능한 포트를 찾으려고 시도합니다. 포트를 찾을 수 없으면 사용 가능한 임의의 포트를 선택합니다.

이 변경 사항이 중요한 이유는 무엇입니까? 이로 인해서 줄어드는 위협은 무엇입니까?

TCP 피어가 TCP 연결 종료를 시작하고 연결 종료가 완료되면 TCP 연결은 TIME WAIT 상태가 됩니다. TIME WAIT 상태에 도달하면 TCP는 MSL(세그먼트 최대 수명)의 2배가 되는 시간을 기다린 후에 소켓 주소의 동일한 집합을 가진 연결을 만들 수 있습니다. 같은 소켓 주소 집합은 원본과 대상 IP 주소 및 원본과 대상 TCP 포트의 조합으로 구성되어 있습니다. MSL은 TCP 세그먼트가 인터네트워크에 존재할 수 있는 최대 시간이며 권장하는 값은 120초입니다. 이 지연은 같은 소켓 주소 집합을 사용하는 새 연결의 TCP 세그먼트가 오래된 연결의 중복된 TCP 세그먼트와 혼동하는 것을 방지합니다.

TIME WAIT 상태에 있는 연결의 TCP 포트는 사용 가능한 포트로 간주되며 응용 프로그램에서 사용하도록 할당할 수 있습니다. 이로 인해 다음과 같은 일련의 이벤트가 발생할 수 있습니다.

  1. 응용 프로그램이 사용 가능한 TCP 포트를 요청합니다.

  2. TCP/IP가 응용 프로그램 소켓에 사용할 TCP 포트를 할당합니다.

  3. 응용 프로그램이 특정 대상 IP 주소를 가진 소켓을 열려고 시도합니다.

  4. 응용 프로그램이 TCP 연결을 설정하고 데이터를 보냅니다.

  5. 응용 프로그램이 TCP 연결을 종료합니다.

  6. TCP/IP가 2*MSL이 경과될 때까지 응용 프로그램의 TCP 연결을 TIME WAIT 상태로 유지합니다.

  7. 동일한 응용 프로그램이 사용 가능한 다른 TCP 포트를 요청합니다.

  8. TCP/IP가 응용 프로그램 소켓에 사용할 TCP 포트를 할당합니다. TIME WAIT 상태의 연결을 위한 포트는 열린 것으로 간주되기 때문에 요청하는 응용 프로그램에 할당할 다음 포트로 선택할 수 있습니다. TCP/IP가 동일한 TCP 포트 번호를 할당하는 것으로 간주됩니다.

  9. 응용 프로그램이 동일한 대상 IP 주소를 가진 소켓을 열려고 시도합니다.

  10. 연결이 TIME WAIT 상태의 연결과 동일한 소켓 주소 집합을 사용하기 때문에 TCP/IP는 응용 프로그램 오류를 나타냅니다.

이 오류 상황을 완화하려면 다음 방법 중 하나를 사용하여 레지스트리 설정을 조정해야 합니다.

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters(REG_DWORD 유형)의 MaxFreeTWTcbs 레지스트리 설정을 더 낮은 값으로 설정합니다. MaxFreeTWTcbs 컨트롤 값은 TIME WAIT 상태에 있을 수 있는 연결 수를 제어합니다. 이 숫자를 초과하면 가장 오래된 연결이 TIME WAIT 상태에서 자동으로 제거됩니다.

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters(REG_DWORD 유형)의 TcpTimedWaitDelay 레지스트리 설정을 더 낮은 값으로 설정합니다. TcpTimedWaitDelay의 값은 연결이 TIME WAIT 상태에 유지되는 시간을 결정합니다.

그러나 이러한 레지스트리 설정의 값을 낮추는 것은 TCP 및 MSL의 원래 설계 의도와 상반되는 것이며 권장하지 않습니다.

따라서 Windows Server 2003 SP1에는 다른 포트를 사용할 수 있는 경우 응용 프로그램이 TIME WAIT 상태에 있는 연결과 같은 소켓 주소 집합을 가진 연결을 만들지 못하도록 하는 이러한 포트 할당 알고리즘 변경 내용이 포함되어 있습니다.

이 새 동작을 사용하면 같은 대상에 연결할 때 응용 프로그램에 TIME WAIT 상태에 있는 TCP 포트가 할당될 가능성이 크지 않습니다. 따라서 위에서 설명한 오류 상황을 방지하기 위해 MaxFreeTWTcbsTcpTimedWaitDelay 레지스트리 키 값을 더 이상 수정할 필요가 없습니다.

향상된 수신 Winsock API

자세한 설명

Winsock API는 응용 프로그램에서 수신 버퍼가 가득 찰 때까지 수신 요청이 완료되지 않도록 지정할 수 있는 메커니즘을 지원합니다. 이렇게 하면 네트워크 지연이 줄어들고 고성능 응용 프로그램을 지원할 수 있습니다. Winsock 구현에 대한 자세한 내용은 MSDN 웹 사이트(http://go.microsoft.com/fwlink/?LinkId=45684)에서 "About the Winsock SPI"를 참조하십시오.

Winsock 자동 치료

자세한 설명

컨소시엄 기반 네트워킹 API(응용 프로그래밍 인터페이스)인 Winsock은 Winsock SPI(서비스 공급자 인터페이스)라고도 하는 메커니즘에 의해 확장될 수 있습니다. SPI는 공급자를 가장 상위에 계층화하는 메커니즘을 제공합니다. 이러한 방식으로 계층화된 공급자를 Winsock LSP(계층화된 서비스 공급자)라고 합니다. Winsock LSP는 보호자 통제 및 웹 콘텐트 필터링을 비롯하여 다양한 용도로 사용될 수 있습니다. 모든 공급자의 특정한 계층화 순서는 Winsock 카탈로그에 유지됩니다. 이전 버전의 Windows Server 2003에서 잘못 구현된 LSP 설치/제거 코드로 인해 LSP를 잘못 제거하면 Winsock 카탈로그가 손상될 수 있으며 이로 인해 모든 네트워크 연결이 끊어질 수 있습니다. Winsock에는 잘못 제거된 LSP를 감지하여 자동으로 치료하는 기능이 있습니다.

이 변경 사항이 중요한 이유는 무엇이며 이로 인해 줄어드는 위협은 무엇입니까?

고객은 LSP를 시스템에서 안전하게 제거할 수 있어야 합니다.

새 Winsock Netsh 명령

자세한 설명

Windows Server 2003 서비스 팩 1에서 두 개의 새 Netsh 명령을 사용할 수 있습니다.

  • netsh winsock reset catalog

    이 명령은 Winsock 카탈로그를 기본 구성으로 다시 설정합니다. 잘못 구성된 LSP가 설치되고 그 결과 네트워크 연결이 끊어진 경우 이 명령이 유용합니다. 이 명령을 사용하면 네트워크 연결이 복원될 수 있지만 이전에 설치된 LSP를 모두 다시 설치해야 하므로 신중하게 사용해야 합니다.

  • netsh winsock show catalog

    이 명령은 컴퓨터에 설치된 Winsock LSP 목록을 표시합니다.

이 변경 사항이 중요한 이유는 무엇이며 이로 인해 줄어드는 위협은 무엇입니까?

이러한 명령을 통해 Winsock LSP 유지 관리 및 문제 해결을 추가로 관리할 수 있으며 이 명령을 스크립트에 사용하면 잘못 구성된 LSP가 널리 설치된 경우 이를 복구할 수 있습니다.

새로운 Netstat 매개 변수

다음 새 매개 변수는 netstat 명령과 함께 사용할 수 있습니다.

  • netstat -b

이 매개 변수를 netstat 명령과 함께 사용하면 각 연결 또는 수신 대기 포트를 만드는 데 관련된 실행 파일이 표시됩니다. 잘 알려진 실행 파일이 여러 독립 구성 요소를 호스트하는 경우에는 연결 또는 수신 대기 포트를 만드는 데 관련된 구성 요소의 시퀀스가 해당 구성 요소를 호출한 실행 파일 앞에 표시된 구성 요소와 함께 표시됩니다. 실행 파일 이름은 실행 파일 이름의 양쪽에 대괄호([])가 표시됩니다.

note참고
이 매개 변수를 사용하는 데는 상당한 시간이 걸릴 수 있으며 이 매개 변수가 실행 중인 계정에 요청된 정보를 수집할 충분한 권한이 없는 경우 실패할 수도 있습니다.

Windows Server 2003 서비스 팩 1에 추가된 새로운 설정은 무엇입니까?

아래 표에서처럼 새로운 레지스트리 키가 추가되었습니다. 이 레지스트리 키는 추가할 수 있는 최대 ICMP 호스트 경로 수를 설정합니다. ICMP를 사용하여 많은 수의 호스트 경로를 추가하는 경우가 아니라면 이 키를 변경해서는 안 됩니다.

 

설정 이름 위치 기본값

MaxICMPHostRoutes

HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Services\Tcpip\Parameters

1000

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.

커뮤니티 추가 항목

표시:
© 2014 Microsoft