본문 바로가기
취약점 진단/WINDOWS 취약점 진단

윈도우 서버 W-72 Dos 공격 방어 레지스트리 설정

by 게으른 피글렛 2024. 8. 29.
반응형

윈도우 서버 W-72 Dos 공격 방어 레지스트리 설정

항목중요도 : 중

1. 취약점 개요

▶ 점검내용 : DoS 공격 방어 레지스트리 설정 여부 점검

 점검목적 : TCP/IP 스택(Stack)을 강화하는 레지스트리 값 변경을 통하여 DoS 공격을 방어하기 위함

 보안위협

 · DoS 방어 레지스트리를 설정하지 않은 경우, DoS 공격에 의한 시스템 다운으로 서비스 제공이 중단될 수 있음

 참고

※ DoS(서비스 거부 공격): 네트워크 사용자가 컴퓨터나 컴퓨터의 특정 서비스를 사용할 수 없도록 만들기 위한 네트워크 공격

2. 점검대상 및 판단 기준

  대상 :  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

  조치방법 : 위에 명시된 레지스트리 값을 추가 또는, 변경하여 적용함

3. 윈도우서버 초기 설정값

※ 테스트한 윈도우 서버의 버전은 windows server 2022 입니다.

 

확인방법

1) 시작> 실행> REGEDIT
2) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
3) SynAttackProtect, EnableDeadGWDetect, KeepAliveTime, NoNameReleaseOnDemand 확인

SynAttackProtect, EnableDeadGWDetect, KeepAliveTime, NoNameReleaseOnDemand 항목이 없습니다.

취약입니다.

 

4. 조치

조치를 해보겠습니다.

이 항목의 경우 조치를 잘못된 값을 설정할 경우 OS 재설치를 요구할 수 있다고 합니다.

 

1) 시작> 실행> REGEDIT
2) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
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)

이렇게 추가해주면됩니다.

 

SynAttackProtect항목의 경우 설정하지 않아도 기본으로 적용된다고 합니다.

https://learn.microsoft.com/en-us/archive/blogs/nettracer/syn-attack-protection-on-windows-vista-windows-2008-windows-7-windows-2008-r2-windows-88-1-windows-2012-and-windows-2012-r2

5. 결과

조치해주시면될 것같습니다.

DOS 공격시 해당 레지스트리가 하는 역할입니다.

레지스트리 값 이름 설 명
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) 해당 기능 사용

 

윈도우서버를 마스터하는 그날까지

화이팅!

 

반응형