防火墙

时间:2024-02-01 21:12:11

Linux占用的系统资源少,运行效率高,具有很好的稳定性和安全性,作为一种网络操作系统,需要部署防火墙,将内网安全地接入到Internet中。CentOS7的防火墙已经用firewalld

替代iptables。firewalld提供一个动态的管理的防火墙。支持IPV4和IPV6防火墙设置。

防火墙技术可用于可信网络(内网)和不可信网络(外网)之间建立安全屏障

防火墙技术

防火墙的作用

人们通常在内网和外网之间安装防火墙,形成一个保护层,对进出所有的数据进行监测,分析,限制,并对用户进行认证。防止有害信息进入受保护的网络,保护其安全。内网和外网之间传输的所有数据都要经过防火墙检查,只有合法数据才能通过。

防火墙的最主要的目的是确保受保护网络的安全,但它只是一种网络安全技术,存在局限性,例如不能防范绕过防火墙的攻击,不能防止收到病毒感染的软件或文件的传输,以及收到木马的攻击等,难以避免来自内部的攻击

防火墙按照防护原理分为包过滤路由器,应用网关和状态检测的防火墙;按照防护范围分为网络防火墙和主机防火墙。网络防火墙主要用来保护内网计算机免受来自网络外部的入侵,但并能保护内部网络及算你免受其来自本身和内网计算机的攻击,主机防火墙主要用于主机面受攻击。

防火墙的配置方案

 一般来说,只有内网和外网连接时才需要防火墙,当然,在内部不同部门之间的网络有时也需要防火墙。嘴贱当的防火墙配置,就似乎最直接在内网和外网之间加一个包过滤路由器或者是应用网关

目前主要有以下3种防火墙配置方案

双宿主机网

屏蔽主机网关

屏蔽子网

双宿主机网关,这种配置一台配有两个网络接口的双宿主机做防火墙,其中一个网咯接口连接内网,另一个连接Internet。双宿主机又称堡垒机,用于运行防火墙软件。这种配置存在致命弱点,入侵者侵入堡垒机并使改主机具有路由功能后,任何网上用户均可访问内网。

屏蔽主机网关。屏蔽主机网关易于实现,安全性好,应用广泛,它又可以分为单宿型和双宿型两种类型。通常采用双宿型,堡垒主机有两块网卡,一块连接内网,一块连接包过滤路由器,双宿型堡垒机在应用层提供代理服务,这种方案组合应用网关和包过滤技术,安全性较高

屏蔽子网。这是最为复杂的防火墙体系,在内网和外网之间建立一个被隔离的子网,该子网和内网隔离,形成一个网络防御带,在其中安装应用服务器以发布公共服务。屏蔽子网又称周边网络或者非军事区

屏蔽子网又分为两种模式。一种是多防火墙屏蔽子网,最典型的是用两个包过滤路由器将屏蔽子网分别于内网分开,构成一个缓冲地带。内外网均可访问屏蔽子网,但禁止他们穿过屏蔽子网进行通信,具有很强的抗攻击能力,但需要设别多,造价高。另一种是更为经济实用的三宿主机屏蔽子网,一台防火墙主机共有三个网络接口,分别连接到内部专用网,屏蔽网络和外网。

网络地址转换

网络地址转换是一个IETE标准,工作在网络层和传输层,既能实现内网安全,又能提供共享上网服务,还可以将内网资源发布到Internet

NAT工作原理

NAT实际上是在网络之间对已经过的数据报进行地址转换后再转发的特殊路由器,要实现NAT,可将内网种的一台计算机设置为具有NAT功能的路由器,该路由器至少安装两个网络接口,其中一个网络接口使用合法的Internet地址接入Internet,称为公共接口,另一个网络接口与内网其他计算机连接使用合法的私有IP地址,称为专用接口。

NAT的网络地址转换是双向的,可以实现内网和外网双向通信,个人那句地址转换的方向,NAT可以分为两种类型,即内网到外网的NAT和外网到内网的NAT

内网到外网的NAT实现以下两个方面的功能

共享IP地址和网络连接,让内网计算机共用一个公网地址接入外网

保护网络安全,通过隐藏内网IP地址,使黑客无法直接攻击内网

端口映射(转发)技术

外网到内网的NATj用于从内网向外部用户提供服务,这是通过端口映射来实现的。端口映射将NAT路由器的公网IP和端口号映射到内网服务器的私有IP地址和端口号,来自外网的请求数据包到达NAT路由器,由NAT路由器将其转发后转发给内网服务器,内网服务器返回的应答数据包经过NAT路由器再次转换,然后传回给外网客户端。端口映射又称端口转换或目标地址的转换,如果公网端口与内网服务器端口相同,则往往称为端口转发。

Linux的防火墙架构

Linux内核包含一个强大的网络过滤子系统netfilter,这是构建防火墙的基础,是为了与netfilter进行交互配置和管理防火墙,Linux提供了软件iptables。在之前的CentOS版本中,  iptables是与内核netfilter子系统交互的主要方法。iptables命令不容易掌握,人们退出一个更为易用的交互软件firewalld,不过该工具底层调用的任然是iptables命令。iptables和firewalld的规则结构和使用方法有所不同。这些软件本身不具备防火墙公能,最终都是由内涵和的netfilter来履行规则,实现通信的过滤和防护

netfilter

netfilter位于网络层与防火墙内核之间,是Linux内核anq中的一个通用的架构,定义包过滤子系统功能的实现。

iptables

iptables是一个功能更十分强大的安全软件 ,可以用来构建防火墙,也可以被用NAT路由器,透明代理等。iptalbes是由ipchains和ipfwadm软件演变过来的,它只是由一个管理内核包过滤的工具,用来添加,删除和修改包过滤规则,而真正用来执行过滤规则的是netfilter及其他相关模块(如iptables模块和net模块)

 

firewalld

firewalld是一种比iptables更高级的与netfilter交互的工具,是一个可以配置和监控系统防火墙规则的系统守护进程。firewalld的主要特性如下

支持网络区域定义网络连接及接口安全等级,使防火墙更为灵活

提供一个动态管理的防火墙,可以动态修改单条规则。不需要重启整个防火墙便可应用更改,也就是没必要重载所有内核防火墙模块。而iptables防火墙模型是静态的,每次修改都要求防火墙完全重启,在修改了规则之后,必须全部刷新才可以生效。

提供D-Bus接口,用于服务和应用程序的防护墙设置。

具备对IPv4和IPv6防火墙设置的支持,还支持以太网桥

支持为服务或者应用程序直接添加防火墙规则,但是firewall守护进程无法解析t由iptables,ip6tables和ebtables命令行添加的防火墙规则

可以提供独立的运行时配置和永久性配置。使防火墙管理和测试更为容易

可以提供命令行工具和图形界面管理工具管理防火墙及规则

再同一个系统中不能同时运行firewalld和iptables,否则可能引发冲突

在使用上比iptables简单,用户无须掌握表链等概念和TCP/IP协议,就可以实现大部分防火墙的功能。