免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1416 | 回复: 3
打印 上一主题 下一主题

Iptables求验证 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-19 15:02 |只看该作者 |倒序浏览
写在前面:
为什么我自己不试验一下?
因为我自己对Iptables了解非常少,仅对状态检测机制有所了解。
希望验证的内容:
一、关于IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP 规则
此规则是对于这样的包进行过滤:外部网络主机已经与防火墙内部或者其自身建立了链接,而此规则后来生效的那些此连接的数据包
具体实施环境:
防火墙之外的主机A:10.1.1.2/24
放火墙F:10.1.1.1/24 与 10.1.2.1/24
受防火墙保护的网段:10.1.2.0/24
受防火墙保护的网段内的一台主机X:10.1.2.10/24(开启telnet服务)
具体实施分两个种情况进行模拟:

情况I(公网访问内网):
1、主机A telnet 到 主机X,并保持连接状态.
2、开启防火墙F上的iptables服务,并使规则:
IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
生效。
3、使用刚才的telnet客户端执行随便一个命令,如:ls
上面的ls命令应该是执行不成功的。

如果防火墙之外的主机A先连到了我们的内部网络主机X,防火墙F的规则发生了改变,禁止A发送SYN段链接进入X,规则不生效.所以我们不的不应用此规则,让其重新链接。

基与这一点,我想iptables虽然是工作在网络层的防火墙,但是它会查看TCP包头的,所以严格的说,iptables是一个传输层与网络层的放火墙。但就象手机可以录音一样,我们还是称之为手机,所以,iptables还是网络层的防火墙。

情况II(内网为私用网地址,防火墙使用了SNAT):
1、内网的一台机器X,telnet到防火墙F
2、启动防火墙F的ppp时起用此规则
刚才的telnet会中断。如果把conntrack和nat直接编译进内核心,就不会出现上面的情况。

二、关于iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset 规则
此规则是对这样的包进行过滤,并发出错误报告:tcp包头中的syn=1并且ack=1的段进行过滤,并向此链接的发起端发出tcp-reset(也就是RST=1)的数据包,通知关闭其链接。
具体实施:
攻击这A:10.1.1.2
放火墙F:10.1.1.1/24 与 10.1.2.1/24
受防火墙保护的网段:10.1.2.0/24
受防火墙保护的网段内的一台主机O(无辜者):10.1.2.10/24
受害者V:11.22.33.44
1、[A]以[O]的IP为源地址向[V]发SYN。

2、[V]向[O]回应SYN/ACK。(这也是为什么要三次握手才可以确定链接与否的原因,而不是两次。)

3、现在,若[O]以RST回应这个未知的SYN/ACK,攻击就失败了,但如果[O]已经没有这个能力了呢?比如它早已被另外的攻击(如SYN flood)降服,或者被关闭,或者它的RST包被防火墙拒绝。

4、如果[O]没能破坏这条连接,而且[A]猜对了序列号,那它就能以[O]的身份发出第三次握手并与V通信了。
这条规则的存在还产生了另外一问题,就是有几个portscan(端口扫描器)会看到我们的防火墙。因为RST=1的链接复位包是由防火墙发起的。
注意:这条规则并不能防止你成为受害者。

三、关于两个规则的功能的相互替换。
1、可以用此规则:IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP 防止syn欺骗么?
不可以。因为在第2次握手(ack=1,syn=1),如果iptables检测到这个包是第一次到来,那么状态是NEW。这样就与规则ack=1(! --syn用来匹配那些 RST或ACK被置位的包)匹配。规则生效。但是这样做只是把包drop掉了,并没有发出RST以通知连结的发起者。
2、可以用此规则:iptables -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset来防止外网先链接到本地机器,而规则后生效,并且阻止此链接的后续包进入么?
不可以。因为在此规则生效后,链接的后续包的状态标志位并不是syn=1。
多谢论坛里的兄弟和我探讨,让我有了更进一步的了解。如果有任何错误,请回帖。

论坛徽章:
0
2 [报告]
发表于 2005-09-19 15:33 |只看该作者

Iptables求验证

晕,怎么又重新开一贴?第三个了,和你这么讨论太累

论坛徽章:
0
3 [报告]
发表于 2005-09-19 15:41 |只看该作者

Iptables求验证

兄弟,我是怕没有人看我俩讨论来讨论去的,所以,以前我们讨论过的帖子想让网管删除掉,另外有的时候感觉写的不对劲,想从新该,又怕你看不见我该的地方

论坛徽章:
0
4 [报告]
发表于 2005-09-19 16:30 |只看该作者

Iptables求验证

哎,不会啦,我还是希望能在原贴讨论,三个贴子都有人回的话,分三个思想去一一讨论太累了
如果是在 Linux 版,这样的贴子会被删除的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP