防火墙:
防火墙(Firewall)也称为防护墙,防火墙位于内部网和
外部网之间的屏障,它按照管理员预先定义好的规则来控
制数据包的进出,防火墙是系统的第一道防线,其作用是
防止非法用户的进入。网络防火墙可视为一种IP封包过滤
器,运作在地层的TCP/IP协议堆栈上,我们可以以枚举的
方式,允许只符合特定规则的封装包通过,其余一律禁止
穿越防火墙(病毒书外,防火墙不能防止病毒的进入),
这些规则通常由管理员设定和改变。
网络型防火墙由路由器+过滤器组成。防火墙能使用封装
的多样属性进行过滤,例如:来源的IP地址,来源端口号,
目的地的IP或者端口号。也能经由通信协议、TIL值,来源
的域名或网段进行过滤。
应用层防火墙:
应用层防火墙时在TCP/IO堆栈的应用层上运作的,使用浏
览器产生的数据流或者使用FTP时的数据流都>是属于这以
层,应用防火墙可以拦截进出某个应用程序的所有封包,并
且封锁其他的封包(通常将封包进行丢弃),应用防火墙的
作用就是完全阻绝外部的数据流进到受保护的机器里。
防火墙的布置图如下所示:
防火墙的规则链和规则表:
1、防火墙是根据配置文件/etc/sysconfig/iptables 来控制本机的‘出’
、‘入’的网络访问行为的。
Filter表:主要跟进linux本及的数据包有关,过滤数据包,默认表
(1) : INPUT链 :过滤所有目标是本机的数据,(对进入本机的数
据包进行过滤)
(2) : OUTPUT链 :过滤由本机产生的数据包(对源地址是本机的
数据包进行过滤)
(3) : FORWARD链: 过滤所有路过本机的数据包(源地址和目的
地址都不是本机的数据包)
nat表:网络地址的转换,这个表主要用来进行来源或者目的IP和
Port的转换,与linux的本机无关,主要是与linux主句的局域网内的
环境有关。
如果数据包允许经过NAT或者masquerade,那么其他数据会做同样的
动作,也就是说其它数据包不会被一一的NAT。
包含三个动作:
DNAT :改变数据包的目的地址使用能重新能路由到某台机器
SNAT :改变数据的源地址(使局域网可以访问公网)
NASQUERADE : 和SNAT一样使得局域网能够访问公网,无固定
的IP使用PPP. PPPoE等波好上网模式连接公网。
nat表包含三条链:
PRETOUTING链:数据包到达防火墙时改变数据包的目的地址
POSTROUTING链: 在数据包离开防火墙是改变数据包的源地址
OUTPUT链:改变本地产生数据的目标地址
mangle表:破坏者,主要是与特殊的数据包的路由标志有关,修改
数据包、改变数据包的头内容(TIL、TOS、MARK)
TOS:设置该改变数据包的服务类型,一般不建议使用TOS设置发往
公网的数据包,除非打算依赖TOS来路由。
TIL:改变数据包的生存时间,可以让数据包有一个特殊的TIL,欺骗
ISP
MASK :给数据包设置特殊的标记,通过标记配置带宽限制或者而
基于请求分类,
mangle表由五条链:
PREROUTING链:数据进入防火墙后,路由判断之前改变数据包
POSTPOUTING链:在数据包确认目的地址之后,改变数据包
INOUT链:在数据包进入本机之后,应用程序接受数据之前进行数据
包的改变。
OUTPUT:在数据包被确认目的之前改变数据包
FORWARD链:第一次路由判断之后,最后一次路由判断之前改变
数据包。
raw表:原始表格
主要用于配置。原始表格由2中的内置链条
PREROUTING链
OUTPUT链
IPTABLES中数据包的被跟踪的四种链接状态
1、NEW:该数据包型要开始一个连接(重新连接或者连接重定向)
2、RELATED:该数据包属于某个已经建立的连接所建立的新连接
比如:FTP数据传输连接就是控制连接所RELATED出来的连接
3、ESTABLISHED : 只要发送连接并接到回应,一个数据连接就会
从NEW状态转换为ESTABLISHED状态。而且该状态会继续和这个连接
的发送数据包。
4、INVALID :数据包不能被识别属于哪个连接或者没有任何状态比如
内存溢出,收到不知属于那个连接的ICMP错误消息,一般应该DROP
这个数据包的所有数据。