文章目录
- 主要内容
- 一.管理网络安全
- 1.从workstation,测试对http://serverb.lab.example.com默认Web服务器的访问权限,以及对http://serverb.lab.example.com:1001虚拟主机的访问权限。
- 2.登录serverb,确定阻止访问Web服务器的原因。
- 3.将SELinux配置为允许httpd服务侦听端口1001/TCP。
- 4.从workstation,测试对http://serverb.lab.example.com默认Web服务器的访问权限,以及对http://serverb.lab.example.com:1001虚拟主机的访问权限。
- 5.登录serverb,确定是否为防火墙分配了正确的端口。
- 6.向public网络区域的永久配置中添加端口1001/TCP并确认配置。
- 7.从workstation,确认serverb.lab.examole.com的默认Web服务器是否返回SERVER B,而serverb.lab.example.com:1001的虚拟主机是否返回VHOST 1。
- 总结
主要内容
- 配置防火墙和SELinux设置,以允许访问serverb上运行的多个Web服务器。
本次实验案例用到的命令
命令 | 说明 |
---|---|
httpd | 用于托管网站和提供Web服务 |
sealert | 用于分析和解释SELinux(Security-Enhanced Linux)日志的工具 |
semanage | 用于管理SELinux策略的命令行工具 |
curl | 用于发送和接收HTTP请求 |
cmd | Windows操作系统中的命令提示符(Command Prompt)工具 |
permanent | 用于配置持久性规则的关键字 |
zone | 用于定义网络的安全区域 |
cmd:cmd是Windows操作系统中的命令提示符(Command Prompt)工具。它提供了一个命令行界面,允许用户通过输入命令来执行各种操作,如运行程序、管理文件和目录、配置系统等。cmd是Windows中常用的命令行工具,可以通过键入命令来与操作系统进行交互。
permanent:permanent是一个用于配置持久性规则的关键字。在Linux系统中,当使用防火墙管理工具(如iptables)配置规则时,可以选择将规则设置为permanent,以确保规则在系统重启后仍然生效。permanent关键字告诉防火墙管理工具将规则保存到永久性配置文件中,以便在系统重新启动时自动加载。
zone:zone是防火墙配置中的一个概念,用于定义网络的安全区域。在防火墙中,网络被划分为不同的区域,每个区域可以有不同的安全策略和访问控制规则。常见的区域包括内部网络、外部网络和DMZ(Demilitarized Zone)等。通过将网络设备和主机分配到不同的区域,并为每个区域定义适当的规则,可以实现对网络流量的细粒度控制和保护。防火墙软件(如iptables)可以根据源IP地址、目标IP地址、端口等条件将网络流量分配到不同的区域,并根据区域的安全策略进行处理。
一.管理网络安全
- 配置防火墙和SELinux设置,以允许访问serverb上运行的多个Web服务器。
前提:
某公司决定运行一个新Web应用。此应用侦听端口80/TCP和1001/TCP,此外,用于访问ssh的端口22/TCP也必须可用。您进行的所有更改都应在重新启动后任然有效。
1.从workstation,测试对http://serverb.lab.example.com默认Web服务器的访问权限,以及对http://serverb.lab.example.com:1001虚拟主机的访问权限。
代码如下(示例):
curl http://serverb.lab.example.com
curl http://serverb.lab.example.com:1001
2.登录serverb,确定阻止访问Web服务器的原因。
代码如下(示例):
ssh student@serverb //打开连接serverb的ssh会话
systemctl is-active httpd //确定httpd服务是否处于活动状态
sudo systemctl enable --now httpd //启用并启动httpd服务。(httpd服务无法启动)
systemctl status httpd.service //查询服务启动失败的原因
sudo sealert -a /var/log/audit/audit.log //检查SELinux是否在阻止httpd服务绑定到端口1001/TCP
3.将SELinux配置为允许httpd服务侦听端口1001/TCP。
代码如下(示例):
sudo semanage port -l | grep 'http' //查找正确端口类型
sudo semanage port -a -t http_port_t -p tcp 1001 //将端口1001/TCP绑定到http_port_t类型
sudo semanage port -l | grep '^http_port_t' //确认端口1001/TCP是否已绑定到http_port_t端口类型
sudo systemctl enable --now httpd //启用并启动httpd服务
systemctl is-active httpd; systemctl is-enabled httpd //验证httpd服务的运行状态
exit
4.从workstation,测试对http://serverb.lab.example.com默认Web服务器的访问权限,以及对http://serverb.lab.example.com:1001虚拟主机的访问权限。
代码如下(示例):
curl http://serverb.lab.example.com
curl http://serverb.lab.example.com:1001
5.登录serverb,确定是否为防火墙分配了正确的端口。
代码如下(示例):
ssh student@serverb
firewall-cmd --get-default-zone //验证默认防火墙区域是否已设置为public
sudo firewall-cmd --set-default-zone public //如果上一步未返回public作为默认区域,则使用该命令进行修正
sudo firewall-cmd --permanent --zone=public --list-all //确定public网络区域中列出的开放端口
6.向public网络区域的永久配置中添加端口1001/TCP并确认配置。
代码如下(示例):
sudo firewall-cmd --permanent --zone=public \
--add-port=1001/tcp //向public网络区域中添加端口1001/TCP
sudo firewall-cmd --reload //重新加载防火墙配置
sudo firewall-cmd --permanent --zone=public --list-all //确认配置
7.从workstation,确认serverb.lab.examole.com的默认Web服务器是否返回SERVER B,而serverb.lab.example.com:1001的虚拟主机是否返回VHOST 1。
代码如下(示例):
curl http:// serverb.lab.example.com
curl http://serverb.lab.example.com:1001
总结
以上是今天要讲的内容,学到了管理网络安全。
另外,还可参考:
管理服务器防火墙
控制SELinux端口标记