author:XiaoGua
os:ubuntu16.04
二、firewalld
在ubuntu系统中,firewalld默认是没有安装的firewalld,首先安装如下:
sudo su //切换到root身份
apt install -y firewalld //安装firewalld
1、firewalld支持动态更新技术
firewalld加入了区域(zone)的概念。
区域就是firewalld预先准备了几套放火墙策略集合(策略模板),用户可以根据不同的生产场景选择合适的策略集合,实现防火墙策略之间的快速切换。
2、firewalld的两种管理方式
firewalld是RHEL7默认的动态防火墙管理器,它拥有两种基于CLI(命令行)和GUI(图形用户界面)两种管理方式
firewalld配置的防火墙策略有运行模式(runtime)和永久模式(permanent)两种模式。默认为runtime
在firewall-cmd正常设置防火墙策略时添加--permanent参数,这样配置的防火墙策略可以永久生效了,使用永久生效,只有系统重启后才能自动生效。如果想让配置的策略立即生效,需要手动执行firewall-cmd --reload命令
3、runtime模式实验
1)、查看firewall服务当前所使用的区域
firewall-cmd --get-default-zone
2)、查询ens33在firewalld服务中的区域
firewall-cmd --get-zone-of-interface=ens33
3)、把firewalld服务中ens33默认区域改为external,并在系统重启后生效。分别查看当前和永久模式下的区域:
4)、把当前firewalld服务的当前区域设置为public
5)、启动/关闭firewallld防火墙服务的应急模式
6)、查询public区域是否允许请求SSH和HTTPS协议的流量
7)、请求HTTPS协议的流量设置为永久生效,并立即生效
8)、请求HTTP协议的流量设置为永久拒绝,并立即生效
firewall-cmd --permanent --zone=public --remove-service=http
firewall-cmd --reload
9)、把在firewalld服务中访问8080和8081端口设置为允许,立即生效
10)、把原本访问本机888端口的流量转发到22端口当前和永久生效
流量转发命令:firewall-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
三、firewalld的图形化工具
1、在商店搜索firewall,安装后进入firewall-configuration的界面:
2、添加一条防火墙规则,使其放行访问8080-8081端口(TCP协议)的流量,并将其设置为永久生效,
让配置的防火墙策略规则立即生效
开启防火墙的SNAT技术
配置本地的端口转发
让配置的防火墙策略规则立即生效
配置防火墙富规则策略
把网卡与防火墙策略区域进行绑定
补充:
TCP Wrappers是RHEL7中默认启用的一款流量监控程序,它能够根据来访主机的地址与本机的目标服务程序作出允许或拒绝的操作。
linux其实有两个层面的防火墙:
其一:基于TCP/IP协议的流量过滤工具
其二:TCP Wrappers服务是能允许或禁止Linux系统提供服务的防火墙,从而在更高层次保护Linux的安全
1、TCP Wrappers服务的防火墙策略
由两个控制列表文件来控制
用户可以编辑允许控制列表文件来放行对服务的请求流量,也可以编辑拒绝控制列表文件来阻止对服务的请求流量。
控制列表文件修改后立即生效,系统将会先检查允许控制列表文件(/etc/hosts.allow),如果匹配到相应的允许策略则放行流量,如果没有匹配,则进一步匹配到拒绝控制列表文件(/etc/hosts.deny)则拒绝该流量。如果这两个文件都没匹配到,则默认放行流量。
2、TCP Wrappers服务需要遵循的原则
1)、编写拒绝策略规则时,填写的是服务名称,而不是协议名称
2)、先编写拒绝规则,再编写允许策略规则,以便直观看到相应的效果