Hardening TCP/IP Stack สำหรับ Windows

0
628
Hardening Windows
Hardening Windows

การ Hardening Registry ที่เกี่ยวข้องกับ TCP/IP ของ Windows

บทความนี้เป็นทางเลือกเพิ่มเติมสำหรับผู้ที่ดูแลระบบ Server ที่ต้องการเพิ่มความปลอดภัยขั้นสูงในด้าน TCP/IP Protocol

หรือในภาษาที่ Microsoft เรียกว่าการ Hardening TCP/IP Stack นั่นเองครับ

โดยการปรับแต่ค่าเพิ่มเติมบน Windows Server หรือ Windows Client ที่ไม่มีมาโดย Default (เราจำเป็นต้อง Add เพิ่มเองแบบ Manual)

เรามาดูความหมายในแต่ละค่ากันดีกว่าครับ

ขั้นตอนที่ 1 เปิด Registry Editor เตรียมไว้เลยครับ โดยใช้คำสั่ง Regedit.exe แล้วเข้าไปที่ Path ตามด้านล่างนี้ครับ

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

Hardening TCP/IP Stack, การตั้งค่า Registry เพิ่มความปลอดภัย

จากนั้นรอดูครับ ว่าแต่ละความหมายที่ผมอธิบาย สมควรจะปรับแต่งตามหรือไม่

ถ้าต้องการปรับแต่งตามคำอธิบายด้านล่างนี้ก็จัดไปได้เลยครับ

วิธีทำก็คือให้คลิกขวาแล้วเลือก New > DWORD Value ครับ และพิมพ์ชื่อให้ตรงแล้วกรอกตัวเลขตามค่าแนะนำได้เลยครับ

Hardening TCP/IP Stack, การตั้งค่า Registry เพิ่มความปลอดภัย

คำอธิบายเพิ่มเติม

EnableICMPRedirect“=dword:00000000

เป็นการป้องกัน Windows จากการตอบรับ ICMP Redirect Message หรือการเปลี่ยนแปลง Routing Table เพื่อตอบสนองกับ ICMP

ค่า Default = 1 (enabled)

ค่าที่แนะนำ dword: = 0 (disabled)

 

EnableDeadGWDetect“=dword:00000000

เป็นการป้องกันผู้บุกรุกไม่ให้เปลี่ยนไปใช้ Gateway อื่นได้

ค่า Default = 1 (enabled)

ค่าที่แนะนำ dword: = 0 (disabled)

 

KeepAliveTime“=dword:500000

เป็นการตั้งค่าให้ TCP พยายามตรวจสอบว่า Idle Connection นั้น ๆ ยังจะติดต่อกับ Server อยู่หรือไม่ค่าที่แนะนำคือทุก 5 นาที (5 minutes)

ค่าที่แนะนำ dword: = 300000

 

DisableIPSourceRouting“=dword:00000002

IP Source routing เป็น Option ที่อนุญาตให้มีการระบุปลายทางเพิ่มเติมสำหรับการส่ง packet ได้ เป็นช่องทางหนึ่งในการบุกรุกของ Hacker

การตั้งค่ามีความหมายดังนี้

“0” ยอมให้มีการ Forward ทุก packets

“1” ไม่เปิดให้มีการ Forward ทุก packets ที่มาจากต้นทาง (default)

“2” Drop ทุก incoming source routed packets

ค่าที่แนะนำ dword: = 2

 

TcpMaxConnectResponseRetransmissions“=dword:00000001

เป็นค่าที่ควบคุมจำนวนครั้งที่ SYN-ACK สามารถ retransmitted ก่อนยกเลิกด้วย SYN Request (ป้องกัน SYN-Flood นั่นเองครับ)

การตั้งค่ามีความหมายดังนี้ ขอยกภาษาอังกฤษมานะครับเพราะใช้ทับศัพท์แล้วแปร่ง ๆ

“0” = No retransmission, half-open connections dropped after 3 seconds

“1” = 3 seconds, half-open connections dropped after 9 seconds

“2” = 3 & 6 seconds, half-open connections dropped after 21 seconds

“3” = 3, 6, & 9 seconds, half-open connections dropped after 45 seconds

ค่าที่แนะนำ dword: = 1

 

TcpMaxDataRetransmissions“=dword:00000003

เป็นค่าที่ควบคุมจำนวนครั้งที่ยอมให้ unacknowledged มีการส่งใหม่อีกครั้ง (สิ้นเปลือง Resource ของเครื่อง Server ครับ)

ค่า Default = 5

ค่าที่แนะนำ dword: = 3

 

PerformRouterDiscovery“=dword:00000000

เป็นการตั้งค่าให้อนุญาต Internet Router Discovery Protocol (IRDP) ทำการตั้งค่าและค้นหา default gateway address ครับ (คือจะทำให้ถูก DoS ได้ง่ายขึ้น)

ค่าที่แนะนำ dword: = 0 (disabled)

 

SynAttackProtect“=dword:00000001

อันนี้แปลง่ายครับ เป็นการตั้งค่าไม่ให้ถูก DoS นั่นเอง

ค่าที่แนะนำ dword: = 1 (enabled)

 

Summary | สรุปค่าที่แนะนำ

Copy code ข้างล่างไปใส่ใน notepad แล้ว Save เป็นไฟล์ .reg เพื่อนำไป Merge Registry ได้เลยครับ

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]

“EnableICMPRedirect”=dword:00000000

“EnableDeadGWDetect”=dword:00000000

“KeepAliveTime”=dword:500000

“DisableIPSourceRouting”=dword:00000002

“TcpMaxConnectResponseRetransmissions”=dword:00000001

“TcpMaxDataRetransmissions”=dword:00000003

“PerformRouterDiscovery”=dword:00000000

“SynAttackProtect”=dword:00000001

หลังจากตั้งค่าเสร็จแล้วก็จะได้ตามรูปด้านล่างนี้ครับ

Hardening TCP/IP Stack, การตั้งค่า Registry เพิ่มความปลอดภัย

References | แหล่งอ้างอิง

http://technet.microsoft.com/en-us/library/dd349797(v=ws.10).aspx

http://msdn.microsoft.com/en-us/library/ff648853.aspx

http://technet.microsoft.com/en-us/library/cc766102(v=ws.10).aspx