- 中查找“服务器安全设置(十八)”更多相关内容
- 中查找“服务器安全设置(十八)”更多相关内容
- ·上一篇文章:服务器安全设置(十九)
- ·下一篇文章:服务器安全设置(十七)
WindowsNT\CurrentVersion\Winlogon项中的Don't Display Last User Name串数据修改为1,隐藏上次登陆控制台的用户名。其实,在2000的本地安全策略中也存在该选项
Winnt4.0修改注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon 中增加DontDisplayLastUserName,将其值设为1。
2.预防DoS:
在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters中更改以下值可以帮助你防御一定强度的DoS攻击 SynAttackProtect REG_DWORD 2
EnablePMTUDiscovery REG_DWORD 0 NoNameReleaseOnDemand REG_DWORD 1
EnableDeadGWDetect REG_DWORD 0 KeepAliveTime REG_DWORD 300,000
PerFORMRouterDiscovery REG_DWORD 0 EnableICMPRedirects REG_DWORD 0
在Win2000中如何关闭ICMP(Ping)
3.针对ICMP攻击
ICMP的全名是Internet Control and Message Protocal即因特网控制消息/错误报文协议,这个协议主要是用来进行错误信息和控制信息的传递,例如著名的Ping和Tracert工具都是利用ICMP协议中的ECHO request报文进行的(请求报文ICMP ECHO类型8代码0,应答报文ICMP ECHOREPLY类型0代码0)。
ICMP协议有一个特点---它是无连结的,也就是说只要发送端完成ICMP报文的封装并传递给路由器,这个报文将会象邮包一样自己去寻找目的地址,这个特点使得ICMP协议非常灵活快捷,但是同时也带来一个致命的缺陷---易伪造(邮包上的寄信人地址是可以随便写的),任何人都可以伪造一个ICMP报文并发送出去,伪造者可以利用SOCK_RAW编程直接改写报文的ICMP首部和IP首部,这样的报文携带的源地址是伪造的,在目的端根本无法追查,(攻击者不怕被抓那还不有恃无恐?)根据这个原理,外面出现了不少基于ICMP的攻击软件,有通过网络架构缺陷制造ICMP风暴的,有使用非常大的报文堵塞网络的,有利用ICMP碎片攻击消耗服务器CPU的,甚至如果将ICMP协议用来进行通讯,可以制作出不需要任何TCP/UDP端口的木马(参见揭开木马的神秘面纱三)......既然ICMP协议这么危险,我们为什么不关掉它呢?
我们都知道,Win2000在网络属性中自带了一个TCP/IP过滤器,我们来看看能不能通过这里关掉ICMP协议,桌面上右击网上邻居->属性->右击你要配置的网卡->属性->TCP/IP->高级->选项->TCP/IP过滤,这里有三个过滤器,分别为:TCP端口、UDP端口和IP协议,我们先允许TCP/IP过滤,然后一个一个来配置,先是TCP端口,点击"只允许",然后在下面加上你需要开的端口,一般来说WEB服务器只需要开80(www),FTP服务器需要开20(FTP Data),21(FTP Control),邮件服务器可能需要打开25(SMTP),110(POP3),以此类推......接着是UDP,UDP协议和ICMP协议一样是基于无连结的,一样容易伪造,所以如果不是必要(例如要从UDP提供DNS服务之类)应该选择全部不允许,避免受到洪水(Flood)或碎片(Fragment)攻击。最右边的一个编辑框是定义IP协议过滤的,我们选择只允许TCP协议通过,添加一个6(6是TCP在IP协议中的代码,IPPROTO_TCP=6),从道理上来说,只允许TCP协议通过时无论UDP还是ICMP都不应该能通过,可惜的是这里的IP协议过滤指的是狭义的IP协议,从架构上来说虽然ICMP协议和IGMP协议都是IP协议的附属协议,但是从网络7层结构上ICMP/IGMP协议与IP协议同属一层,所以微软在这里的IP协议过滤是不包括ICMP协议的,也就是说即使你设置了“只允许TCP协议通过”,ICMP报文仍然可以正常通过,所以如果我们要过滤ICMP协议还需要另想办法。