文章引用自
http://vod.sjtu.edu.cn/help/Article_Show.asp?ArticleID=2360&ArticlePage=1
(請將\改成半型才能正式使用在程式中哦!)![]()
註冊表是Windows操作系統的核心。它實質上是一個龐大的資料庫,存放有電腦硬體和全部配置信息、系統和應用軟體的初始化信息、應用軟體和文檔檔案的關聯關係、硬體設備說明以及各種網路狀態信息和資料。可以說電腦上所有針對硬體、軟體、網路的操作都是源於註冊表的。
三、加強Windows系統安全
在目前這個病毒氾濫,"駭客橫行"的網路時代,我們必須有備無患,加強電腦系統的安全。而註冊表作為Windows操作系統的核心部分,往往成為病毒和駭客利用的工具。如果使用者缺乏註冊表的相關知識,將無法找到病毒的"發源地",而無法將之清除。另一方面,註冊表也起著積極的作用。通過註冊表,我們可以進一步加強Windows系統的安全,防止各種非授權的使用,以防止病毒和駭客的入侵。
1.保護個人信息
如果你是和別人合用一台電腦,或者你有比較私人的內容需要保護,那麼你可以通過註冊表來加強對這些私人信息的保護。
(1)清除本機訪問信息
一般情況下,Windows為了方便使用者,總是將使用者最近訪問過的文檔、運行過的程序等信息保存下來,我們需要去除掉Windows提供的這種方便。
下表中的值項,位於註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\Explorer中。
(2)清除操作信息
在我們使用Windows操作系統的過程中,很多操作內容都被存放到了註冊表中。例如通過"開始"選單的"運行"項運行過的程序名稱、訪問過"網上鄰居"中的電腦、訪問過電腦上的檔案夾等。通過註冊表,我們可以手工清除這些信息。
(3)加密個人檔案夾
上面討論的都是清除用戶適用電腦時留下的信息。下面我們利用註冊表知識,來加密我們的存放了個人信息的檔案夾。
我們知道,如果想隱藏你的檔案夾,通過將檔案夾的屬性設置為"隱藏"是沒有用的。用戶只需要在資源管理器的"工具"→"檔案夾選項"→"查看"對話框中,選擇"顯示所有的檔案和檔案夾"項,就可以看到所有隱藏屬性的檔案夾和檔案。有一個小技巧,可以有效的保護你的檔案夾。這個技巧就是,用類標識符作為檔案夾名的檔案副檔名。例如我們想保護檔案夾C:\mydata。
首先在註冊表項HKEY_CLASSES_ROOT中找到某個檔案類型的CLSID,如MIDI檔案的CLSID是{00022603-0000-0000-C000-000000000046}。將檔案夾mydata的名稱加上{00022603-0000-0000-C000-000000000046}這個檔案副檔名,即將C:\mydata的名稱修改為"C:\mydata.{00022603-0000-0000-C000-000000000046}"。這時C:\mydata的圖示就從檔案夾的圖示變成了MIDI檔案的圖示。
在資源管理器中雙擊該圖示,系統會報告該MIDI檔案內容錯誤,無法播放(系統將檔案夾當作MIDI檔案處理了),因此用戶無法進入C:\mydata,也就無法查看該檔案夾下的內容。這樣做的好處是,我們可以成功的將我們的私人檔案夾偽裝成一個普通的MIDI檔案。
惟一能夠查看檔案夾內容的方法是:在DOS窗口中,使用CD命令進入到該檔案夾。
你可能會說,用戶只要將該檔案夾的檔案副檔名去除,不就可以將保護的檔案夾恢復出來了嗎?不用擔心,用戶做不到這一步。即使用戶在資源管理器的"工具"→"檔案夾選項"→"查看"對話框中,去除對"隱藏已知檔案類型的副檔名"選項的選擇,使所有的檔案都顯示出副檔名。在資源管理器中,C:\mydata也不會出現副檔名。這樣,用戶就無法去除或者更改C:\mydata. {00022603-0000-0000-C000-000000000046}的CLSID部分。
如果想在資源管理器中正常地查看該檔案夾裡的內容,可以在DOS窗口中,將該檔案夾重新改名為正確的名稱。
該方法結合下面的限制運行程序的方法(限制運行DOS窗口),可以很有效的保護你的檔案夾。
2.限制用戶運行的程序(適用範圍:Windows 9x/Me/NT/2000/XP)
(1)禁止用戶通過"運行"來運行應用程序
通過"開始"選單的"運行",用戶可以輸入命令來啟動某個程序。對於那些不是EXE為副檔名的程序,也可以直接運行。如果不希望用戶隨意執行程序,可以將"開始"選單中的"運行"項去除。
進入到註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\Explorer中,新建一個雙字節值項NoRun,修改其值為1。
提示:除了"運行"外,可以在DOS窗口中手工輸入命令來啟動某個程序。
(2)禁止用戶運行命令解釋器和批處理檔案(適用於Windows NT/2000/XP)
通過修改註冊表,可以禁止用戶使用命令解釋器(CMD.exe)和運行批處理檔案(BAT檔案)。
進入到註冊表項HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows\System\中,新建一個雙字節值項DisableCMD,修改其值為2。則命令解釋器和批處理檔案都不能夠被運行。如果只是禁止命令解釋器的運行,而運行批處理檔案的運行,則修改DisableCMD的值為1。
(3)禁止運行指定的程序
為了安全性起見,我們可能希望有些帶有危險性的程序不讓用戶去運行。這可以通過註冊表來實現。例如我們想禁止用戶運行記事本(notepad.exe)和計算器(cal.Exe)。
首先在註冊表項HKEY_CURRENT_USER\Software\Microsoft \Windows\CurrentVersion\Policies\Explorer中,新建一個雙字節值項 DisallowRun ,修改其值為1,以允許我們定義禁止允許的程序,然後新建一個註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Explorer\DisallowRun,在其下新建兩個字符串值項。第一個值項的名稱為1,值為notepad.exe,第二個值項為2,值為calc.exe。如果想禁止更多的程序,可以依次建立名稱為3、4等順序往下排列的值項。修改註冊表後立即生效。這時想通過"開始"選單運行記事本和計算器程序,系統會提示不能進行此操作。
注意:用戶在Windows NT/2000/XP的命令解釋器(CMD.exe)窗口中,仍然可以通過輸入"notepad.exe"運行記事本。這是因為DisallowRun禁止的只是通過資源管理器Explorer運行的程序,記事本不是通過Explorer啟動的,所以就無法禁止了。如果不希望用戶可以通過命令解釋器運行程序,應該在DisallowRun中將命令解釋器(CMD.exe)禁止。另外,此方式還有一個不安全之處,就是如果用戶將記事本程序"notepad.exe"更改名稱,如改成"note.exe",用戶就可以運行它了。
(4)只允許運行指定的程序
為了限制用戶運行程序,我們可以指定用戶只能運行某些必須的程序。這種方式可以避免用戶運行自己攜帶來的程序,有效地防範病毒地傳播。這可以通過註冊表來實現。
首先在註冊表項HKEY_CURRENT_USER\Software\Microsoft \Windows\Current Version\Policies\Explorer下新建一個雙字節值項 RestrictRun ,修改其值為1,以允許我們指定可以運行的程序。
然後新建一個註冊表項 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RestrictRun,在其下新建兩個字符串值項。第一個值項的名稱為1,值為notepad.exe,第二個值項為2,值為calc.exe。如果想允許更多的程序,可以依次建立名稱為3、4等順序往下排列的值項。修改註冊表後立即生效。這時想通過"開始"選單和資源管理器運行其他的程序,系統會提示不能進行此操作。
提示:如果你沒有允許註冊表編輯器運行,你會發現你將無法恢復此方法所做的修改,因為無法用註冊表編輯器來修改註冊表了。在這種情況下,你可以將註冊表編輯器程序的名稱改變為你允許運行的某個程序的名稱,這樣你就可以運行起來註冊表編輯器了。
注意:由於此方法的限制性非常大,所以請小心使用,尤其是避免沒有允許任何程序運行這種情況。如果出現了這種情況,你將無法將此方法做的設定改變回來,因為你無法修改註冊表。惟一的方法就是恢復修改前的註冊表備份。
(5)禁止使用註冊表編輯器
註冊表是複雜和危險的,所以我們往往希望用戶不要嘗試著去修改註冊表。通過修改註冊表,我們可以禁止用戶運行系統提供的兩個註冊表編輯器,Regedit.exe和Regedt32.exe。
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System\下新建一個雙字節值項DisableRegistryTools,修改其值為1。這樣,用戶就不能啟動註冊表編輯器了。
注意:使用此功能要小心,最好作個註冊表備份,或者準備一個其他的註冊表修改工具。因為你在禁止了註冊表編輯器後,就不能再使用該註冊表編輯器將值項改回了。
(6)禁止用戶更改口令(適用於Windows NT/200/XP)
用戶在"Windows安全窗口"中(同時按下Ctrl+Alt+delete鍵),可以單擊"更改密碼"來更改用戶口令。通過修改註冊表,可以禁止用戶更改口令。
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System下新建一個雙字節值項DisableChangePassword,修改其值為1。這樣,"Windows安全窗口"中的"更改密碼"按鈕變成了灰色不可選狀態,用戶無法更改口令。
(7)禁止用戶鎖定電腦(適用於Windows NT/2000/XP)
用戶在"Windows安全窗口"中,可以單擊"鎖定電腦"來鎖定電腦。通過修改註冊表,可以禁止用戶鎖定電腦。
在註冊表HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System中新建一個雙字節值項DisableLockWorkstation,修改其值為1。這樣,"Windows安全窗口"中的"鎖定電腦"按鈕變成了灰色不可選狀態,用戶無法鎖定電腦。
(8)禁止用戶使用任務管理器(適用於Windows NT/2000/XP)
用戶可以使用"Windows任務管理器"(Taskmgr.exe)來啟動和結束本地進程、查看和管理其他電腦上的進程、改變進程的優先級。通過修改註冊表,可以禁止用戶使用任務管理器。
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\CurrentVersion\Policies\System\下新建一個雙字節值項DisableTaskMgr,修改其值為1。這樣,用戶就無法啟動任務管理器了。
3.限制用戶可以查看的資源(適用範圍:Windows 9x/Me/NT/2000/XP)
(1)隱藏指定的磁碟磁碟機
如果我們不希望使用者查看某個磁碟機的內容,可以在"我的電腦"和資源管理器中將該磁碟機的圖示隱藏起來。
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer中新建一個雙字節值項NoDrives。
該值項共使用了從最低位(第0位)到第25位,共26個字位,分別代表磁碟機A到磁碟機Z。如果第0位為1,表示不顯示磁碟機A的圖示,第3位為1,表示不顯示磁碟機D的圖示,依此類推。例如我們想"我的電腦"中不顯示任何磁碟機的圖示,可以修改"NoDrives"的值為"03ffffff"(第0位到31位全部為1)。修改後重啟桌面使改動生效。
修改後,不只是"我的電腦",還包括"網上鄰居"、資源管理器,任何標準的"打開"、"保存"檔案的對話框,都不會出現指定磁碟機的圖示。雖然這些磁碟機的圖示不能出現,但是用戶仍然可以訪問這些磁碟機。例如可以在資源管理器的地址欄中輸入磁碟機號,或者在DOS窗口中使用命令查看隱藏了的磁碟機。
(2)禁止用戶查看指定磁碟磁碟機的內容
如果有一個磁碟機中存放了重要的資料,我們不希望使用者查看該磁碟機的內容,可以使用此方法來禁止查看該磁碟機的內容。
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer中新建一個雙字節值項NoViewOnDrive。該值項共使用了從最低位(第0位)到第25位,共26個字位,分別代表磁碟機A到磁碟機Z。如果第0位為1,表示禁止使用磁碟機A,第3位為1,表示禁止使用磁碟機D,依此類推。例如我們想禁止用戶使用軟碟磁碟機A和B,以及磁碟機D,可以修改"NoViewOnDrive"的值為"0000000b"(第0、1、3位的值為1)。修改後需要重啟桌面使改動生效。
這時再進入到"我的電腦",雙擊磁碟機D,系統會彈出一個消息框,告訴用戶不能進行此操作。不只是"我的電腦",還包括"網上鄰居"、資源管理器,任何標準的"打開"、"保存"檔案的對話框,都不能對已經禁止的磁碟機進行操作,雖然在"我的電腦"和資源管理器中,磁碟機D的圖示仍然存在。
提示:該方法只是禁止用戶在"我的電腦"和資源管理器中訪問受限制的磁碟機,應用程序仍然可以訪問被禁止的磁碟機。
(3)登錄時不顯示上次使用者的用戶名(適用於Windows NT/2000/XP)
預設情況下,在用戶註冊登錄時,在用戶名欄中顯示著上次使用者的用戶名。通過修改註冊表,我們可以禁止系統顯示上次使用者的用戶名,以加強安全性。
在註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\Winlogon\中新建一個雙字節值項DontDisplayLastUserName,修改其值為1。重新啟動機器後,在用戶註冊畫面中,不會顯示上次使用者的用戶名。
4.限制用戶使用控制面板(適用範圍:Windows 9x/Me/NT/2000/XP)
控制面板提供給用戶一個直觀的界面來更改Windows的部分參數,使Windows的界面和功能更符合自己的需要。不恰當的使用控制面板,會帶來一些問題
(1)禁用整個控制面板
在註冊表項項HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\Policies\Explorer\中新建一個雙字節值項NoControlPanel。值為1表示禁止控制面板的使用,值為0或者值項不存在表示允許用戶使用控制面板。
重啟桌面使改動生效後,可以看到,"開始"選單中"設置"中的"控制面板"項不見了,並且如圖試圖用別的方式訪問"控制面板"中的項目,例如在桌面上單擊滑鼠右鍵來訪問"顯示",系統會彈出一個消息框,提示用戶不能進行此操作。
(2)去除"控制面板"中的指定項目(適用於Windows 2000/XP)
有時候我們想去除掉"控制面板"中的某些項目,以防止用戶使用它們來進行設置,但是又想允許用戶使用"控制面板"中的另外一些項目,這也是可以做到的。 在註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer\中新建一個雙字節值項DisallowCpl,並修改其值為1。然後新建一個註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowCpl,在該項下新建若干個字符串值項,形式為"序號=控制面板項對應的檔案名"。例如想去除控制面板中的"顯示"和"系統"兩項,可以在該項下新建兩個值項"1"和"2",值分別為"desk.cpl"(顯示項對應的檔案)和sysdm.cpl(系統項對應的檔案)。重啟桌面使改動生效。這時再進入到"控制面板"中,可以看到,"顯示"項和"系統"項已經不見了。
(3)指定"控制面板"中顯示的項目(適用於Windows 2000/XP)
如果我們想去除掉"控制面板"中的大部分項目,只允許用戶使用幾個項目,則可以使用本方法。"控制面板"中只顯示用戶指定的項目,對於沒有指定的項目則不顯示。
在註冊表項HKEY_CURRENT_USER\Software\ Microsoft\Windows\Current Version\Policies\Explore\中新建一個雙字節值項RestrictCpl,修改其值為1,然後新建一個註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explore\RestrictCpl,在該項下新建若干個字符串(REG_SZ)值項,形式為"序號=控制面板項對應的檔案名"。例如只允許用戶使用控制面板中的"顯示"和"系統"兩項,可以在該項下新建兩個值項"1"和"2",值分別為"desk.cpl"(顯示項對應的檔案)和sysdm.cpl(系統項對應的檔案)。重啟桌面使改動生效。這時再進入到"控制面板"中,可以看到,整個控制面板中只有"顯示"項和"系統"項。
注意:使用去除控制面板中的指定項目和指定控制面板中顯示的項目都可以定制控制面板中項目的顯示,但是這兩個方法有可能發生衝突。如果發生衝突,則去除控制面板中的指定項目方法優先。 (4)去除"系統"中的"設備管理"標籤(適用於Windows 9x/Me)
進入到註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System中,新建一個雙字節的值項NoDevMgrPage,修改其值為1。這時再進入到"控制面板"中的"系統"項,可以看到"設備管理"標籤已經不見了。
(5)去除"系統"中的"硬體配置"標籤(適用於Windows 9x/Me)
進入到註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System下,新建一個雙字節的值項NoConfigPage,修改其值為1。這時再進入到"控制面板"中的"系統"項,可以看到"硬體配置"標籤已經不見了。
(6)去除"系統"中的"性能"標籤裡的"檔案系統"按鈕(適用於Windows 9x/Me)
進入到註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System下,新建一個雙字節的值項NoFileSysPage,修改其值為1。這時再進入到"控制面板"中的"性能"項,可以看到"性能"標籤中的"檔案系統"按鈕已經不見了。
(7)去除"系統"中的"性能"標籤裡的"虛擬記憶體"按鈕(適用於Windows 9x/Me)
進入到註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System下,新建一個雙字節的值項NoVirtMemPage,修改其值為1。這時再進入到"控制面板"中的"性能"項,可以看到"性能"標籤中的"虛擬記憶體"按鈕已經不見了。
(8)禁用"顯示"項
我們可以禁止使用"控制面板"中的顯示項。雖然"顯示"項仍然出現在"控制面板"中,但是用戶不能使用。在註冊表項HKEY_CURRENT_USER\ Software\Microsoft\Windows\Current Version\Policies\System\中新建一個雙字節值項NoDispCPL,修改其值為1。這時進入"控制面板",雙擊"顯示"項,系統會出現一個消息框提示用戶不可以進行此操作。
(9)去除"顯示"項中的"背景"標籤
在註冊表項HKEY_ CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system\中新建一個雙字節值項NoDispBackgr oundPage,修改其值為1。
(10)禁止"顯示"項裡的"背景"標籤(適用於Windows 2000/XP)
在註冊表項HKEY_ CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop\中新建一個雙字節值項NoChangingWallPaper,修改其值為1。
(11)去除"顯示"項中的"螢幕保護程序"標籤
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\system\中新建一個雙字節值項NoDispScrSavPage,修改其值為1。
(12)決定螢幕保護程序是否使用密碼保護(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows\Control Panel\Desktop\中新建一個雙字節值項ScreenSaverIsSecure,修改其值為1。
(13)去除"顯示"項中的"外觀"標籤
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\system\中新建一個雙字節值項NoDispAppearancePage,修改其值為1。
(14)去除"顯示"項中的"設置"標籤
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\system\中新建一個雙字節值項NoDispSettingsPage,修改其值為1。
(15)禁止刪除印表機
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Explorer\中新建一個雙字節值項NodeletePrinter,修改其值為1。
(16)去除"印表機"中的"添加印表機"項
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Explorer\中新建一個雙字節值項NoAddPrinter",修改其值為1。
(17)禁止"添加印表機嚮導"中的"瀏覽網路印表機"項(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Policies\ Microsoft\Windows NT\Printers\Wizard\中新建一個雙字節值項Downlevel Browse,修改其值為1。
如果用戶想添加網路印表機,只能輸入網路印表機的URL。
(18)去除"添加/刪除"項(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Uninstall\中新建一個字符串值項NoAddRemovePrograms,修改其值為1。
(19)去除"添加/刪除"項中的"更改或刪除程序"項(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Uninstall\中新建一個雙字節值項NoRemovePage,修改其值為1。
(20)去除"添加/刪除"項中的"添加新程序"項(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Uninstall\中新建一個雙字節值項NoAddPage,修改其值為1。
(21)去除"添加/刪除"項中的"添加/刪除Windows組件"項(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Uninstall\中新建一個雙字節值項NoWindowsSetupPage,修改其值為1。
(22)去除"添加/刪除"項目中"添加新程序"中的"從光碟或軟碟添加程序"(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Uninstall\中新建一個雙字節值項NoAddFromCDor Floppy,修改其值為1。
(23)去除"添加/刪除"項目中"添加新程序"中的"從Microsoft添加程序"(適用於Windows 2000/XP)
在註冊表項HKEY_CURRENT_USER\Software\Microsoft\ Windows\Current Version\Policies\Uninstall\中新建一個雙字節值項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_MACHINE\SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters中。預設值為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_MACHINE\SYSTEM\CurrentControlSet\ Services\NetBt\Parameters下。預設值為3,最小值為1,最大值位20。增大此值可以在有眾多連接時提升性能。每個連接塊消耗87個字節。
NetBT最多可以使用的連接塊的數目定義在註冊表項中雙字節值項MaxConnBackLog中,預設為1000個,最大值可以取到40000個。可以適當的增大此參數的值以允許更多的同時連接。
(3)配置動態Bakclog(適用於Windows NT/2000/XP)
對於使用Sockets的Windows服務,如FTP,可以通過配置動態Backlog來提升在網路繁忙時的性能。使用動態Bakclog,系統會預先分配一定的資源用於建立連接,這樣就省去了給連接分配資源的時間和CPU消耗。如果需要再增加資源,可以一次性的增加若干個連接所需的資源空間。
在註冊表項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters中新建下面的雙字節值項:
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自動降低對那些無法確認的連接請求的響應時間。
在註冊表項HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中新建下面的雙字節值項:
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淹沒攻擊發生了,自動啟用保護特性。
7.檢查Windows啟動時的程序(適用範圍:Windows 2000/XP)
在Windows環境下,由於病毒必須獲得CPU的控制權,因此很多病毒都需要在Windows啟動後,自動地運行起來。另一方面,越來越多的病毒採用了高級語言的形式,像宏病毒,採用的是VB語言,本身不能直接由CPU來執行,必須由相關程序解釋執行,因此它們必須在操作系統正常啟動後,才能加載自身,進行病毒傳播。因此說,很多病毒必須在Windows啟動後自動地運行起來,並且是依賴於Windows的自動啟動程序的功能。這是這些病毒的一個特點,也是一大弱點。我們可以根據這個特點,分析Windows啟動時有那些程序自動運行,通過檢查這些程序來防範病毒的侵襲。
(1)註冊表項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
該項下存放了Windows NT/2000/XP的服務程序。下面的每一個子項對應於一個服務:
ImagePath值項存放了該服務的程序檔案路徑。這些服務都有一個Start值項。值為0,表示由核心裝載器裝載;值為1,表示由I/O子系統裝載。Start值為0和1的,都是非常低級和關鍵的Windows服務,它們必須正常啟動,Windows NT/2000/XP才能繼續啟動。通常病毒不會將自己放在這裡面,因為這時候WindowsNT/2000/XP只裝載了核心部分,只有最基本的功能。Start值為2,表示自動啟動,值為3,表示手工啟動,值為4,表示禁止啟動。這三類服務,可以在"控制面板"→"管理工具"→"服務"中查看到。
我們需要檢查的是,那些Start值為2的服務,其對應的程序檔案(ImagePath值項定義)是否可疑。
(2)註冊表項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager
該項下存放了會話管理器(Smss.exe)的信息。在Windows NT/2000/XP的內核啟動階段,需要啟動該項下定義的幾個程序。在REG_MULTI_SZ類型的值項BootExecute中,定義了會話管理器裝載服務前需要運行的程序。預設值為AutoCheck autochk *和Dfsinit。該預設值表示運行磁碟檢查程序,以及啟動DFS檔案系統的初始化程序。
我們需要檢查的是,值項BootExecute存放的是否是預設的執行檔案,是否還定義了其他的執行程序。
(3)註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\Userinit
該值項類型為字符串值,定義了用戶註冊進入時執行的初始化程序。在用戶註冊時,註冊管理程序(Winlogon)啟動該初始化程序,預設值是Userinit.exe。該程序首先運行註冊腳本,建立網路連接,然後啟動用戶界面程序(Explorer.exe)。用戶可以替換該初始化程序為自己的初始化程序(當然,病毒也可以做到)。一般地,用戶自己的初始化程序可以在處理完自己需要進行的工作後,再調用Userinit.exe程序即可。
我們需要檢查的是,Userinit值項的值是否是Userinit.exe。同時檢查\Winnt\System32下的Userinit.exe檔案的大小和時間是否是正常的。
(4)註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\Shell
該值項類型為字符串值,定義了用戶界面程序,預設值為Explorer.exe。正常情況下,註冊管理程序(Winlogon)啟動Userinit定義的初始化程序,該初始化程序會啟動用戶界面程序,因此不需要運行Shell值項定義的程序。如果註冊管理程序沒有能成功啟動Userinit定義的初始化程序,則註冊管理程序會過來啟動該Shell值項定義的用戶界面程序。
我們需要檢查的是, Shell值項的值是否是Explorer.exe。
(5)註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\System(適用於Windows NT)
該值項類型為字符串值,該值項中存放了安全管理器程序,預設值為Lsass.exe。安全管理器就是Windows NT啟動時,或者螢幕保護後,要求輸入用戶和密碼的畫面。用戶可以替換該安全管理器程序。
我們需要檢查的是System值項的值是否是Lsass.exe。
(6)註冊表項HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\ CurrentVersion\Policies\Explorer\Run
在該項下可以有若干個字符串類型的值項,每個值項的名稱從1開始,值為程序或者文檔的名稱。在用戶註冊進入Windows時,該項下定義的程序將被啟動起來。例如該項下有兩個值項,第一個是1,值為Notepad.exe,第二個是2,值為C:\readme.doc,則在用戶註冊進入Windows 2000時,系統會首先運行起Notepad.exe程序,然後會使用DOC的關聯程序打開C:\readme.doc文檔。
我們需要檢查的是,如果定義了自動啟動程序,則查找該程序是哪個軟體對應的,是否為可疑程序。預設情況下,該註冊表項下應該為空。
(7)註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Policies\Explorer\Run
該項與HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ Policies\Explorer\Run的作用一樣,不同之處在於,由於它位於HKEY_LOCAL_MACHINE下,所以它將應用於所有的用戶。在啟動順序上,系統首先啟動HKEY_LOCAL_MACHINE下的Run中的程序,再去啟動HKEY_CURRENT_USER下Run中的程序。
(8)註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion下的Run、RunOnce、RunEx和RunOnceEx子項(適用於Windows 9x/Me/NT/2000/XP)
由於是位於HKEY_CURRENT_USER下,因此該項只適用於當前這個用戶,不適用於其他的用戶。在用戶註冊進入Windows系統時,自動地運行該項下定義的程序或文檔。其中Run子項中定義了每次系統啟動時都需要運行的程序,值項類型是字符串值,值項的名稱是該運行程序的說明,值項的值是程序的名稱;RunOnce子項中定義了只運行一次的程序,在該項下的值項中定義的程序運行起來後,該項下的值項就會被刪除掉,這通常用於程序的安裝過程;RunEx和RunOnceEx的作用和Run、RunOnce是一樣的,是Run、RunOnce的擴充形式。
(9)註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion下的Run、RunOnce、RunEx和RunOnceEx子項(適用於Windows 9x/Me/NT/2000/XP)
該項和HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion下的Run、RunOnce、RunEx和RunOnceEx作用一樣,不同之處在於,由於它位於HKEY_LOCAL_ MACHINE下,所以它將應用於所有的用戶。在啟動順序上,系統首先啟動HKEY_LOCAL_MACHINE下定義的啟動項目,再去啟動HKEY_CURRENT_USER下定義的啟動項目。
我們需要檢查的是,對於預設情況以外定義的程序,需要檢查其對應的軟體。很多軟體將自動啟動程序放在註冊表中的這個位置。例如Norton Antivirus防毒軟體,就會在註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Run下新建一個值項NPS Event Checker,值為C:\PROGRA~1\Navnt\ npscheck.exe。
下表中列出了預設情況下,Windows系統中Run下的自動運行項目。
(10)檢查非註冊表部分
首先檢查啟動檔案和磁碟引導扇區。對於Windows 9x/Me,啟動檔案是啟動盤目錄下的IO.sys和Command.com檔案。同時,還包括Autoexec.bat檔案中定義的程序檔案,以及Config.sys檔案中裝載的程序檔案。對於Windows NT/2000/XP,啟動檔案是啟動盤目錄下的Ntldr,Ntdetect.com、Ntbootdd.sys(如果boot.ini檔案使用SCSI語法)、Bootsect.dos(如果使用了多重啟動,對應於啟動到DOS環境),以及Winnt目錄下的Ntoskrnl.exe(核心程序檔案)和Hal.dll(硬體抽像層)。
其次,對於Windows 9x,還需要檢查Win.ini檔案和System.ini檔案。Win.ini檔案中的"run="和"load="行,定義了Windows 9x啟動時需要裝載的程序。
最後,需要檢查"開始"選單中"程序"中的"啟動"程序組,"啟動"程序組中存放了Windows正常啟動起來後,需要啟動的程序。
8.禁止舊版本的"自動運行"程序列表(適用範圍:Windows 2000/XP)
註冊表項HKEY_LOCAL_MACHINE_\Software\Microsoft\Windows\CurrentVersion\Run和HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce下存放的是"自動運行"的程序列表,它們是舊版本的"自動運行"程序列表,在Windows95/98/NT中就已經有了。在註冊表中有兩個值項,可以禁止這兩個舊版本列表起作用,替代它們的是RunEx和RunOnceEx註冊表項。
這兩個值項位於註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下。
9.禁止遠程訪問光碟和軟碟(適用範圍:Windows NT/2000/XP)
在C2級別的安全要求中,必須對可移動介質的安全作保護,它要求當本地用戶在使用電腦時,光碟和軟碟稱為本地用戶的專有資源,網路上的其他用戶,包括系統管理員,都不能夠訪問光碟和軟碟。這是因為此時使用的可移動介質,通常是本地用戶私人的,因此不應該給其他人看到。 下表的值項存放在註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon中。
10.設定口令的最小長度(適用範圍:Windows 9x/Me/NT/2000/XP)
預設情況下,口令可以設置為空。為了加強安全性,我們可以強行指定口令的最小長度。
在註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Network下,創建二進制類型的值項MinPwdLen,並修改其值為口令的長度,例如6。這樣,用戶在設定口令時,最少要設定6位的長度。
四、提升Windows系統性能
通過註冊表,我們可以定制Windows的功能,使之更加符合我們的習慣和需求。
1.定制Windows的登錄(適用範圍:Windows 9x/Me/NT/2000/XP)
(1)開機後自動登錄
為了使用Windows NT/2000/XP,我們必須輸入一個用戶名稱和用戶口令來登錄。在Windows 9x/Me中,如果登錄方式設置為"Microsoft網路登錄",在進入Windows時,也需要輸入用戶名和口令,否則將不能訪問網上鄰居中的電腦。
為了方便起見,我們可以將用戶名和用戶密碼存放到註冊表中,這樣Windows啟動時,自動使用註冊表中的用戶名和用戶密碼來登錄,而不用用戶手工輸入。
對於Windows NT/2000/XP,在註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon下新建值項。對於Windows 9x/Me,在註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentVersion\Winlogon下新建值項。下表中詳細列出新建的值項。
(2)在登錄前顯示自定義的信息
我們可以在Windows啟動之前顯示一些信息,以給用戶一些提示或是警告。
對於WindowsNT/2000/XP,在註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon下新建值項。對於Windows 9x/Me,在註冊表項HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentVersion\Winlogon下新建值項。下表中詳細列出新建的值項。
(3)必須使用有效用戶註冊(適用於Windows 98)
在Windows 98中,當出現輸入用戶名稱和密碼的畫面時,可以單擊"取消"按鈕,或者按下ESC鍵,跳過這一步直接進入到Windows中。通過修改註冊表,可以禁止這種未授權的使用,而要求只有在Windows98中設置的用戶才可以進入。
在註冊表項HKEY_LOCAL_MACHINE\Network\Logon下,新建一個雙字節字值項MustBeValidated,修改其值為1。這樣,在下次啟動時,必須輸入有效的用戶名和用戶密碼才可以進入到Windows 98中。
注意:在Windows 98 SE中,該修改方式不適用。如果設置了該選項,Windows 98 SE將從域服務器上去驗證該用戶,因為找不到域服務器,因此無法正常登錄到Windows 98 SE中。
(4)啟動時不要求輸入口令(適用於Windows 9x/Me)
Windows 9x/Me啟動時往往要求輸入用戶名和口令。如果只是自己使用,雖然可以按ESC鍵或者"取消"按鈕跳過這一步,但還是挺麻煩。
在作此修改前請首先將網路登錄方式改為Windows登錄:進入控制面板中的網路項,將"主網路登錄"方式改為Windows登錄。
然後將預設用戶的密碼改為空。將用戶的密碼設置為空可以採用如下方法:
方法1:通過修改註冊表來更換用戶名
在Windows 9x/Me中,上次使用者的用戶名存放在註冊表的HKEY_LOCAL_MACHINE\Network\Logon下,名稱Username。我們可以將這個用戶名修改為一個新的用戶名。重新啟動後,Windows會認為該用戶是新的用戶,要求輸入用戶口令。不要輸入口令,直接按"確定"按鈕。這樣,在下次啟動時,就不會要求輸入用戶名和口令。
方法2:刪除口令檔案
進入到C:\windows目錄下。找到該用戶的口令檔案。如用戶名稱為lijin,則口令檔案為lijin.pwl。刪除該檔案。重新啟動Windows 9x,Windows 9x會認為該用戶是新的用戶,要求輸入用戶口令。不要輸入口令,直接按"確定"按鈕。這樣,在下次啟動時,就不會要求輸入用戶名和口令。
方法3:註冊新用戶
首先"開始"選單中選擇"註銷",在出現的註冊畫面中,使用新的用戶名,並且不輸入口令,直接按"確定"按鈕。Windows會自動生成該用戶的信息。在下次啟動時,系統會使用新的用戶註冊進入Windows。
方法4:修改註冊表禁止使用口令檔案
註冊表中的一個值項控制著是否使用口令檔案(PWL檔案)。如果禁止使用口令檔案,則Windows啟動時不會要求輸入口令。在註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Policies\Network下,新建一個雙字節值項DisablePwdCaching,修改其值為1。重新啟動Windows後,Windows將不會生成和使用口令檔案。即使用戶設了口令,在Windows啟動時,也不會要求輸入用戶口令。
提示:如果在註冊表中修改了此項,禁止了口令檔案,並且登錄方式選擇的是"Microsoft網路用戶"或者"Netware網路用戶",在Windows 9x/Me啟動時,仍然會出現要求輸入用戶口令的畫面,不過即使輸入的用戶口令不對,也可以進入Windows,只是不能註冊到"Microsoft網路"或"Netware網路"上。
方法5:強迫Windows啟動時不進行登錄 預設情況下,只要安裝了網路項,或者Windows口令非空,Windows啟動時會出現登錄註冊的畫面,要求用戶進行註冊進入系統。在註冊表中有一個值項控制著系統啟動時是否進行登錄。在註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Network\Real Mode Net下,新建一個雙字節值項autologon。修改其值為0。
提示:此方法對於Microsoft網路用戶登錄、Netware網路登錄和Windows登錄三種登錄方式都適用。
2.加快撥號上網的速度(適用於Windows 9x)
(1)去除不需要的協議和服務
選定一個撥號連接,單擊右鍵,可以看該撥號連接的屬性。通常通過撥號網路建立一個連接後,該連接綁定了NetBEUI和IPX/SPX相容協議,並且聯繫著微軟網路,如果該撥號連接只是為了上網際網路,則可以將這些不必要的協議和服務去掉,只保留TCP/IP協議,以加快登錄速度和傳輸速度。
(2)增大串口緩衝和通信速度
在Windows目錄下找到System.ini檔案並編輯它,在其[386Enh]這一行下面加入"COM2Buffer=1024"行。如果數據機不是安裝在串口2,而是安裝在串口1,則改為"Com1Buffer=1024"即可。
在Windows目錄下找到Win.ini檔案並編輯它,在其[ports]部分找到"COM2:= 9600,n,8,1,x"行,修改為"COM2:=38400,n,8,1,x"。如果數據機不是安裝在串口2,而是安裝在串口1,則修改"COM1:=9600,n,8,1,x"行為"COM1:=38400,n,8,1,x"。
(3)增大接收緩衝區
設置數據機的屬性,將其接收緩衝區調到最大。
(4)增大系統的檔案名和路徑的緩衝
在註冊表項HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\FS Templates\Desktop下,新建兩個雙字節值項。一個是NameCache,定義了存放訪問過的檔案名的緩衝,建議從32修改為128。一個是PathCache,定義了存放訪問過的檔案的路徑的緩衝,建議從677修改為4096。
(5)調整撥號網路適配器的TCP/IP參數
首先進入到註冊表項HKEY_LOCAL_MACHINE\Enum\Root\Net下。在該項下有形式為00xx的子項。進入到各個00xx子項下,查找值項DeviceDesc是否為"撥號網路適配器"。如果是,在該子項下還有一個Binding子項,進入該子項,記下該子項下的MSTCP\00xx的值。
按照上一步找到的MSTCP\00xx值,進入到註冊表項HKEY_LOCAL_MACHINE\Enum\Network\MSTCP\00xx下。記下其下值項Driver的值,形式為NetTrans/00xx。
按照上一步找到的NetTrans/00xx的值,進入到註冊表項HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Services\Class\NetTrans\00xx下。修改REG_SZ值項MaxMTU的值從1500到576,因為1500是針對局域網的,而576是Internet上的標準。修改REG_SZ值項MaxMSS的值為536。
(6)調整TCP/IP協議的參數
修改下列值項的值(字符串值)。這些值項位於註冊表項HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP下:
DefaultRcvWindow,其預設值為8129,該值為接收緩衝區的大小,一般等於Modem的傳輸速度。可以按如下算法計算.假設Modem速度為28.8K,則傳輸率為(不考慮資料壓縮)28800/9=3200。考慮到DefaultRcvWindow應該是MSS(一般值為536)的整數倍,則應該取值為2680。不考慮Modem的資料壓縮,14.4K、28.8K、36.6K和56K應該分別對應於1072、2680、3752、5896。如果考慮到Modem的資料壓縮功能,可以再加大20%~50%,但注意,仍然應該為MSS的整數倍。如果Modem速度快,網際網路接入線路質量好,可以再適當的加大該值。預設值為8192。
DefaultTTL,其預設值為32,該值為封包可以在網際網路上存活的時間。加大該值,有利於在繁忙的網路中保持連接。預設值為32,建議修改為255。
NameSrvQueryTimeout,其預設值為750,該值為域名服務器查詢的超時時間。加大該值,有利於連接的建立。預設值為750毫秒。建議修改為3000毫秒。
3.定制磁碟機的自動播放功能(適用範圍:Windows 9x/Me/NT/2000/XP)
Windows提供了自動播放功能。最常見的就是光碟磁碟機的自動播放功能。當我們將一張CD光碟放進光碟磁碟機中,CD播放器就會自動運行起來,並開始播放該CD。或者在光碟磁碟機中放入一張資料盤,如果該光碟的根目錄下有一個Autorun.inf檔案,這個Autorun.inf檔案中定義的程序也會自動地運行起來。
(1)禁止光碟磁碟機的自動播放功能
在註冊表項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\下有一個雙字節值項AutoRun,修改其值為0,重啟電腦。
(2)定制各個磁碟機的自動播放
我們可以定制各個磁碟機的自動播放。例如允許磁碟機E的自動播放功能,而禁止其他磁碟機的自動播放功能。
進入到註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer下。如果想讓此修改應用到所有的用戶,則應該進入到註冊表項HKEY_LOCAL_MACHINE \Software\Microsoft\Windows\Current Version\Policies\ Explorer下。在該項下新建一個雙字節值項NoDriveAutoRun。
該值項的低26位分別代表從A到Z共26個磁碟機的自動播放功能。如果該位為1,表示該位對應的磁碟機的自動播放功能被禁止,如果該位為0,則該位對應的磁碟機的自動播放功能被允許。例如我們只想禁止磁碟機C和D的自動播放功能,對於其他磁碟機的自動播放功能則想保留,那麼我們需要修改NoDriveAutoRun的值為0x0000000c。修改後需要重新啟動電腦。
(3)按磁碟機的類型進行定制
除了按照磁碟機盤符來定制外,我們可以按照磁碟機的類型來定制各個磁碟機的自動播放。
進入到註冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Policies\Explorer下。如果想讓此修改應用到所有的用戶,則應該進入到註冊表項HKEY_LOCAL_MACHINE \Software\Microsoft\Windows\Current Version\Policies\ Explorer下。在該項下新建一個雙字節值項NoDriveTypeAutoRun。該值項只使用了最低位的字節。
這些位為0時,表示允許該種類的磁碟機的自動運行特性,為1時,表示禁止該種類磁碟機的自動運行特性。預設值為0x95,即第0,2,4,7位為1,表示軟碟,網路盤,未知類型盤的自動運行特性被禁止。修改後需要重新啟動機器使改動生效。