当前位置: 首页 > 图文教程 > 网络安全 > 杀毒防毒 > 研究Linux下Firewall的配置

杀毒防毒
几个小绝招增强系统对木马和病毒的防范
全面解析木马后门程序运行原理 把它扼杀在摇篮里
修改注册表清除黑客程序保证计算机安全
关闭和限制电脑不常用端口确保安全
与脚本病毒做斗争 几种常见的杀毒方法
经验共享---如何防御网络游戏外挂木马
系统安全之教你手工清除灰鸽子Vip2005
识别文本文件型邮件附件的欺骗方法
安全防护我先行 不准病毒自行启动
彻底清除无法显示隐藏文件病毒
使用杀毒软件的十大误区
李鬼?李逵? 深入了解灰鸽子2007真实功能
揭示灰鸽子七宗罪 不可不知的病毒解决方案
双击无法打开驱动器的杀毒方法
最新木马专杀下载 可杀灭十万种木马
看看你的系统有没有被流氓入侵
小心藏在情书邮件里的病毒盗取你的QQ账号
“灰鸽子”从防到杀全过程
“灰鸽子”凶猛:不容忽视的潜在威胁
彻底清除无法显示隐藏文件的病毒

杀毒防毒 中的 研究Linux下Firewall的配置


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 121 ::
收藏到网摘: n/a

 

最近在研究Linux下Firewall的配置,发现配置好防火墙以后ftp就有问题了,一直都不能够用Filezilla 和 CuteFTP登录,在列出目录的时候一直会失败。但是在命令行下面如果先执行passive off,一切正常。

 

答案在CU上找到的,主要是要使用 ip_conntrack_ftp

 

linux.chinaunix.net/bbs/viewthread.php?tid=812400">http://linux.chinaunix.net/bbs/viewthread.php?tid=812400

原文:

 

使用 -P INPUT DROP 引起的网路存取正常,但是 ftp 连入却失败?

 

依据前面介绍方式,只有开放 ftp port 21 服务,其他都禁止的话,一般会配置使用:

 

iptables -P INPUT DROP

 

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

 

iptables -P INPUT DROP

 

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

 

这样的配置,确认 ftp 用户端是可以连到 ftp 主机并且看到欢迎登入画面,不过后续要浏览档案目录清单与档案抓取时却会发生错误...

 

ftp 协定本身于 data channnel 还可以区分使用 active mode 与 passive mode 这两种传输模式,而就以 passive mode 来说,最后是协议让 ftp client 连结到 ftp server 本身指定于大于 1024 port 的连接埠传输资料。

 

这样配置在 ftp 传输使用 active 可能正常,但是使用 passive mode 却发生错误,其中原因就是因为该主机firewall 规则配置不允许让 ftp client 连结到 ftp server 指定的连结埠才引发这个问题。

 

要解决该问题方式,于 iptables 内个名称为 ip_conntrack_ftp 的 helper,可以针对连入与连外目的 port 为 21 的 ftp 协定命令沟通进行拦截,提供给 iptables 设定 firwewall 规则的配置使用。开放做法为:

 

modprobe ip_conntrack_ftp

 

iptables -P INPUT DROP

 

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 

iptables -A INPUT -i lo -j ACCEPT

 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

 

modprobe ip_conntrack_ftp

 

iptables -P INPUT DROP

 

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 

iptables -A INPUT -i lo -j ACCEPT

 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

 

其中 -m state 部分另外多了 RELATED 的项目,该项目也就是状态为主动建立的封包,不过是因为与现有 ftp 这类连线架构会引发另外才产生的主动建立的项目。

 

不过若是主机 ftp 服务不在 port 21 的话,请使用下列方式进行调整:

 

CODE:

 

modprobe ip_conntrack_ftp ports=21,30000

 

iptables -P INPUT DROP

 

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 

iptables -A INPUT -i lo -j ACCEPT

 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

 

iptables -A INPUT -p tcp --dport 30000 -j ACCEPT

 

modprobe ip_conntrack_ftp ports=21,30000

 

iptables -P INPUT DROP

 

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 

iptables -A INPUT -i lo -j ACCEPT

 

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

 

iptables -A INPUT -p tcp --dport 30000 -j ACCEPT

 

也就是主机本身提供 ftp 服务分别在 port 21 与 30000 上,让 ip_conntrack_ftp 这个 ftp helper 能够正常提供 ftp 用户端使用 passive mode 存取而不会产生问题。