Linux深度攻略
上QQ阅读APP看书,第一时间看更新

1.7 防火墙配置

1.7.1 FirewallD防火墙简介

为增加系统安全性,Linux提供了防火墙保护功能。防火墙存在于计算机和网络之间,用于判断网络中的远程用户的访问权限。在RHEL 7系统中默认使用FirewallD防火墙。FirewallD提供了支持网络/防火墙区域定义网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。以前的Iptables防火墙是静态的,每次修改都要求防火墙完全重启。FirewallD可以动态管理防火墙,支持动态配置,不用重启服务。

通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略,来控制不同程度区域间传送的数据流。比如互联网是不可信任的区域,而内部网络是高度信任的区域。数据包进入到内核必须要通过区域,而不同的区域定义的规则是不一样的。可以根据网卡所连接的网络的安全性来判断:这块网卡的流量到底使用哪个区域。可以把这些区域想象成进入火车站的安检,不同的入口检测的严格度不一样。默认情况下,FirewallD防火墙的连接区域为public,public在公共区域内使用,指定外部连接可以进入内部网络或主机。

1.7.2 FirewallD防火墙配置

在Linux系统图形界面中,单击面板上的【应用程序】→【杂项】→【防火墙】,或在图形界面下的终端中输入firewall-config命令,打开图1.43所示的【防火墙配置】界面,默认使用public区域。

图1.43 打开【防火墙配置】界面

1.添加可信服务

在public区域中选择【服务】选项卡,在该页面上选择允许访问的可信服务,如dns、ftp、http等,防火墙在默认启用状态下只有dhcpv6-client和ssh可信服务。图1.44所示为勾选了http可信服务,这样一来,这台Linux主机上的Web网站就能被别的主机访问。

2.添加端口

如果需要添加的服务在【服务】选项卡内没有,那么只能通过添加允许让其他主机或网络访问的端口来实现。在public区域中选择【端口】选项卡,在该页面上单击【添加】按钮,打开图1.45所示的【端口和协议】对话框,输入端口和协议,协议有tcp和udp之分,然后单击【确定】按钮。

返回【端口】选项卡页面,如图1.46所示,已经添加了5801端口号(tcp协议),这样一来,在别的主机上就能访问这台Linux系统上端口号为5801的服务了。

图1.44 添加可信的服务

图1.45 添加端口和协议

图1.46 已经添加了新端口

3.伪装

在public区域中选择【伪装】选项卡,在该页面上选择【伪装区域】复选框,如图1.47所示,通过伪装方式可以将本地网络连接到互联网,这样本地网络将不可见。

图1.47 伪装

4.端口转发

在public区域中选择【端口转发】选项卡,在该页面上可以添加条目进行端口转发。单击【添加】按钮,打开【端口转发】对话框,指定来源的协议和端口,以及目标的IP地址和端口。如图1.48所示,将进入本机接口eno16777736的TCP协议80端口的数据包转发给主机192.168.0.5的80端口,设置完单击【确定】按钮。

图1.48 端口转发

添加端口转发之后,返回到图1.49所示的界面,可以看到端口转发条目。

图1.49 已经添加端口转发