【网络安全】linux安全之iptables防火墙技术

一、iptables防火墙工作原理

         规则表:

                     具有某一类相似用途的防火墙规则

                     规则表是规则链的集合

                     默认的4个规则表

                     raw表:确定是否对该数据包进行状态跟踪(用的不多)

                     mangle表:为数据包设置标记(用的不多)

                     nat表:修改数据包中源,目标IP地址或端口

                     filter表:确定是否放行该数据包(过滤)

         规则链:

                    根据处理时机不同,各种规则被组织在不同的链中

                     规则链是防火墙规则/策略的集合

                     默认的5个规则链

                     INPUT:处理入站的数据包

                    OUTPUT:处理出站的数据包

                     FORWARD:处理转发的数据包

                     POSTROUTING:在进行路由选择后处理数据包

                     PREROUTING:在进行路由选择前处理数据包

         处理规则:

                     规则表的优先顺序

                              依次为:raw、mangle、nat、filter

                     规则链间的匹配顺序

                              入站顺序:PREROUTIN、INPUT【主机防火墙会用到】

                              出站顺序:OUTPUT、POSTOUTING【主机防火墙会用到】

                              转发数据:PREROUTING、FORWARD、POSTROUTING【网关防火墙】

                     规则链内的匹配顺序

                              > 按顺序依次进行检查、找到匹配的规则即停止(log策略会有例外)

                              > 若在该链内找不到相匹配的规则、则按该链的默认策略处理

         主机型防火墙(单网卡)包处理过程

         网关型防火墙(双网卡)包处理过程 

                

二、iptables防火墙基本语法

            iptables命令的语法格式: 

                     iptables   [-t 表名/小写]      管理选项/大写    [链名/大写]    [匹配条件/小写]     [-j 目标动作或跳转/大写]

            几个注意事项: 

                     >   不指定表名时,默认表示filter表

                     >  不指定链名时,默认表示该表内所有链

                     >  必须要指定匹配条件(除非设置规则链的缺省策略)

            iptables的常见选项及条件:

          iptables的常见数据包处理方式:

          iptables命令示例:

# 在filter表中input链中指定tcp通过
iptables -t filter -A INPUT -p tcp -j ACCEPT

# 没有指定表,默认过滤表,在input链中增加策略udp通过
iptables -I INPUT -p udp -j ACCEPT

# 没有指定表,默认过滤表,在input链中第二条增加策略icmp通过
iptables -I INPUT 2 -p icmp -j ACCEPT

# 没有指定表,默认过滤表,在input链中默认策略丢弃
iptables -p INPUT DROP

# 没有指定表,默认过滤表,列出input所有策略条目  --line-numbers 策略前面带上序号
iptables -L INPUT --line-numbers

# 没有指定表,默认过滤表,删除input链中第二条策略 
iptables -D INPUT 2

# 没有指定表,默认过滤表,清除过滤表所有策略
iptables -F

# 清除nat表所有策略
iptables -t nat -F

三、iptables防火墙应用案例

         SNAT:

# 访问外部服务器将本机地址192.168.10.0/24转化为 202.100.10.1
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j SNAT --to-source 202.100.10.1
# 进行地址伪装
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ppp0 -j MASQUERADE

         DNAT:

# 对外部网关将202.100.10.1转化为192.168.10.2 【目标地址转换】
iptables -t nat -A PREROUTING -i eth2 -d 202.100.10.1 -p tcp -dport 80 -j DNAT --to-destination 192.168.10.2

iptables -t nat -A PREROUTING -i eth2 -d 202.100.10.1 -p tcp -dport 443 -j DNAT --to-destination 192.168.10.2

         SSH远程访问:

> 网关策略
iptables -t nat -A PREROUTING -i eth2 -d 202.100.10.1 -p tcp -dport 2222 -j DNAT  --to-destination 192.168.10.2:22

ssh远程登录:  ssh -p 2222 root@202.100.10.1



> web服务器策略
允许内网服务器ping通外网,禁止外网ping内网服务器
iptables -A INPUT -i eth0 -p icmp --icmp-type Echo-Request -j DROP
iptables -A INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT

         拒绝telnet登录:

iptables -t filter -I INPUT -p tcp  -dport 23 -j REJECT

          常用命令

iptables -nL INPUT --line-numbers

iptables -P INPUT DROP

iptables -P INPUT ACCEP

iptables -A INPUT -s 192.168.244.1 -j ACCEPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值