[window/윈도우 서버] DoS 공격 방어 레지스트리 설정
- 정보보안/Windows 서버
- 2022. 9. 9.
W-72 DoS 공격 방어 레지스트리 설정
■ 점검영역 : 보안 관리
■ 항목 중요도 : 중
■ 점검내용
DoS 공격 방어 레지스트리 설정 여부 점검
■ 점검목적
TCP/IP 스택(Stack)을 강화하는 레지스트리 값 변경을 통하여 DoS 공격을 방어하기 위함
■ 보안위협
DoS 방어 레지스트리를 설정하지 않은 경우, DoS 공격에 의한 시스템 다운으로 서비스 제공이 중단될 수 있음
■ 참고
※ DoS(서비스 거부 공격)
네트워크 사용자가 컴퓨터나 컴퓨터의 특정 서비스를 사용할 수 없도록 만들기 위한 네트워크 공격
점검대상 및 판단기준(윈도우 서버, window)
■ 대상 : Windows NT, 2000, 2003, 2008, 2012, 2016, 2019
양호
DoS 방어 레지스트리 값이 아래와 같이 설정되어 있는 경우
취약
DoS 방어 레지스트리 값이 아래와 같이 설정되어 있지 않은 경우
• SynAttackProtect = REG_DWORD 0(False) -> 1 이상
• EnableDeadGWDetect = REG_DWORD 1(True) -> 0
• KeepAliveTime = REG_DWORD 7,200,000(2시간) -> 300,000(5분)
• NoNameReleaseOnDemand = REG_DWORD 0(False) -> 1
■ 조치방법
위에 명시된 레지스트리 값을 추가 또는, 변경하여 적용함
점검 및 조치 방법
레지스트리 값 이름 | 설명 |
SynAttackProtect (Windows 2008 이후 서버 버전 기본 활성화 – 해제 불가) |
SYN-ACK 패킷의 기다리는 시간을 줄여 SYN 공격에 대한 방어 기능을 설정할 수 있음 • 0 => SynAttack 프로텍션을 사용하지 않음 • 1 => 재전송 시도를 줄이고, route 캐쉬 엔트리를 지연시킴 • 2 => 1의 기능 외에도 Winsock에 대한 지시(indication)를 지연시킴 |
EnableDeadGWDetect | EnableDeadGWDetect를 0으로 설정하지 않으면 서버가 강제로 원하지 않는 Gateway로 전환될 수 있음 • 0 => (False) 작동하지 않는 Gateway을 검색할 수 없음 • 1 => (True) 작동하지 않는 Gateway을 검색할 수 있음 |
KeepAliveTime | idle connection을 확인하기 위하여 얼마나 자주 Keep-alive 패킷을 보낼지를 결정하는 값임 • 기본 값 => 7,200,000(2시간) • 권장 값 => 300,000(5분) |
NoNameReleaseOnDemand | 컴퓨터가 이름 해제 요청을 받을 때 NetBIOS 이름 해제 여부를 결정하는 설정으로 이 값은 관리자가 악의적인 이름 해제 공격으로부터 컴퓨터를 보호할 수 있음. • 0 => (False) 해당 기능 사용 안 함 • 1 => (True) 해당 기능 사용 |
■ Windows NT, 2000, 2003, 2008, 2012, 2016, 2019
Step 1) 시작> 실행> REGEDIT
Step 2) HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\ 검색
Step 3) 다음의 DOS 방어 레지스트리 값 추가 또는, 변경
레지스트리 값 이름 | 값 종류 | 유효 범위 | 권장 설정 값 |
SynAttackProtect | REG_DWORD | 0, 1, 2 | 1 또는 2 |
EnableDeadGWDetect | REG_DWORD | 0, 1 (False, True) | 0 (False) |
KeepAliveTime | REG_DWORD | 1 – 0xFFFFFFFF | 300,000(5분)으로 변경 |
NoNameReleaseOnDemand | REG_DWORD | 0, 1 (False, True) | 1 (True) |
■ 조치 시 영향 : 잘못된 값을 설정할 경우 OS 재설치를 요구할 수 있음