找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 9081|回复: 1

Windows注册表修改实例完全手册(下-1)

[复制链接]
发表于 2009-11-29 01:39:27 | 显示全部楼层 |阅读模式 IP:江苏扬州
注册表是Windows操作系统的核心。它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息、系统和应用软件的初始化信息、应用软件和文档文件的关联关系、硬件设备说明以及各种网络状态信息和数据。可以说计算机上所有针对硬件、软件、网络的操作都是源于注册表的。
  本文详细罗列出各种注册表的修改实例,并明确标注其适应的范围,以利于读者速查。(我们已经讲了上半部份《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淹没攻击发生了,自动启用保护特性。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 15:23 , Processed in 0.363318 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表