TCP/IP Registry Values That Harden the TCP/IP Stack
The following list explains the TCP/IP-related registry values that you can configure to harden the TCP/IP stack on computers that are directly connected to the Internet. All of these values should be created under the following registry key, unless otherwise noted:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
NOTE: All values are in hexadecimal unless otherwise noted.
| • | Value name: SynAttackProtect Key: Tcpip\Parameters Value Type: REG_DWORD Valid Range: 0,1 Default: 0 This registry value causes Transmission Control Protocol (TCP) to adjust retransmission of SYN-ACKS. When you configure this value, the connection responses time out more quickly during a SYN attack (a type of denial of service attack). The following parameters can be used with this registry value:
| ||||||||||
| • | Value name: EnableDeadGWDetect Key: Tcpip\Parameters Value Type: REG_DWORD Valid Range: 0, 1 (False, True) Default: 1 (True) The following list explains the parameters that you can use with this registry value:
| ||||||||||
| • | Value name: EnablePMTUDiscovery Key: Tcpip\Parameters Value Type: REG_DWORD Valid Range: 0, 1 (False, True) Default: 1 (True) The following list explains the parameters that you can use with this registry value:
| ||||||||||
| • | Value name: KeepAliveTime Key: Tcpip\Parameters Value Type: REG_DWORD-Time in milliseconds Valid Range: 1-0xFFFFFFFF Default: 7,200,000 (two hours) This value controls how frequently TCP tries to verify that an idle connection is still intact by sending a keep-alive packet. If the remote computer is still reachable, it acknowledges the keep-alive packet. Keep-alive packets are not sent by default. You can use a program to configure this value on a connection. The recommended value setting is 300,000 (5 minutes). | ||||||||||
| • | Value name: NoNameReleaseOnDemand Key: Netbt\Parameters Value Type: REG_DWORD Valid Range: 0, 1 (False, True) Default: 0 (False) This value determines whether the computer releases its NetBIOS name when it receives a name-release request. This value was added to permit the administrator to protect the computer against malicious name-release attacks. Microsoft recommends that you set the NoNameReleaseOnDemand value to 1. |
