防火墙相关概念
安全技术
1)入侵检测与管理系统(Intrusion Detection Systems ):
特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报告和事后监督为主,提供有针对性的指导措施和安全决策依据,一般采用旁路部署方式
2)入侵防御系统(Intrusion Prevention System ):
以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以阻断,主动而有效的保护网络的安全,一般采用在线部署方式
3)防火墙( FireWall ):
隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略
linux系统上的三种安全防范手段
1)包过滤防火墙:如iptables
2)应用程序防火墙:主要针对应用层服务来进行安全访问控制,如TCP Wrappers
3)代理服务器防火墙:通过代理服务器来分析使用者的ip来源是否合法,以及想要访问的资源是否合法等,通常情况为代理服务器来代理内部主机访问互联网,代理软件有squid、nginx等。
防火墙及其分类
防火墙就是通过制定一些有顺序的规则,来管理所负责的范围内的主机数据封包的一种机制,通过防火墙我们能够分析与过滤进出主机或者网络的封包数据,从而将不安全的因素的数据包隔离到安全区域之外。
1)
主机防火墙:服务范围为当前主机,主要是在主机上安装一些防火墙软件来保护系统的网络安全。
网络型防火墙:服务范围为防火墙一侧的局域网,主要是通过一些专业的硬件防火墙设备来提供封包数据的过滤。
2)
硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,Checkpoint,NetScreen
软件防火墙:运行于通用硬件平台之上的防火墙的应用软件
3)
按照工作层次划分:
1.网络层防火墙:OSI下面第三层
1》又称包过滤防火墙
2》在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表(ACL),通过检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等因素,或他们的组合来确定是否允许该数据包通过
3》优点:对用户来说透明,处理速度快且易于维护
4》缺点:无法检查应用层数据,一旦黑客突破防火墙,就可以轻易地伪装数据包的源地址,目的地址和ip端口号,即进行ip地址伪装。如病毒等
2.应用层防火墙/代理服务器(Proxy Service):代理网关,OSI七层
1》将所有跨越防火墙的网络通信链路分为两段。
当代理服务器接收到用户对某个站点的访问请求后会检查该请求是否符合控制规则,若规则允许,则代理服务器会替用户去那个站点取回所需信息,转发给用户。
2》内外网用户的访问都是通过代理服务器上的“链接”来实现,从而起到了隔离防火墙内外计算机系统的作用。
3》优点:在应用层对数据进行检查,比较安全
4》缺点:增加防火墙的负载
3.实际上:
现实生产环境中所使用的防火墙一般都是网络和应用层防火墙的二者结合体,即先检查网络数据,通过之后再送到应用层去检查
防火墙的工作
当数据包进入主机时先通过防火墙、服务器软件程序、SELinux与文件系统等进行安全检测,判断该数据包中的操作是否被允许。
其中防火墙是第一步,就相当于家庭院子中的大门,只有进入大门后才能进一步的访问家中的资源,如果没有钥匙或其他不能从门进入的话,那只能FQ了。
防火墙可以限制主机中的服务只能在特定来源主机上访问,也可以限制主机本身可以访问外部那些资源,甚至还可以通过TCP状态检测来判断客户端是否向我们发起了网络攻击,进而根据制定的规则予以抵挡防御。
防火墙框架
1)防火墙框架是一种机制:
凡是到达本机内部来的数据包都将其按照某种规则进行转发;
凡是要从本机内部出去的将其按照另外一种规则进行转发;
另外凡是经过本机转发的我们按照对应的转发规则进行转发。
2)防火墙的框架
就是在内核的TCP/IP协议栈中精心设置几个卡点,对于数据包必流经的位置设置几个钩子函数,这些卡点位置就是进出口,钩子函数就是把到来数据钩起来然后进行规则匹配,匹配通过的就对数据进行放行,匹配不通过的就直接扔掉。
卡点共五个:
1》内存空间中:从一个网络接口进来,到另一个网络接口出去的。
2》数据包从内核流入用户空间的。
3》数据包从用户空间流出的。
4》进入或离开本地的外网接口。
5》进入或离开本地的内网接口。
防火墙的NET(网络地址转换)功能
通过NET功能,我们可以对数据包进行一些修改,如重新封装目标地址、源地址或目标端口、源端口,通过这些修改来改变原来数据包的身份从而到达把数据包送到想要送到的地方。
linux系统上的防火墙
1)是由iptables和netfilter组成,其中iptables是规则的制定工具,netfilter组件是内核空间,netfilter在内核协议中定义了5个卡点的位置,并在这5个位置通过钩子函数对进出的数据包进行过滤,从而达到防火墙的功能。
2)iptables工具工作在用户空间,它可以制定一些规则然后送达内核空间,然后结合netfilter组件的钩子函数及处理方法对数据包进行放行或者拒绝处理。
3)防火墙工具:
iptables
命令行工具,工作在用户空间
用来编写规则,写好的规则被送往netfilter组件,告诉内核如何去处理信息包
firewalld
CentOS 7 引入了新的前端管理工具
firewall-cmd 命令行
firewall-config 图形化