题目要求

服务器AppSrv上的工作任务

4. WEB

安装 WEB 服务;

服务以用户 webuser 系统用户运行;

限制 web 服务只能使用系统 500M 物理内存;

全站点启用 TLS 访问,使用本机上的“CSK Global Root CA”颁发机构颁发,网站证书信息如下:

C = CN

ST = China

L = BeiJing

O = skills

OU = Operations Departments

CN = *.chinaskills.cn

客户端访问 https 时应无浏览器(含终端)安全警告信息;

当用户使用 http 访问时自动跳转到 https 安全连接;

搭建 www.chinaskills.cn 站点;

网页文件放在 StorgeSrv 服务器上;

在 StorageSrv 上安装MriaDB,在本机上安装 PHP,发布 WordPress网站;

MariaDB 数据库管理员信息:User: root/ Password: Chinaskill21!

创建网站 download.chinaskills.cn 站点;

仅允许 ldsgp 用户组访问;

网页文件存放在 StorageSrv 服务器上;

在该站点的根目录下创建以下文件“test.mp3, test.mp4, test.pdf”,其中 test.mp4 文件的大小为 100M,页面访问成功后能够列出目录所有文件;

安全加固,在任何页面不会出现系统和 WEB 服务器版本信息。

项目实施

实验所需压缩包(提取码S1Qk)

点击查看视频解析

安装httpd软件包:

[root@appsrv ~]# yum install httpd mod_ssl -y

编辑配置文件:

[root@appsrv ~]# vim /etc/httpd/conf/httpd.conf
 66 User webuser
 67 Group webuser

创建系统用户:(使用-r表示创建系统用户)

[root@appsrv ~]# useradd -r webuser

备份默认访问页:

[root@appsrv ~]# cd /etc/httpd/conf.d/
[root@appsrv conf.d]# mv welcome.conf welcome.conf.bak

编辑网页文件:

[root@appsrv conf.d]# cat vhost.conf
<Virtualhost *:80>
servername www.chinaskills.cn
Redirect 302 / https://www.chinaskills.cn
</Virtualhost>

<Virtualhost *:443> 
servername www.chinaskills.cn
Documentroot /webdata/wordpress
<Directory /webdata/wordpress>
require all granted
</Directory>
sslengine on
sslcertificatefile /csk-rootca/apache.crt
sslcertificatekeyfile /csk-rootca/apache.key
</Virtualhost>

<Virtualhost *:443> 
servername download.chinaskills.cn
Documentroot /webdata/download
<Directory /webdata/download>
Options Indexes
authname "download"
authtype basic
authuserfile "/var/passwd"
require valid-user
</Directory>
sslengine on
sslcertificatefile /csk-rootca/apache.crt
sslcertificatekeyfile /csk-rootca/apache.key
</Virtualhost>
[root@appsrv conf.d]#

创建download目录并创建文件设置大小:

[root@appsrv ~]# mkdir /webdata/download/
[root@appsrv ~]# cd /webdata/download
[root@appsrv download]#  touch test.mp3
[root@appsrv download]# touch test.pdf
[root@appsrv download]# dd if=/dev/zero of=test.mp4 bs=100M count=1

网络系统管理Linux环境——AppSrv之WEB_服务器

创建用户并设置密码:

[root@appsrv ~]# useradd zsuser
[root@appsrv ~]# useradd lsusr
[root@appsrv ~]# useradd wuusr
[root@appsrv ~]# htpasswd -c /var/passwd lsusr
[root@appsrv ~]# htpasswd -c /var/passwd zsusr
[root@appsrv ~]# htpasswd -c /var/passwd wuusr

限制内存500M:

[root@appsrv ~]# vim /etc/systemd/system/multi-user.target.wants/httpd.service
# 添加
menmorylimit=500M

NFS挂载查看,如未配置点击跳转NFS配置

[root@appsrv ~]# mount -a | grep /webdata

上传压缩包到root目录下,并解压到/webdata目录下:

[root@appsrv ~]# yum install unzip -y
[root@appsrv ~]# ls
anaconda-ks.cfg  roundcubemail-1.3.8-complete.tar.gz  wordpress-4.9.4-zh_CN.zip
[root@appsrv ~]#
[root@appsrv ~]# unzip -q wordpress-4.9.4-zh_CN.zip
[root@appsrv ~]# tar -xf roundcubemail-1.3.8-complete.tar.gz
[root@appsrv ~]# mv wordpress /webdata/
[root@appsrv ~]# mv roundcubemail-1.3.8 roundcubemail
[root@appsrv ~]# mv roundcubemail /webdata/

/webdata/ 目录及其所有子目录和文件的所有者(owner)和所属组(group)都修改为 webuser,并且使用递归(-R)方式操作,以确保所有子目录和文件都被修改。

[root@appsrv ~]# chown webuser:webuser /webdata/ -R

证书传入客户端:

[root@appsrv ~]# scp /csk-rootca/csk-ca.pem root@192.168.0.190:/root
root@192.168.0.190's password:
csk-ca.pem            100% 1383     1.1MB/s   00:00
[root@appsrv ~]#

客户端导入证书:

[root@insidecli ~]# cp -a csk-ca.pem /etc/pki/ca-trust/source/anchors/
[root@insidecli ~]# cd /etc/pki/ca-trust/source/anchors/
[root@insidecli anchors]# update-ca-trust csk-ca.pem
[root@insidecli anchors]# reboot

StorageSrv 服务器上配置数据库:

安装数据库并启动:

[root@storagesrv ~]# yum install mariadb-server -y

[root@storagesrv ~]# systemctl enable mariadb.service --now
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@storagesrv ~]# 

--now: 这个选项用于在启用服务的同时立即启动它,而不需要等待下一次系统启动。
通常,启用服务只会在下一次系统启动时生效,但使用 --now 选项可以立即启动服务。

创建wordpress数据库:

[root@storagesrv ~]# mysql

MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on wordpress.* to root@"%" identified by "ChinaSkill23!";
Query OK, 0 rows affected (0.00 sec)
[root@storagesrv ~]# 
[root@storagesrv ~]# 

grant all: 这表示你正在授予用户 root 所有权限。

on wordpress.*: 这表示你正在将权限授予 wordpress 数据库中的所有表(* 表示通配符,匹配所有表)。

to root@"%": 这表示你将授予权限给用户 root,允许该用户从任何主机(% 是通配符,匹配所有主机)连接到数据库。

identified by "ChinaSkill23!": 这部分用于设置用户 root 的密码,密码为 "ChinaSkill23!"。

网络系统管理Linux环境——AppSrv之WEB_ci_02

AppSrv 启动apache:

安装php:

[root@appsrv ~]# yum install php php-fpm php-mysql -y

启动apache:

[root@appsrv ~]# systemctl restart httpd

客户端进行访问   https://www.chinaskills.cn

网络系统管理Linux环境——AppSrv之WEB_ci_03

网络系统管理Linux环境——AppSrv之WEB_ci_04

网络系统管理Linux环境——AppSrv之WEB_服务器_05

网络系统管理Linux环境——AppSrv之WEB_vim_06

客户端进行访问   https://download.chinaskills.cn

网络系统管理Linux环境——AppSrv之WEB_vim_07

网络系统管理Linux环境——AppSrv之WEB_vim_08

评分标准

(1) 安装 apache2(执行指令: systemctl status httpd) ; 【1 分】 

评分要点:

httpd 服务征程运行“active(running)

网络系统管理Linux环境——AppSrv之WEB_vim_09

(2) 网站根目 录(在 appsrv 上执行指令: cat /etc/fstab | grep webdata; 然后使用 vim 查看 wordpress 站点的 wp- config.php 配置内容) ; 【5 分】

评分要点:

cat /etc/fstab | grep webdata 能看到挂载源为 192. 168. 100. 200: /webdata, 挂载点为 /webdata 得 2 分;wordpress 配置文件每个标记点匹配得 1 分

网络系统管理Linux环境——AppSrv之WEB_vim_10

网络系统管理Linux环境——AppSrv之WEB_vim_11

(3) 运行用户 (appsrv 上执行 id webuser && ps aux | grep webuser) ; 【2 分】 

评分要点:

在 appsrv 上执行: id webuser && ps aux | grep webuser, webuser 的 uid 需要小于 1000, 大于 1000不得分。 显示 httpd 的进程由 webuser 运行。 每个点 1 分

网络系统管理Linux环境——AppSrv之WEB_服务器_12

(4) 限制内存(在 appsrv 上执行: cat /etc/systemd/system/multi-user.target.wants/httpd.service | grep memory) ;【2 分】

评分要点:

存在下图标记的配置即可得分

网络系统管理Linux环境——AppSrv之WEB_服务器_13

(5) www 网页内容(在 insidecli 上使用浏览器访问 www.chinaskills.cn 站点, 打开终端输入 hostname 后, 一起截图) ; 【4 分】

评分要点:

显示出 wordpress 主页面, 得 4 分; URL 中小锁必须为绿色, 不为绿色本题都不得分, 如果不携带 hostname或者 hostname 不是 insidecli 扣 2 分

网络系统管理Linux环境——AppSrv之WEB_ci_14

(6) download 网站身份认证及网站内容【4 分】 

评分要点:

(1) 在 insidecli 上输入 download. chinaskills. cn 网址, 弹出输出用户名和密码框; 【1 分】  

(2) 输入LDAP 上设置的三个用户中的一个 zsuser/ lsusr/ wuusr 和相应的密码, 成功登录该网站; 【1 分】  

(3) download 站点页面列出目录文件, 存在 test. mp3\test. mp4\test. pdf 文件, 其它多余文件不作判断; 【1 分】

 且 test. mp4 文件大小为100M。 【1 分】  

注意 download 页面也要有一个绿色的锁, 没有的话本题不得分。 如果不携带 hostname 或者 hostname 不是insidecli 扣 2 分

网络系统管理Linux环境——AppSrv之WEB_服务器_15

(7) 证书信息; 【4 分】

评分要点:

在 insidecli 上使用浏览器访问 www. chinaskills. cn 站点后, 打开证书, 查看证书使用者信息。 , 证书使用者信息需要严格匹配。 两个证书的信息和下图中标记严格匹配即可。 每个证书匹配得 2 分, 共 4 分

网络系统管理Linux环境——AppSrv之WEB_服务器_16

网络系统管理Linux环境——AppSrv之WEB_ci_17

(8) 无证书警告(在 insidecli 上执行: curl -I https://www.chinaskills.cn) ; 【2 分】 

评分要点:

curl 指令不允许使用-k 参数, 访问 https 站点不提示任何的证书提示信息

网络系统管理Linux环境——AppSrv之WEB_服务器_18

(9)http 跳转 https(在 insidecli 上执行:curl -I http://www.chinaskills.cn);【2 分】

评分要点:

能看到 Location:https://www.chinaskills.cn

网络系统管理Linux环境——AppSrv之WEB_vim_19

(10) 不显示非安全系统信息;【1 分】 

评分要点:

download 站点的任何页面不存在任何的系统版本以及 web 服务器的版本信息

网络系统管理Linux环境——AppSrv之WEB_vim_20