linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > linux网络与应用 > 网络安全 >
栏目导栏
资料搜索
热门文章
·Linux系统下使用aMsn(MSN)详解
·使用Snort规则.doc
·构建一个RADIUS服务器
·Netscreen防火墙简单配置实例
·IPTABLES配置方法
·SELinux 入门
·常用log4j配置
·如何利用嗅探器TcpDump分析网络
·ssh工具scp使用示例
·LINUX iptable应用手册(一)
·linux安全设置手册
·防火牆與ShoreWall使用方法
·snort 模块详讲
·LRP架构Linux路由器/防火墙
·Linux下防火墙设置
最新文章
·认识Linux操作系统下三大便利开
·Linux操作系统如何限制SSH密码
·Linux Iptables 内核2.6.18添加
·实用技巧:让Linux系统有效防御
·SELinux拒绝vsftpd上传文件到用
·解决SUSE Linux下SSH无法使用密
·关于Linux操作系统防火墙的进程
·OpenSSH实现Windows和Linux文件
·Linux防火墙示例 用简单规则集
·如何防范Linux操作系统下缓冲区
·Linux系统开防火墙时自动开启相
·Linux操作系统下防范黑客的一些
·Linux操作系统防火墙进程查看的
·Linux主机服务器被入侵后需要采
·通过监控Linux的运行进程来保证
Google
 
络中流传的iptables脚本的误区
[ 作者:  加入时间:2007-09-07 11:03:01  来自:Linux联盟收集整理 ]
经常看到一些网络中流传的 iptables 脚本在开头的位置大多是如下内容QPELinux联盟
#!/bin/shQPELinux联盟
#QPELinux联盟
modprobe ipt_MASQUERADEQPELinux联盟
modprobe ip_conntrack_ftpQPELinux联盟
modprobe ip_nat_ftpQPELinux联盟
iptables -FQPELinux联盟
iptables -t nat -FQPELinux联盟
iptables -XQPELinux联盟
iptables -t nat -XQPELinux联盟
iptables -P INPUT DROPQPELinux联盟
QPELinux联盟
摘自 http://bbs.chinaunix.net/viewthread.php?tid=712506QPELinux联盟
QPELinux联盟
有的是这样的QPELinux联盟
# 2.0 载入模组QPELinux联盟
PATH=/sbin:/bin:/usr/sbin:/usr/binQPELinux联盟
export PATH EXTIF INIF INNETQPELinux联盟
modprobe ip_tables > /dev/null 2>&1QPELinux联盟
modprobe iptable_nat > /dev/null 2>&1QPELinux联盟
modprobe ip_nat_ftp > /dev/null 2>&1QPELinux联盟
modprobe ip_nat_irc > /dev/null 2>&1QPELinux联盟
modprobe ip_conntrack > /dev/null 2>&1QPELinux联盟
modprobe ip_conntrack_ftp > /dev/null 2>&1QPELinux联盟
modprobe ip_conntrack_irc > /dev/null 2>&1
QPELinux联盟
摘自 http://linux.vbird.org/linux_server/0250simple_firewall.php#simple_firewall_scriptQPELinux联盟
QPELinux联盟
网上流传的东西未必就都是正确的,针对上面一些误区,我来做一下详细说明QPELinux联盟
(上面第二个出自鸟哥的脚本,我们只讨论技术,没有得罪的意思 ^_^)QPELinux联盟
QPELinux联盟
1、modprobe ip_tablesQPELinux联盟
当 iptables 对 filter、nat、mangle 任意一个表进行操作的时候,会自动加载 ip_tables 模块QPELinux联盟
另外,iptable_filter、iptable_nat、iptable_mangle 模块也会自动加载,情形例如QPELinux联盟
# lsmodQPELinux联盟
Module              Size  Used by      Not taintedQPELinux联盟
iptable_mangle      2136    0     (autoclean) (unused)QPELinux联盟
iptable_filter      1708    0     (autoclean) (unused)QPELinux联盟
ip_tables          12832    2    [iptable_mangle iptable_filter]QPELinux联盟
8139too            13704    1QPELinux联盟
mii                 2544    0           [8139too]QPELinux联盟
reiserfs          183376    2          (autoclean)QPELinux联盟
raid1              13068    1          (autoclean)QPELinux联盟
md                 44480    2            [raid1]QPELinux联盟
因此,脚本里不用写 modprobe ip_tablesQPELinux联盟
QPELinux联盟
2、modprobe ip_conntrackQPELinux联盟
ip_conntrack 是状态检测机制,state 模块要用到QPELinux联盟
当 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 时,ip_conntrack 自动加载,例如QPELinux联盟
# lsmodQPELinux联盟
Module              Size  Used by     Not taintedQPELinux联盟
ipt_state            536     1        (autoclean)QPELinux联盟
ip_conntrack       25096     0        (autoclean) [ipt_state]QPELinux联盟
iptable_filter      1708     1        (autoclean)QPELinux联盟
ip_tables          12832     2    [ipt_state iptable_filter]QPELinux联盟
8139too            13704     1QPELinux联盟
mii                 2544     0         [8139too]QPELinux联盟
reiserfs          183376     2        (autoclean)QPELinux联盟
raid1              13068     1        (autoclean)QPELinux联盟
md                 44480     2          [raid1] 另外,modprobe ip_conntrack_ftp 时也会自动加载 ip_conntrackQPELinux联盟
因此,脚本里不用写 modprobe ip_conntrackQPELinux联盟
QPELinux联盟
3、modprobe ip_conntrack_ftpQPELinux联盟
ip_conntrack_ftp 是本机做 FTP 时用的QPELinux联盟
ip_nat_ftp 是通过本机的 FTP 需要用到的(若你的系统不需要路由转发,没必要用这个)QPELinux联盟
当 modprobe ip_nat_ftp 时,系统自动会加载 ip_conntrack_ftp 模块,例如QPELinux联盟
# lsmodQPELinux联盟
Module                Size  Used by      Not taintedQPELinux联盟
ip_nat_ftp            2736     0          (unused)QPELinux联盟
iptable_nat          18040     4        [ip_nat_ftp]QPELinux联盟
ip_tables            12544     12    [iptable_filter iptable_nat]QPELinux联盟
ip_conntrack_ftp      3856     1QPELinux联盟
ip_conntrack         20268     3     [ip_nat_ftp iptable_natQPELinux联盟
8139too              13704     1QPELinux联盟
mii                   2544     0          [8139too]QPELinux联盟
reiserfs            183376     2         (autoclean)QPELinux联盟
raid1                13068     1         (autoclean)QPELinux联盟
md                   44480     2           [raid1]QPELinux联盟
因此,当需要用到 ip_nat_ftp 时,脚本里不用写 modprbe ip_conntrack 和 modprobe ip_conntrack_ftpQPELinux联盟
QPELinux联盟
4、iptables -P OUTPUT DROPQPELinux联盟
除非你明白 filter 中 OUTPUT 链的作用,除非你想限制 Linux 本机上网QPELinux联盟
否则,不要 iptables -P OUTPUT DROP!QPELinux联盟
QPELinux联盟
5、先设置规则,还是先设置默认策略QPELinux联盟
不少脚本都是这样写的QPELinux联盟
iptables -F xxxQPELinux联盟
iptables -XQPELinux联盟
iptables -P INPUT DROPQPELinux联盟
modprobe ip_nat_ftpQPELinux联盟
之后才是具体规则QPELinux联盟
iptables -P INPUT DROP 是什么意思?QPELinux联盟
设置默认规则为 DROP,也就是说如果数据包没有被链中规则匹配,则默认按默认规则处理QPELinux联盟
试想,假如你在远程调试一个脚本,当前 filter 表的 INPUT 链默认规则是 DROP,iptables -F 后意味着什么?QPELinux联盟
因此,我建议大家QPELinux联盟
QPELinux联盟
先设置默认规则为 ACCEPTQPELinux联盟
然后添加具体链的规则QPELinux联盟
最后设置默认规则为 DROPQPELinux联盟
若用基于 RedHat(CentOS) 的发行版,可以用 service iptables stop 来卸载内核中与 iptables 和 netfilter 有关的东西
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息