2019/05/15 Linux防火墙01

在这里插入图片描述
iptables是默认linux实现防火墙的工具
在centos7上有个更强大的firewalld

在这里插入图片描述
入侵监测 IDS
入侵防御 IPS
防火墙fw

入侵监测 IDS 检查发现是否有入侵行为,并不起到隔断的作用,事后报告的作用,一般采用旁路部署
分析网络中用户发送来的请求,监听是否有黑客攻击的行为

在这里插入图片描述
在这里插入图片描述

入侵防御 IPS 一旦发现有黑客攻击行为,就进行阻断,要采取在线部署的方式
在这里插入图片描述
国内做安全比较有名的,绿盟,启明星辰在这里插入图片描述
防火墙也是起到隔离作用,防止互联网用户随意侵入内部系统
在这里插入图片描述
在这里插入图片描述
防火墙内部出去回来就不受限制,一般都有状态跟踪功能,外面主动发起请求回应的就会被防火墙拒绝访问
防火墙是防止企业内部和外部之间不安全通讯的
防水墙就是在企业内部做一些限制,比如插入优盘什么的

在这里插入图片描述
判断你上网的行为是否合法是否 和工作相关,可以监控你的qq聊天记录,但是qq协议是号称加密的
在这里插入图片描述
防火墙都是基于linux内核开发的
在这里插入图片描述
说白了就是小的cpu,小的内存跑一个linux系统
在这里插入图片描述
删除用户
在这里插入图片描述
在这里插入图片描述
linux本身就可以实现防火墙功能,一些深层次的功能,二次开发下就好
从理论上来讲,硬件防火墙也没有什么奇怪的地方,要做好,底层的TCP/IP协议应用要非常精通,每一个协议的细节都要非常了解

在这里插入图片描述
**主机防火墙只是保护这一台电脑
网络防火墙,保护的不是一个主机,而是一个网络(一般都是拿硬件实现的,有一些软件防火墙也可以,微软早期有一个防火墙产品isa,更老版本叫proxy)
一般的国内的硬件防火墙都是基于linux内核开发的
内核是基于GPL法律约定的(这种约定就是你只要用我的源码就要开放你自己的源代码,发布了就有些不怎么安全)但是国内的问题不大
**在这里插入图片描述
网络防火墙关心的是一些底层的,比如ip,mac地址,tcp/udp端口号,换句话说,只要走特定的底层应用,可以根据底层的ip地址来做控制,或者可以访问tcp,http协议可以,80端口给你访问,如果走的是tcp22端口就不让你访问,如果都是tcp的80,就做不到拒绝,URL不一样,如果study不能访问,那么网络防火墙是做不到的,因为这个是属于应用层的
在这里插入图片描述
将来想要限制一下QQ的登录,比如工作中不允许上QQ,拿就分析一下QQ这个软件用的什么协议,用什么端口号,UDP,8000(一般企业都回封的,不让上,所以腾讯开了tcp的443 https://)
如果掐ip地址来杜绝登录qq,但是qq服务器隔断时间会变化的,所以用网络防火墙是很难做到的,就需要用到应用层,
应用层可以看到只要带有www.tencent.com的数据包就给掐了
以前微软的isa server就可以掐,看你的数据报文中是否带有腾讯的签名

在这里插入图片描述
应用层的防火墙不仅起到防火墙的功能还起到代理服务器的功能,一般指的都是正向代理功能
在这里插入图片描述
正向代理离客户端近,反向代理离服务器近
一个企业内部上网与互联网之间配置一个正向代理服务器,大家只要上网就通过正向代理服务器,通过这个代理服务器上网能起到一个控制作用,可以控制能访问哪些资源,哪些不能访问;还有个功能就是起到一个加速访问的效果,因为可以把互联网上的资源缓存到代理服务器上,

反向代理服务器,一般起到调度的效果,把企业从互联网发送过来的i请求,调度到后端提供 服务的web服务器或者特定的服务器上去
在这里插入图片描述
网络防火墙一般应用在包级别(也就是只要引用在数据链路层,网络层以及传输层)在往上应用层就做不到了,比如说病毒分析不出来,一个数据包传过来以后,走http协议,假设这是个病毒文件,网络层的防火墙不能知道这是个病毒,因为网络层的防火墙顶多看看ip地址端口号,tcpudp协议,mac地址等,里面传什么东西就不认识了,而且一个病毒有可能是比较大的,假设一个病毒文件时1M,这个病毒文件真正传过来,mtu最多时1500字节,就会把这个1M文件进行切片,而网络层的防火墙只是检查一个一个包,肯定分辨不出病毒,
所以网络防火墙相对来讲比较弱,功能单一,但是优点是速度块(不去分析应用层的具体协议,不去分析对内层的东西,应用层的封装是在最里面的,应用层先封装,封装以后到达传输层,传输层用tcp协议封装,再用ip协议封装,再去封装以太网帧),易于维护

顶多分析到这,不往里面拆了,分析的东西少了,就速度快了
在这里插入图片描述
在这里插入图片描述
应用层的防火墙就全部识别,既然拆得多,那就是功能较大,但是速度会相比较慢
因为每个包都要分析,而且需要把包组合起来,看看是不是病毒

在这里插入图片描述
在这里插入图片描述
生产中遇到的防火墙可能两种都有,结合在一起,不仅可以分析应用层的数据,也可以分析下面底层一点的地址,或是端口
在这里插入图片描述
在linux内核级就有防火墙的功能
有个组建Netfilter,有了这个才具有了防火墙的功能

在这里插入图片描述
这个文件可以定义哪些功能需要编译到内核里,有些是模块,有些是放到内核里
在这里插入图片描述
在这里插入图片描述
/lib/modules里的是模块
这些是放在内核中的

在这里插入图片描述
在编译i内核的时候到底哪些功能启用,哪些不启用功能,如果功能要启用的话,是放在lib/modules,还是内核里是由一个配置文件决定的
在这里插入图片描述
在这里插入图片描述
之前为了让linux内核支持NTFS功能就重新编译了一下内核
在这里插入图片描述
关于防火墙就在这里面,m代表以模块方式
在这里插入图片描述
确实防火墙功能已经启用 了,但是是以模块方式提供的
在这里插入图片描述
linux内核中放置了5个hook(勾子)function,钩子函数是做什么的,这5个钩子是和防火墙相关的,可以理解为5个触发器,(钩子始终监控你对内核操作,一旦发现某个条件满足了,就钩住你,触发一个动作),这个5个函数分别叫input,output,foward,prerouting,postrouting,分别处于内核的不同位置,在内核,你要传输哪些数据,就要在哪些地方设置关卡

在这里插入图片描述

1.数据发给你本机程序使用
2.把自己电脑配置成路由器了,数据穿过你的电脑到达另外一台机器
3.自己也可能访问别人
知道了数据的三个流向,那么设置关卡怎么设置
1.一个总关卡设置在路由表的前面
2.总出口也需要设置一个关卡
3.数据发送给自己的需要设置一个关卡
4.本人访问出去的也需要设置关卡
5.路过也需要设置关卡,出来也要检查路由表

在这里插入图片描述
prerouting 路由前和postrouting 路由后
在这里插入图片描述
将来这5个检查哨可以各自定义自己的规则,一般满足需求,没有必要重复性地定义安全规则
比如想要拒绝一个ip地址访问本机的http服务
在input上设置最有意义
路由前设置,因为不确定这个数据包是不是经过你

在这里插入图片描述
如果这个是个路由,想要设置不让你访问优酷,应该在forward,prerouting路由前也能起到这个作用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
内核里叫钩子,用户敲命令配置用的工具,对应这个5个钩子名称是不一样的,叫链chain
在这里插入图片描述
还有4个表,4表5链
在这里插入图片描述
在这里插入图片描述
在linux里要想实现防火墙功能,就需要通过一些防火墙对应的软件工具,在centos7上有两种方式,一种是iptables,和firewalld
在这里插入图片描述
在这里插入图片描述
**所谓4个表分别是filter、nat、mangle、raw
filter表主要是过滤,比如之前过滤哪个IP地址访问,不满足需要就不让它通过
nat表,地址转换(不仅是把数据报文传过去,而且还把数据报文进行修改了,数据报文在传输过程中,以太网有以太网的帧头部,有ip头部,有tcp头部,udp头部,还有应用层的报文头部,在传输中可能以太网帧头部的mac地址会改变,但是通常不怎么会变,ip也会变,就需要用到nat表,把网络地址转换)
mangle改的是,下面一些位置的标记,修改报文的位置
**
在这里插入图片描述
(认为将来定义的安全规则,如果是http的和https,想把这两种逻辑组合在一起,叫web协议,可以给这两个协议打标签,只要认为是10标签的都认为是一个协议)打标签就需要用到mangle
在这里插入图片描述
raw是关闭nat表上的链接跟踪功能,加快访问速度的,防火墙出去可以,别人进来不行,但是你出去返回的就可以,就是用了防火墙的跟踪功能
在这里插入图片描述
平时filter表用的更多一些
如果在4个表上都定义了优先级,如果冲突,从高到底,raw优先级最高,filter最低

在这里插入图片描述
4个表和5个链式笛卡尔乘积的关系,有些表对应的里面,没又raw(缺少的)
在这里插入图片描述
nat表,centos6和centos7 不一样。,centos6没有这个input
下面是查filter对应的有几个链

在这里插入图片描述
查一下nat
在这里插入图片描述
在6上查一下
在这里插入图片描述
在这里插入图片描述
当数据报文发过来,第一个到达的是prerouting(raw表,mangle表,nat表),filter表没有prerouting链
经过检查,由input发到本地,
forward发到外面(只支持mangle表和filter表)
这个是数据报文的三个流向

在这里插入图片描述
就算只有一个网卡,也要决定这个网卡出,否则你不知道你的数据发往哪里 ,还有经过postrouting总出口
prerouting总入口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
iptables是一个客户端用户空间的工具包,并不是内核级,就是个应用程序,是一个用户使用的程序,内核里集成的防火墙叫netfilter,iptable只是个工具,netfilter才是防火墙
在这里插入图片描述
文件列表,扩展 了很多功能
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7上已经没有脚本概念是一个service
在这里插入图片描述
在这里插入图片描述
iptables在定义规则的时候,就是两大块,满足什么条件,,一匹配什么条件,而处理动作
条件有两种,
一种叫基本匹配, ip,端口,简单匹配
一种扩展匹配,(更复杂的,比如当你访问某一个时间段,上课时间允许,下课时间不允许,就可以通过扩展匹配来实现

在这里插入图片描述
处理动作叫target( 目标),当满足某个条件的时候,就用对应目标来处理,方式是跳转的意思
当满足什么条件了,就跳转到目标,这个目标由里面的处理动作来决定ACCEPT接收,DROP抛弃,REJECT拒绝(抛弃和拒绝虽然都是访问不了,但是还是不太一样,不去明确拒绝就是DROP,

在这里插入图片描述
规则要设置在哪里就要关联到某一个链上

在这里插入图片描述
在这里插入图片描述
**4表5链, t 是table的意思 -A(表示增加的意思,在原有规则最后增加)指定input链(这个图上input应该是大写INPUT
-s是源地址,当你是这源地址,-j就是跳跃,跳跃到一个target上去drop
只要从192.168.0.1 地址发过来的请求,就抛弃拒绝,由于没有定义其他的信息,就意味着不管什么ping,ssh,ftp还是其他访问请求都拒绝,只要访问就全部拒绝
**
现在做下测试,都可以进行访问在这里插入图片描述
在这里插入图片描述
查看现有规则
在这里插入图片描述
现在添加过滤。不写就是默认filter表,-A表示增加,input表示记录,-s源,-jdrop抛弃,可以加一个编号
在这里插入图片描述
在这里插入图片描述
1个被drop掉了
在这里插入图片描述
但对于cen’to’s6来讲是看不出来是被拒绝了
在这里插入图片描述
也可以直接改成 REJECT拒绝
如果有多条规则,是按照顺序来检查的,一旦满足直接生效,不会往下再看了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除第一条规则
在这里插入图片描述
这就是被拒绝的现象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
27是可以ping通的,第一条规则和第二条规则都不满足,默认是允许
在这里插入图片描述
想实现网段,统统被拒绝,这样windows机器连接也断了
在这里插入图片描述
只能本机操作
在这里插入图片描述
在这里插入图片描述
现在想要30.6可以访问,30.0网段访问不了,要想实现这个需求,iu需要把30.6条件写到前面去
在这里插入图片描述
就可以访问了
在这里插入图片描述
条件越严格苛刻的,越精确范围越小往前放,代表的主机越宽往后放
在这里插入图片描述
在这里插入图片描述
表,链,满足什么条件,就怎么样
在这里插入图片描述
不小心把自己提出来了,这是生产中容易遇到的问题,一般定义防火墙
先把系统默认的规则做一下备份(起码原来防火墙策略是可以连接上去的,然后定义一个计划任务,5分种以后还原旧的策略,然后再放心去改(at 命令)

在这里插入图片描述
centos要做干净的iptable策略需要stop防火墙服务,firewalld会变相再系统种添加很多iptable规则
在这里插入图片描述
在这里插入图片描述
这个关并不是没有防火墙功能了,是没有系统默认的规则了,内核防火墙功能是一直有的,不是失去了防火墙功能在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值