การ 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]
จากนั้นรอดูครับ ว่าแต่ละความหมายที่ผมอธิบาย สมควรจะปรับแต่งตามหรือไม่
ถ้าต้องการปรับแต่งตามคำอธิบายด้านล่างนี้ก็จัดไปได้เลยครับ
วิธีทำก็คือให้คลิกขวาแล้วเลือก New > DWORD Value ครับ และพิมพ์ชื่อให้ตรงแล้วกรอกตัวเลขตามค่าแนะนำได้เลยครับ
คำอธิบายเพิ่มเติม
“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
หลังจากตั้งค่าเสร็จแล้วก็จะได้ตามรูปด้านล่างนี้ครับ
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