防火墙分类
软件
1.microsoft ISA
2.linux iptables
硬件
1.cisco
1.1.Cisco pix :515 525 515e 525e
1.2.Cisco ASA : 是Cisco系列中全新的防火墙和反恶意软件安全用具。(不要把这个产品和用于静态数据包过滤的PIX搞混了)
ASA系列产品都是5500系列。企业版包括4种:Firewall,IPS,Anti-X,以及×××。而对小型和中型公司来说,还有商业版本。
总体来说,Cisco一共有5种型号。所有型号均使用AS版本的软件,接口也非常近似Cisco PIX。Cisco PIX和ASA在性能方面有很大的差异,但是,即使是ASA最低的型号,其所提供的性能也比基础的PIX高得多。
和PIX类似,ASA也提供诸如入侵防护系统(IPS,intrusion prevention system),以及×××集中器。实际上,ASA可以取代三种独立设备——Cisco PIX防火墙,Cisco ××× 3000系列集中器,以及Cisco IPS 4000系列传感器。
3.Juniper
4.天融信
安全卫士 国产的较好的安全产商
5.H3c
6.神州数码
过滤机制分类:
包过滤防火墙
--网络层
1.静态的 要有出去有回来的规则
2.基于状态的
Ip地址 协议(tcp udp)端口号码(源 目标端口)
代理网关
--应用层
1.Ip地址 协议(tcp udp) 端口号码(源 目标端口)
2.应用层信息
应用层协议 HTTP QQ MSN
内容过滤
账号过滤
防火墙的五个函数
Hook function
Postrouting snat
Prerouting dnat
Input 访问自身的
Forward 路过防火墙
Output
Netfiter 内核空间 iptables的五个函数 是个架构
Iptables 用户空间 iptables的规则
表名称分类:
--iptables提供的功能
1.Nat
1.1prerouting 在路由判断之前,做dnat发布内部服务器的
1.2postrouting 路由判断之后,做snat访问外网的
NAT
属于网络层
Snat:根据来源替换地址
Dnat:根据目标替换地址
42-1
2.filter
INPUT OUTPUT FORWARD
42-2
3.Mangle 改变数据包的tos(服务质量和服务类型)
Iptables语法Iptables –t 表名称 指令 链名 匹配规则 –j 动作
1.指令
-A --append
-D –delete 链名 编号
-I –insert 链名 编号
-R –replace 链名 编号
-F –flush 链名
-X –delete-chain 链名 删除自定义的空链 –先用-F清空后再去除引用 再删除
--只能删除自己定义的链
-N自己定义链
一般没有意义 需要附加到别的链后
-P –policy 改变策略
eg :-N
#iptables -t nat -X PREROUTING
#iptables -t nat -N abc
--引用链abc
#iptables -t nat -A PREROUTING -d 192.168.101.200 -p tcp --dport 3389 -j abc
#iptables -t nat -L -n -v --line-numbers
#iptables -t nat - F PREROUTING
--空链可以删除
#iptables -t nat -X abc
2.匹配规则
2.1来源
-s 地址 /范围(子网 网络)
-i 接口 入口
2.2目标
–d 地址/范围 (子网 网络)
-o 接口 出口
Snat 不能写-i
Dnat 不能写-out
3.协议
3.1 tcp
-p tcp –dport –sport
标志位(syn ack fin rst) --请求 应答 结束 重置
-p tcp --tcp-flags
标志位 ( SYN ACK FIN RST URG PSH ALL NONE)
3.2 udp
-p udp –dport –sport
3.3 icmp
--icmp-type [!] typename
echo-reply / 0
echo-request /8
4.动作
-j ACCEPT REJECT DROP
SNAT DNAT REDIRECT(重定向)
5.模块
-m
--应用层可以基于内容的过滤
5.1.地址范围的过滤
iprange [!]--src-range ip-ip
[!]--dst-range ip-ip
5.2.时间范围的过滤
time --timestart --timestop
--days format: Mon,Tue,Wed,Thu,Fri,Sat,Sun ;
default everyday)
--datestart --datestop
5.3.Mac地址的过滤
--mac-source [!] address
5.4.多个端口过滤
multiport
--source-ports [!] port[,port[,port:port...]]
--destination-ports [!] port[,port
[,port:port...]]
--ports [!] port[,port[,port:port...]]
5.5.状态模块
-m –state NEW ESTABLISHED RELATED INVALID
NEW 只有syn
Established 只要包含ack
Related 相关的 (ftp)
42-3
5.6.String 过滤非法字符的
Bm|kmp 算法
--string pattern --algo bm|kmp
5.7.连接限制
Connlimit
[!]--connlimit-above n
6.Dns
#vim /ect/resolv.conf
7.开启转发功能
转发
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl –p
7.1snat
--nat 只使用 POSTROUTING PREROUTING CHAIN 不使用output chain
#iptables –t nat –A POSTROUTING –s 192.168.2.0/24
--默认所有协议
-p tcp –dport 80 -o eth0 –j SNAT –to 192.168.101.200
#iptables –t nat –L –n -v
-v 显示详细信息
-vv –vvv 显示更详细信息
-n 以数字形式显示destination
--line-number 显示规则编号
地址伪装
#iptables –t nat –R POSTROUTING –s 192.168.2.0/24
-o eth0 –j MASQUERADE
--从某个接口发出时把源地址伪装为出口接口的地址
7.2 dnat
#iptables –t nat –A PREROUTING –d 192.168.101.200
-p tcp –dport 3389 –j DNAT –to 192.168.2.15