在注冊表項HKEY_ CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciessystem中新建一個雙字節值項NoDispBackgr oundPage,修改其值為1。
(10)禁止"顯示"項里的"背景"標簽(適用于Windows 2000/XP)
在注冊表項HKEY_ CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesActiveDesktop中新建一個雙字節值項NoChangingWallPaper,修改其值為1。
(11)去除"顯示"項中的"屏幕保護程序"標簽
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciessystem中新建一個雙字節值項NoDispScrSavPage,修改其值為1。
(12)決定屏幕保護程序是否使用密碼保護(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwarePolicies MicrosoftWindowsControl PanelDesktop中新建一個雙字節值項ScreenSaverIsSecure,修改其值為1。
(13)去除"顯示"項中的"外觀"標簽
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciessystem中新建一個雙字節值項NoDispAppearancePage,修改其值為1。
(14)去除"顯示"項中的"設置"標簽
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciessystem中新建一個雙字節值項NoDispSettingsPage,修改其值為1。
(15)禁止刪除打印機
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciesExplorer中新建一個雙字節值項NodeletePrinter,修改其值為1。
(16)去除"打印機"中的"添加打印機"項
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciesExplorer中新建一個雙字節值項NoAddPrinter",修改其值為1。
(17)禁止"添加打印機向導"中的"瀏覽網絡打印機"項(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwarePolicies MicrosoftWindows NTPrintersWizard中新建一個雙字節值項Downlevel Browse,修改其值為1。
如果用戶想添加網絡打印機,只能輸入網絡打印機的URL。
(18)去除"添加/刪除"項(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesUninstall中新建一個字符串值項NoAddRemovePrograms,修改其值為1。
(19)去除"添加/刪除"項中的"更改或刪除程序"項(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciesUninstall中新建一個雙字節值項NoRemovePage,修改其值為1。
(20)去除"添加/刪除"項中的"添加新程序"項(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciesUninstall中新建一個雙字節值項NoAddPage,修改其值為1。
(21)去除"添加/刪除"項中的"添加/刪除Windows組件"項(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciesUninstall中新建一個雙字節值項NoWindowsSetupPage,修改其值為1。
(22)去除"添加/刪除"項目中"添加新程序"中的"從光盤或軟盤添加程序"(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciesUninstall中新建一個雙字節值項NoAddFromCDor Floppy,修改其值為1。
(23)去除"添加/刪除"項目中"添加新程序"中的"從Microsoft添加程序"(適用于Windows 2000/XP)
在注冊表項HKEY_CURRENT_USERSoftwareMicrosoft WindowsCurrent VersionPoliciesUninstall中新建一個雙字節值項NoAddFromInternet,修改其值為1。
5.防范黑客攻擊(適用范圍:Windows 9x/Me/NT/2000/XP)
注冊表中有些參數,設置合適的話可以防范一些黑客技術的攻擊。DoS(拒絕服務)攻擊是一種常見的黑客攻擊方式,其中SYN淹沒攻擊是DoS中比較常見的。我們在這里給出一個防范SYN攻擊的設置方法。
(1)減小等待SYN-ACK包的時間
TCP在發送SYN-ACK包后,首先等待3秒鐘,如果仍然沒有回應,則將時間加大一倍,從3秒增大到6秒,再重發一次SYN-ACK,然后繼續等待回應。重發的次數定義在注冊表中的一個雙字節值項TcpMaxConnectResponseRetransmissions 里,該值項位于注冊表項HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesTcpipParameters中。默認值為3,表示重發次數為3次,先等待3秒后發送一次,然后等待6秒后發送一次,然后等待12秒發送一次,最后等待24秒,如果仍然接收不到回應,不再繼續發送SYN-ACK,而是清除此次連接,并釋放所有資源。這樣總共經過了45秒鐘。值為2表示重發次數為2次,總共的耗費時間為21秒,值為1表示重發次數為1次,總共的耗費時間為9秒。0表示不重發SYN-ACK,耗費時間為3秒。耗費時間越短,SYN攻擊造成的影響就相應的要小一些。此值項的默認值為3次。如果系統容易受到SYN淹沒攻擊,可以將此值項修改為2。 (2)增大NetBT的連接塊增加幅度和最大數目
NetBT(基于TCP/IP的NetBIOS)使用139號TCP端口,一般用在微軟網絡中,例如文件和打印服務。在建立連接時,如果BetBT發現可用的連接塊數目小于2個,會自動的再分配可用連接塊。
NetBT每次增加的連接塊的數目定義在注冊表中的雙字節值項BacklogIncrement中,該值項位于注冊表項注冊表項HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesNetBtParameters下。默認值為3,最小值為1,最大值位20。增大此值可以在有眾多連接時提升性能。每個連接塊消耗87個字節。
NetBT最多可以使用的連接塊的數目定義在注冊表項中雙字節值項MaxConnBackLog中,默認為1000個,最大值可以取到40000個。可以適當的增大此參數的值以允許更多的同時連接。
(3)配置動態Bakclog(適用于Windows NT/2000/XP)
對于使用Sockets的Windows服務,如FTP,可以通過配置動態Backlog來提升在網絡繁忙時的性能。使用動態Bakclog,系統會預先分配一定的資源用于建立連接,這樣就省去了給連接分配資源的時間和CPU消耗。如果需要再增加資源,可以一次性的增加若干個連接所需的資源空間。
在注冊表項HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAFDParameters中新建下面的雙字節值項:
EnableDynamicBacklog,該值項的默認值為0,表示是否允許動態Backlog。默認值為0。對于網絡繁忙或者易遭受SYN攻擊的系統,建議設置為1,表示允許動態Backlog。
MinimumDynamicBacklog,該值項的默認值為0,表示動態Backlog分配的自由連接的最小數目。當自由連接數目低于此數目時,將自動的分配自由連接。默認值為0,對于網絡繁忙或者易遭受SYN攻擊的系統,建議設置為20。
MaximumDynamicBacklog,該值項的默認值為0,表示定義最大"準"連接的數目。"準"連接包括自由連接和半連接。對于網絡繁忙或者易遭受SYN攻擊的系統,應該設置此值,大小取決于內存的多少。一般來說,每32M內存最大可以增加5000個。
DynamicBacklogGrowthDelta,該值項的默認值為5,表示定義每次增加的自由連接數目。對于網絡繁忙或者易遭受SYN攻擊的系統,建議設置為10。
(4)啟用SYN淹沒攻擊保護特性(適用于Windows 2000/XP)
Windows 2000/XP針對SYN淹沒攻擊提供了一個叫做SYN淹沒攻擊保護的特性。當出現了SYN淹沒攻擊的征兆時,Windows 2000/XP自動降低對那些無法確認的連接請求的響應時間。
在注冊表項HKLMSYSTEMCurrentControlSetServicesTcpipParameters中新建下面的雙字節值項:
SynAttackProtect,該值項的默認值為0,表示定義是否允許SYN淹沒攻擊保護特性。保證該值為1,表示允許啟用SYN淹沒攻擊保護特性。
TcpMaxConnectResponseRetransmissions,該值項的默認值為3,表示定義了對于連接請求回應包的重發次數。如果該值為1,則SYN淹沒攻擊不會有效果,但是這樣會造成連接請求失敗幾率的升高。SYN淹沒保護特性只有在該值大小大于或等于2時才會被啟用。該值的默認值為3。
以上兩個值項定義了是否允許SYN淹沒攻擊保護。下面三個值項則定義了激活SYN淹沒攻擊保護特性的條件。當滿足下面三個值項定義的條件之一時,系統會自動激活SYN淹沒攻擊保護。
TcpMaxHalfOpen,該值項的默認值為100或者500,表示定義了能夠處于SYN_RECEIVED狀態的TCP連接的數目。由于SYN淹沒攻擊通常會造成大量的SYN_RECEIVED狀態的TCP連接,因此保護特性將該值作為SYN淹沒攻擊發生的一個征兆。當處于SYN_RECEIVED狀態的TCP連接的數目超過該值項的定義時,系統認為SYN淹沒攻擊發生了,自動啟用保護特性。
對于Windows 2000 Server,該值項默認值為100。對于Windows 2000 Professional,該值項默認值為500。Professional之所以比Server的值高,是因為Professional通常不用作服務器,也就不會受到SYN淹沒攻擊。
TcpMaxHalfOpenRetried,該值項的默認值為80或者40,表示定義了在重新發送連接請求后,仍然處于SYN_RECEIVED狀態的TCP連接的數目。當這種狀態的TCP連接的數目超過該值項的定義時,系統認為SYN淹沒攻擊發生了,自動啟用保護特性。
對于Windows 2000 Server,該值項默認值為80。對于Windows 2000 Professional,該值項默認值為400。
TcpMaxPortsExhausted,該值項的默認值為5,表示定義了系統拒絕連接請求的次數。當系統保留的連接端口都被使用掉時,系統將拒絕所有的連接請求。SYN淹沒攻擊通常會發生這種情況,因此保護特性將該值作為SYN淹沒攻擊發生的一個征兆。當被拒絕的連接請求的數目超過該值項的定義時,系統認為SYN淹沒攻擊發生了,自動啟用保護特性。