首先我们要配置好yum仓库,安装相关服务。
dnf install firewall-config
该工具的界面功能如下:
服务的访问控制列表1:选择运行时(Runtime)或永久(Permanent)模式的配置。
2:可选的策略集合区域列表。
3:常用的系统服务列表。
4:主机地址的黑白名单。
5:当前正在使用的区域。
6:管理当前被选中区域中的服务。
7:管理当前被选中区域中的端口。
8:设置允许被访问的协议。
9:设置允许被访问的端口。
10:开启或关闭SNAT(源网络地址转换)技术。
11:设置端口转发策略。
12:控制请求icmp服务的流量。
13:管理防火墙的富规则。
14:被选中区域的服务,若勾选了相应服务前面的复选框,则表示允许与之相关的流量。
15:firewall-config工具的运行状态。
TCP Wrapper是RHEL 6/7系统中默认启用的一款流量监控程序,它能够根据来访主机的地址与本机的目标服务程序做出允许或拒绝的操作。在RHEL 8版本中,它已经被firewalld正式替代。换句话说,Linux系统中其实有两个层面的防火墙,第一种是前面讲到的基于TCP/IP协议的流量过滤工具,而TCP Wrapper服务则是能允许或禁止Linux系统提供服务的防火墙,从而在更高层面保护了Linux系统的安全运行。
TCP Wrapper服务的防火墙策略由两个控制列表文件所控制,用户可以编辑允许控制列表文件来放行对服务的请求流量,也可以编辑拒绝控制列表文件来阻止对服务的请求流量。控制列表文件修改后会立即生效,系统将会先检查允许控制列表文件(/etc/hosts.allow),如果匹配到相应的允许策略则放行流量;如果没有匹配,则会进一步匹配拒绝控制列表文件(/etc/hosts.deny),若找到匹配项则拒绝该流量。如果这两个文件都没有匹配到,则默认放行流量。
由于RHEL 8版本已经不再支持TCP Wrapper服务程序,因此我们接下来选择在一台老版本的服务器上进行实验。TCP Wrapper服务的控制列表文件配置起来并不复杂,常用的参数如表所示。
客户端类型示例满足示例的客户端列表单一主机192.168.10.10IP地址为192.168.10.10的主机指定网段192.168.10.IP段为192.168.10.0/24的主机指定网段192.168.10.0/255.255.255.0IP段为192.168.10.0/24的主机指定DNS后缀.linuxprobe.com所有DNS后缀为.linuxprobe.com的主机指定主机名称www.linuxprobe.com主机名称为www.linuxprobe.com的主机指定所有客户端ALL所有主机全部包括在内在配置TCP Wrapper服务时需要遵循两个原则:
Cockpit编写拒绝策略规则时,填写的是服务名称,而非协议名称;
建议先编写拒绝策略规则,再编写允许策略规则,以便直观地看到相应的效果。
首先,Cockpit是一个英文单词,即“(飞机、船或赛车的)驾驶舱、驾驶座”,它用名字传达出了功能丰富的特性。其次,Cockpit是一个基于Web的图形化服务管理工具,对用户相当友好,即便是新手也可以轻松上手。而且它天然具备很好的跨平台性,因此被广泛应用于服务器、容器、虚拟机等多种管理场景。
dnf install cockpitsystemctl start cockpitsystemctl enable cockpit.socket
在Cockpit服务启动后,打开系统自带的浏览器,在地址栏中输入“本机地址:9090”即可访问。由于访问Cockpit的流量会使用HTTPS进行加密,而证书又是在本地签发的,因此还需要进行添加并信任本地证书的操作。进入Cockpit的登录界面后,输入root管理员的账号与系统密码,单击Log In按钮后即可进入。
进入Cockpit的Web界面,发现里面可谓“别有洞天”。Cockpit总共分为13个功能模块:系统状态(System)、日志信息(Logs)、硬盘存储(Storage)、网卡网络(Networking)、账户安全(Accounts)、服务程序(Services)、软件仓库(Applications)、报告分析(Diagnostic Reports)、内核排错(Kernel Dump)、SElinux、更新软件(Software Updates)、订阅服务(Subscriptions)、终端界面(Terminal)。
——————————————