WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1904查看
  • 0回复

主题

好友

1204

积分

金牌会员

发表于 2010-1-17 09:50:43 |显示全部楼层
前几天在某bbs里看到有人发帖求助,意思就是自己的服务器采取什么措施可以对抗,或者叫做阻断Nmap的扫描。我当时的回帖是自己能力有限,还未理解完全nmap各项功能的原理,所以无法帮上忙。(毕竟这种问题不是查阅一些资料,或者经过比较简单的实际测试就可以得出的结论)

昨天晚上想了一下,nmap扫描的方式无论是TCP还是SYN,半开还是全开,又或者是种种其他更加高级复杂的技术,都要遵循一个原理,那就是建立一次完整的TCP三次握手。因为nmap不像其他仅仅判断端口是否开放的扫描器,它还向用户报告完整的port/service banner。如果没有完整的TCP三次握手,是无法获得banner的。

而nmap的扫描包完全是模拟正常连接的数据包,也就是说,等于一次完全正常、合理的TCP连接。服务器要开放服务,就必须开放端口,那么既然开放了端口,就不可能拒绝完全正常的连接。所以,我认为理论上,要想做到既开放服务,又不被nmap扫描出开放了哪些端口,基本是不可能的。

不过可以通过修改各个服务的默认端口及其banner,来造成nmap给使用者报告完全错误的结果。好比一台linux服务器,21端口的vsftpd 2.2.2,banner改成ftp 9.9,那使用者得到的报告基本毫无价值。只知道你21端口是FTP,但ftp软件用的是什么,版本号是多少完全不知道。

硬件防火墙的作用是限制源IP和源端口或者目的IP和目的端口,但总要允许通过正常用户的连接呀,源IP动态变化,根本不可能限制,源端口也没法。防火墙更加无法识别nmap或其他扫描器的扫描数据包和正常数据包之间的区别。所谓的忽略ICMP包的做法也是完全多此一举,nmap的一个-PN参数就搞定。

bbs里还有人提到windows自带的ipsec,我的理解ipsec,或是iptables,基本相当于软防。原理就不再重复。对于nmap的扫描是毫无用处的。

所以,只能采取我所说的建议。

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-29 02:37 , Processed in 0.058485 second(s), 16 queries .

返回顶部