防火墙

防火墙具有隔离功能,放在路由器的后面,工作在网络或主机边缘。大体分类有:主机防火墙与网络防火墙;或者硬件防火墙与软件防火墙;或者网络防火墙与应用层防火墙。
网络层防火墙不能识别应用层数据,只能检查TCP、IP的数据报头,应用层防火墙可以识别协议内部的数据(自己开发的应用层软件防火墙不能识别,可以设置规则使防火墙识别软件的二进制代码),应用层协议有http、dns之类。
应用层防火墙又称为代理服务器(正向):用户发送请求给代理服务器,代理服务器帮助用户去网络上寻找资源,找到后返回给用户,此过程为正向代理;多台服务器同时提供请求,会用到一个调度器,分配访问资源给各个服务器,称为反向代理.
调度器有两种工作模式:1.调度器转发请求给后端的服务器;2.调度器自己去服务器寻找资源,响应请求。
网络层的防火墙只能识别传输层、网络层、数据链路层的内容,不能识别应用层的数据,检查数据的协议状态指的是TCP协议的多种状态,并且通过ACL控制实现。
防火墙是集成在内核中的,iptables只是一个配置防火墙的工具,一个软件包。/boot下的config文件记录了内核中哪些功能是以何种方式存在的:比如以模块方式(防火墙),编译到内核中,没有进行编译。
Netfilter(防火墙)或网络过滤器,集成在内核中。内核中选取五个位置放置五个hook(勾子),即五个函数(系统调用的函数):input、output、forward、prerouting、postrouting,五个勾子是控制用户访问网络资源的控制点。用户可以通过命令iptables向五个函数内写入规则。
1.主机防火墙(只在主机上设置的防火墙)
其中最主要的两个是input(进口)、output(出口),数据通过input进入主机的进程(例如http进程),input负责检查数据包的协议是否是http,即检查进入哪个进程;还有两个检查点,prerouting(路由之前)、postrouting(路由之后)。prerouting负责检查发来的数据包的目标地址是否是这台主机。过程:没有到达http之前有两次检查:进入网卡prerouting检查--->路由表的检查(判断数据包的目标地址是否是本主机)---->input检查---->http----->output---->postrouting
2.网络层防火墙
网络层防火墙可以当路由器使用,当数据包通过路由检查,发现不是自己要接收的数据包,就要转发出去,要经过一个检查点:forward
实现:http服务禁止某个地址访问
1.在prerouting上设置规则(没有通过路由检查,不能判断目标地址),除了会将到达服务器的对应ip的数据包屏蔽掉,还会屏蔽转发出去的数据包(主机除了提供http服务,还兼职路由功能,转发数据)。不合理(浪费资源)
2.在input上做检查更合理
iptables由四个表和五个链以及一些规则组成:
1.filter:过滤规则表,例如指定时间来控制防火墙的开关
2.mangle:修改数据标记位,例如凡是http与tcp协议的数据,都标记为10类别
3.raw:关闭nat表的连接跟踪机制(例如ftp服务的被动连接,数据端口为随机,客户端连接服务器的21命令端口,连接跟踪机制就会跟踪21端口的数据包。计算出随机端口的端口号,然后服务器打开端口)
4.四个表有优先级,发生冲突时,按优先级生效
防火墙的相关规则:
1.同类规则匹配范围小的放上面:http服务允许1.1.1.1访问,拒绝1.1.0.0访问,1.1.1.1放上面
2.不同规则,匹配到报文频率大的放上面:http服务允许1.0.0.0访问,ssh服务允许1.1.1.1访问,所以http服务匹配范围大,放上面
3.多个规则合并为一个,规则越少,检查次数越少,效率越高
4.加默认规则,防止匹配条件不全面
5.实验准备:CentOS7关闭firewalld,CentOS 6关闭iptables,不是关闭服务,而是关闭默认的防火墙策略,自己定义策略
了解iptables的扩展用法:

-t表示后面加表名,不写名字默认加filter表,-A表示增加规则,若原来有规则,加在原有规则的后面,后面跟链名。-s表示源地址,-j表示跳,后面跟处理动作,DROP表示拒绝访问,表现为不作响应。
INPUT链表示数据包是发给本机地址的,所以目标地址可不写

清空防火墙规则:-F,默认清空filter表

-L显示防火墙的定义的策略、规则,但是不详细,且把地址反向解析成名字

-nL显示规则依然不详细,但不会做反向解析,n与L的顺序不能变,n在前

-vnL显示较为详细的信息,-vvnL显示更详细,-vvvnL显示更详细
-x显示计数器结果的精确值,不加-x,显示为194k

加-x精确到字节

系统自带的防火墙策略,放在磁盘文件中:

-S选项这样显示防火墙策略:像默认策略存放的文件格式一样:可以直接存放到文件中,当防火墙策略

-I表示插入规则,不写编号默认为第一条,且-j ACCEPT表示规则为允许,可以省略不写,因为INPUT链默认是允许规则

-D表示删除规则

-R表示替换规则,写明替换第几条

-F表示清空规则,但是不清空计数器的结果,使用-Z清空计数,可以用来计算速率




防火墙策略匹配条件分为基本条件与扩展条件:
1.基本条件:不需要加载模块
-s:源IP地址或范围,逗号分隔离散地址,冒号分隔连续地址
-d:目标IP地址或范围
!:表示取反

-p表示拒绝特定的协议,像icmp(ping命令)

-i表示设定数据包流入的接口,像eth0、eth1

2.扩展条件:分为隐式扩展和显式扩展
(1)隐式扩展:不必指定模块名,系统自动寻找(so之前的文件名即为模块名):像tcp协议和udp协议的扩展
例如,tcp协议的目标端口为80,经过此端口作为目标端口的全部拒绝

(2)显式扩展:-m加模块名:有multiport、iprange、mac、string、time、connlimit等模块
例如,拒绝ssh和http服务的访问,拒绝80与22端口,中间用逗号隔开,multiport模块可以指定多个端口,离散值用逗号隔开,连续范围用冒号(80:8080)



  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值