Chinaunix首页 | 论坛 | 博客
  • 博客访问: 809808
  • 博文数量: 142
  • 博客积分: 3505
  • 博客等级: 中校
  • 技术积分: 1501
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-30 19:30
文章分类

全部博文(142)

文章存档

2012年(33)

2011年(109)

分类: LINUX

2012-01-19 23:33:53

今天遇到了一些关于packet filtering的问题,就随手记了下来。一来是自己记录下来,增加下理解。二来是奢望能够给大伙带来些帮助。

问题:

我们在server上已经配置了drop掉所有的从外网过来的tftp message,但是从在使用nmap的时候还是发现该端口是打开的。 (出现这种情况确实让人很困扰)

原因:

tftp是基于UDP协议的。而nmap使用的UDP端口扫描原理如下:

首先,发送一个零字节大小的UDP 包到server端的扫描端口。
其次,检查返回结果。如果没有消息返回,则认为服务器上相应端口已经打开。如果返回ICMP unreachable消息,则认为服务器上相应端口已经关闭。
我们原来配置的规则是针对所有的外网tftp packet都drop掉,没有任何response。因此nmap收不到任何回应消息,则认为相应端口是打开的。

这就是整个问题的senario。

解决方法:
当然是尽量让其返回一个ICMP unreachable消息才是王道。解决方法非常简单,就是将drop策略改为reject策略。因为reject时,针对UDP协议会返回ICMP unreachable消息;针对TCP会返回RST消息。

经过测试,发现解决方案工作良好。
阅读(2750) | 评论(0) | 转发(0) |
0

上一篇:Linux进程切换

下一篇:Linux bonding setup

给主人留下些什么吧!~~