Top

  1. su 身份切换控制
  2. sudo 提权控制
  3. 部署 DZ 论坛代码
  4. 安装 DZ 论坛系统
  5. 管理及使用 Web 系统
  6. 数据库服务配置加固
  7. Web 服务配置加固

1 su 身份切换控制

1.1 问题

本例要求掌握 su 身份切换操作,并学会控制 su 使用权限。

首先,由普通用户 student 测试 su 操作

1)检查 pam_wheel 限制是否启用

2)尝试 su - 切换为 root,在 openEuler 中默认被拒绝

然后,配置允许用户 student 使用 su 命令(去掉限制),再验证效果

1)把用户 student 加入 wheel 组

2)再次由普通用户 student 测试 su 操作,可成功切换到用户 root

1.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:由普通用户 student 测试 su 操作

1)检查 pam_wheel 限制是否启用

在 openEuler 20.03 系统中,pam_wheel.so 限制模块默认已经启用(行首的 #号已删除)。

  1. 1. \[student@svr203 ~\]$ vim /etc/pam.d/su
  2. 2. .. ..
  3. 3. auth required pam_wheel.so use_uid

2)尝试 su - 切换为 root,在 openEuler 中默认被拒绝

  1. 1. \[student@svr203 ~\]$ su -
  2. 2. 密码:
  3. 3. su: 拒绝权限
  4. 4. \[student@svr203 ~\]$

步骤二:配置允许用户 student 使用 su 命令(去掉限制),再验证效果

1)把用户 student 加入 wheel 组

如果希望用户 student 能够使用 su 命令,需要把这个用户加入到 wheel 组,可以参考以下操作。

  1. 1. \[root@svr203 ~\]\# gpasswd -a student wheel
  2. 2. 正在将用户“student”加入到“wheel”组中

2)再次由普通用户 student 测试 su 操作,可成功切换到用户 root

  1. 1. \[student@svr203 ~\]$ su -
  2. 2. 密码:
  3. 3. 上一次登录: 6 2 14:14:46 CST 2021 192.168.10.1 pts/1
  4. 6. Welcome to 4.19.90-2012.5.0.0054.oe1.x86_64
  5. 8. System information as of time: 2021 06 02 星期三 14:15:11 CST
  6. 10. System load: 0.19
  7. 11. Processes: 165
  8. 12. Memory used: 30.3%
  9. 13. Swap used: 0.0%
  10. 14. Usage On: 7%
  11. 15. IP address: 192.168.10.203
  12. 16. Users online: 4
  13. 19. \[root@svr203 ~\]#

2 sudo 提权控制

2.1 问题

本例要求掌握 sudo 提权控制的相关用法。

首先,要学会配置 sudo 授权:

1)禁止 wheel 组的用户使用 sudo 执行提权操作

2)允许用户 zy 通过 sudo 执行任何命令

其次,要熟悉通过 sudo 执行授权命令的方法:

1)切换为用户 zy,查看自己的 sudo 权限

2)由用户 zy 通过 sudo 方式创建一个目录 /zydir,确认结果

另外一方面,学会检查 sudo 操作记录:

1)启用 sudo 操作日志,记录到文件 /var/log/sudo

2)先由 zy 执行一些 sudo 操作,再通过 /var/log/sudo 文件跟踪结果

2.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:配置 sudo 授权

执行 visudo 命令,会自动进入 sudo 授权配置界面,参考下列内容添加配置。

  1. 1. \[root@svr203 ~\]\# visudo
  2. 2. .. ..
  3. 3. #%wheel ALL=(ALL) ALL
  4. 4. zy ALL = ALL

步骤二:使用 sudo 授权

1)切换为用户 zy,查看自己的 sudo 权限

如果没有 zy 用户,注意要先添加 zy 用户,并设置好密码:

  1. 1. \[root@svr203 ~\]\# useradd zy
  2. 2. \[root@svr203 ~\]\# passwd --stdin zy
  3. 3. .. ..

切换为 zy 用户:

  1. 1. \[root@svr203 ~\]\# su - zy
  2. 2. \[zy@svr203 ~\]$

查看用户自己的 sudo 授权:

  1. 1. \[zy@svr203 ~\]$ sudo -l
  2. 2. \[sudo\] zy 的密码:
  3. 3. 匹配 %2$s %1$s 的默认条目:
  4. 4. !visiblepw, always\_set\_home, match\_group\_by_gid, always\_query\_group_plugin,
  5. 5. env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
  6. 6. env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC\_ADDRESS LC\_CTYPE",
  7. 7. env_keep+="LC\_COLLATE LC\_IDENTIFICATION LC\_MEASUREMENT LC\_MESSAGES",
  8. 8. env_keep+="LC\_MONETARY LC\_NAME LC\_NUMERIC LC\_PAPER LC_TELEPHONE",
  9. 9. env_keep+="LC\_TIME LC\_ALL LANGUAGE LINGUAS \_XKB\_CHARSET XAUTHORITY",
  10. 10. secure_path=/sbin\\:/bin\\:/usr/sbin\\:/usr/bin, logfile=/var/log/sudo
  11. 12. 用户 zy 可以在 svr203 上运行以下命令:
  12. 13. (root) ALL
  13. 14. \[zy@svr203 ~\]$

2)由用户 zy 通过 sudo 方式创建一个目录 /zydir,确认结果

  1. 1. \[zy@svr203 ~\]$ mkdir /zydir
  2. 2. 权限
  3. 3. mkdir: 无法创建目录"/zydir": 权限不够
  4. 5. \[zy@svr203 ~\]$ sudo mkdir /zydir
  5. 6. \[zy@svr203 ~\]$ ls -ld /zydir
  6. 7. drwxr-xr-x. 2 root root 6 4 25 11:20 /zydir

步骤三:检查 sudo 操作记录

1)启用 sudo 操作日志,记录到文件 /var/log/sudo

执行 visudo 命令,会自动进入 sudo 授权配置界面,参考下列内容添加配置。

  1. 1. \[root@svr203 ~\]\# visudo
  2. 2. .. ..
  3. 3. Defaults logfile=/var/log/sudo

2)先由 zy 执行一些 sudo 操作,再通过 /var/log/sudo 文件跟踪结果

比如,可以由 zy 用户执行以下操作。

  1. 1. \[zy@svr203 ~\]$ sudo mkdir /zydir
  2. 2. \[zy@svr203 ~\]$ sudo touch /zyfile
  3. 3. \[zy@svr203 ~\]$

当有用户通过 sudo 方式执行命令后,系统会记录相关消息到指定的日志文件。通过查看日志文件,可以了解用户执行命令的情况。

  1. 1. \[root@svr203 ~\]\# cat /var/log/sudo
  2. 2. Apr 25 17:05:09 : zy : TTY=pts/2 ; PWD=/home/zy ; USER=root ; COMMAND=/bin/mkdir
  3. 3. /zydir
  4. 4. Apr 25 17:05:28 : zy : TTY=pts/2 ; PWD=/home/zy ; USER=root ; COMMAND=/bin/touch
  5. 5. /zyfile
  6. 6. .. ..

3 部署 DZ 论坛代码

3.1 问题

本例要求将下载好的 Discuz! 论坛代码部署到 CentOS 7 虚拟机,注意其中 upload/ 子目录部署为 /var/www/html/bbs/ 。

然后,从 Web 浏览器访问 http:// 虚拟机 IP 地址 / bbs/install/ ,确认可以看到安装向导页面。

3.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:部署 Discuz! 论坛代码

1)下载及解包

提前下载好 Discuz! 论坛的代码包文件,比如 Discuz_X3.4_SC_UTF8.zip,通过 MobaXterm 工具将此文件上传到服务器的 /root/ 目录下,并在服务器上确认。

  1. 1. \[root@svr203 ~\]\# ls -lh /root/Discuz_X3.4\_SC\_UTF8.zip
  2. 2. -rw-r--r--. 1 root root 12M 6 14 21:19 /root/Discuz_X3.4\_SC\_UTF8.zip

使用 unzip 命令可以解压. zip 格式的压缩包。

  1. 1. \[root@svr203 ~\]\# unzip /root/Discuz_X3.4\_SC\_UTF8.zip
  2. 2. .. ..
  3. 3. \[root@svr203 ~\]\# ls
  4. 4. anaconda-ks.cfg Discuz_X3.4\_SC\_UTF8.zip LICENSE qqqun.png
  5. 5. readme readme.html upload utility

2)将论坛代码部署为 /var/www/html/bbs/,作为此站点的一个子目录

复制解压后的 upload / 子目录,部署为 /var/www/html/bbs。

  1. 1. \[root@svr203 ~\]\# cp -r upload/ /var/www/html/bbs
  2. 2. \[root@svr203 ~\]\# ls /var/www/html/bbs
  3. 3. admin.php archiver crossdomain.xml forum.php index.php member.php portal.php source uc_client
  4. 4. api config data group.php install misc.php robots.txt static uc_server
  5. 5. api.php connect.php favicon.ico home.php m plugin.php search.php template

3)确保 LAMP 平台已经运行

主要是 httpd、mariadb 服务,必要时可以重启一下

  1. 1. \[root@svr203 ~\]\# systemctl restart httpd mariadb
  2. 2. .. ..

4)确保防火墙已经关闭、SELinux 机制已经禁用

建议暂时停用防火墙、停用 SELinux 保护,避免因安全限制带来一些排错困扰。

  1. 1. \[root@svr203 ~\]\# systemctl disable firewalld --now
  2. 2. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  3. 3. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  4. 5. \[root@svr203 ~\]\# setenforce 0
  5. 6. \[root@svr203 ~\]\# vim /etc/selinux/config
  6. 7. SELINUX=permissive
  7. 8. .. ..

步骤二:访问 Discuz! 论坛安装页面

从浏览器访问 http://192.168.10.203/bbs/install/ ,确保可看到论坛安装页面,如图 - 1 所示,单击 “我同意” 按钮后可以进入后续安装过程。

CASE - 图1

图 - 1

4 安装 DZ 论坛系统

4.1 问题

本例以前一个案例部署的论坛代码为基础,从 Web 浏览器访问 http:// 虚拟机 IP 地址 / bbs/install/ 以后,根据网页提示完成 Discuz! 论坛系统的安装过程。

1)接受许可协议

2)调整好相关目录的访问权限

3)设置好数据库连接、管理员密码

4)其他步骤按默认即可

4.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:检查安装环境

单击底部 “我同意” 按钮,进入检查安装环境页面,如图 - 2 所示。此页面的最底部会显示“请将以上红叉部分修正再试”,无法继续。

CASE - 图2

图 - 2

步骤二:解决目录权限问题

根据页面说明,需先解决子目录权限的问题。

  1. 1. \[root@svr203 ~\]\# cd /var/www/html/bbs/
  2. 2. \[root@svr203 bbs\]\# chown -R apache config/ data/ uc_server/ uc_client/
  3. 4. \[root@svr203 bbs\]\# ls -ld config/ data/ uc_server/ uc_client/
  4. 5. drwxr-xr-x. 2 apache root 90 4 25 21:33 config/
  5. 6. drwxr-xr-x. 12 apache root 202 4 25 21:33 data/
  6. 7. drwxr-xr-x. 7 apache root 106 4 25 21:33 uc_client/
  7. 8. drwxr-xr-x. 13 apache root 241 4 25 21:33 uc_server/

重新返回浏览器显示的安装页面,按 Ctrl+F5 刷新网页,底部会出现下一步按钮,单击 “下一步” 继续。

步骤三:选择安装方式

接下来的设置运行环境接受默认的 “全新安装” 即可,如图 - 3 所示,单击下一步继续。

CASE - 图3

图 - 3

步骤四:设置数据库连接、后台管理密码

然后会进入到数据库设置页面,根据页面提示正确填写好数据库连接参数(MariaDB 的默认管理员为 root,密码为空),网站后台管理员默认为 admin,需要设置一下新密码(比如 1234567),如图 - 4 所示,再继续下一步。

CASE - 图4

图 - 4

步骤五:完成安装

等待安装程序写入数据库信息,完成相关安装操作,成功后页面底部会出现提示 “您的论坛已完成安装,点此访问”,如图 - 5 所示。

CASE - 图5

图 - 5

注意:安装程序会尝试连 Discuz! 官网,如果浏览器所在主机不能访问互联网,页面中会提示无法连接,忽略就行了。

5 管理及使用 Web 系统

5.1 问题

本例要求熟悉 Dicuz! 论坛的后台管理、前台论坛使用相关操作,完成下列任务。

1)管理 Discuz! 论坛系统

2)使用 Discuz! 论坛系统

  • 访问 http://192.168.10.203/bbs/ ,确认页面效果(logo 图、版块等)
  • 新注册一个论坛用户 nanshen ,密码设为 1234567
  • 在 “学习交流” 版块下发一个帖子,内容为自己整理的 LAMP 笔记

5.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:管理 Discuz! 论坛系统

1)访问http://192.168.10.203/bbs/admin.php,以管理员用户 admin 登入

打开 Discuz! 论坛管理页面,如图 - 6 所示。

CASE - 图6

图 - 6

以默认管理员 admin 及安装论坛时设置的密码(比如 1234567)登录,成功进入后页面会提示删除安装页面,如图 - 7 所示。

CASE - 图7

图 - 7

根据页面提示删除论坛目录下的 install/index.php 文件:

  1. 1. \[root@svr203 ~\]\# rm -rf /var/www/html/bbs/install/index.php
  2. 2. \[root@svr203 ~\]\#

重新刷新浏览器即可看到正常的管理界面,如图 - 8 所示。

CASE - 图8

图 - 8

2)设置 3 个论坛版块:学习交流、娱乐休闲、企业招聘

单击管理界面上方的 “论坛” 链接,可进入到论坛的版块管理页面,根据页面提示添加任务要求的 3 个论坛版块,如图 - 9 所示,单击 “提交” 按钮即可成功设置。

CASE - 图9

图 - 9

3)更换论坛的 logo,图片标注 “青青草校内社区”

Discuz! 论坛的 logo 图片位于部署目录下的 static/image/common/logo.png,此地址也可以在后续访问论坛时右击页面左上角的 logo 图片 “复制图像地址” 获得。若要更换此 logo 图片,只需要将其替换为自行准备的其他图片即可。

比如在 Win10 真机中可使用画图软件自行制作(或者从网上下载)一份长方形的网站标志图片,保存为 logo.png。然后通过 MobaXterm 工具将此图片上传到论坛服务器上,覆盖原有的图片文件 /var/www/html/bbs/static/image/common/logo.png,如图 - 10 所示。

CASE - 图10

图 - 10

步骤二:使用 Discuz! 论坛系统

1)访问 http://192.168.10.203/bbs/ ,确认页面效果(logo 图、版块等)

如图 - 11 所示。

CASE - 图11

图 - 11

2)新注册一个论坛用户 nanshen ,密码设为 1234567

先单击论坛页面右上角的 “退出”,注销当前用户。然后在右上角找到“立即注册” 链接,单击后可调出新用户注册页面,如图 - 12 所示,填写好用户名、密码、邮箱地址等注册信息,提交注册即可。

CASE - 图12

图 - 12

成功完成注册后,此用户自动登录,等待 2 分钟以后就可以发新的交流帖子了。

3)在 “学习交流” 版块下发一个帖子,内容为自己整理的 LAMP 笔记

打开论坛页面的 “学习交流” 版块,然后单击 “发帖” 按钮,根据页面提示编写好帖子主题、内容,如图 - 13 所示,填写好验证码,然后单击 “发表帖子” 即可。

CASE - 图13

图 - 13

发表成功后,在 “学习交流” 版块可以看到此帖子,如图 - 14 所示,其他注册用户可以参与回帖讨论。

CASE - 图14

图 - 14

6 数据库服务配置加固

6.1 问题

本例要求针对 LAMP 平台的默认数据库环境,配置基础安全加固,完成下列任务。

1)执行 mysql_secure_installation 脚本,设置数据库管理密码

2)修复 Web 连数据库的设置,确保论坛仍然可用

3)调整连接配置文件的权限

6.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:执行 mysql_secure_installation 脚本,设置数据库管理密码

  1. 1. \[root@svr203 ~\]\# mysql\_secure\_installation
  2. 3. NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
  3. 4. SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
  4. 6. In order to log into MariaDB to secure it, we'll need the current
  5. 7. password for the root user. If you've just installed MariaDB, and
  6. 8. you haven't set the root password yet, the password will be blank,
  7. 9. so you should just press enter here.
  8. 11. Enter current password for root (enter for none)://输入原密码(默认为空)
  9. 12. OK, successfully used password, moving on...
  10. 14. Setting the root password ensures that nobody can log into the MariaDB
  11. 15. root user without the proper authorisation.
  12. 17. Set root password? \[Y/n\] //直接Enter,为root用户设置密码
  13. 18. New password: //输入新密码,比如 pwd@1234
  14. 19. Re-enter new password: //再次输入新密码
  15. 20. Password updated successfully!
  16. 21. Reloading privilege tables..
  17. 22. ... Success!
  18. 24. By default, a MariaDB installation has an anonymous user, allowing anyone
  19. 25. to log into MariaDB without having to have a user account created for
  20. 26. them. This is intended only for testing, and to make the installation
  21. 27. go a bit smoother. You should remove them before moving into a
  22. 28. production environment.
  23. 30. Remove anonymous users? \[Y/n\] //直接Enter,删除匿名用户
  24. 31. ... Success!
  25. 33. Normally, root should only be allowed to connect from 'localhost'. This
  26. 34. ensures that someone cannot guess at the root password from the network.
  27. 36. Disallow root login remotely? \[Y/n\] //直接Enter,禁止数据库root用户远程登录
  28. 37. ... Success!
  29. 39. By default, MariaDB comes with a database named 'test' that anyone can
  30. 40. access. This is also intended only for testing, and should be removed
  31. 41. before moving into a production environment.
  32. 43. Remove test database and access to it? \[Y/n\] //直接Enter,删除test库
  33. 44. \- Dropping test database...
  34. 45. ... Success!
  35. 46. \- Removing privileges on test database...
  36. 47. ... Success!
  37. 49. Reloading the privilege tables will ensure that all changes made so far
  38. 50. will take effect immediately.
  39. 52. Reload privilege tables now? \[Y/n\] //直接Enter,重新加载授权表
  40. 53. ... Success!
  41. 55. Cleaning up...
  42. 57. All done! If you've completed all of the above steps, your MariaDB
  43. 58. installation should now be secure.
  44. 60. Thanks for using MariaDB!
  45. 62. \[root@svr203 ~\]\#

步骤二:修复 Web 连数据库的设置,确保论坛仍然可用

找到 Discuz! 目录下前台系统的数据库连接配置,在文件中设置指定正确的专用数据库及账号密码。注意:当 Web 系统的数据库连接信息变更以后,必须做相应配置,否则 Web 系统无法正常使用。

  1. 1. \[root@svr203 ~\]\# vim /var/www/html/bbs/config/config_global.php
  2. 3. <?php
  3. 6. $_config = array();
  4. 9. $_config\['db'\]\['1'\]\['dbhost'\] = 'localhost';
  5. 10. $_config\['db'\]\['1'\]\['dbuser'\] = 'root';
  6. 11. $_config\['db'\]\['1'\]\['dbpw'\] = 'pwd@1234’; //数据库密码
  7. 12. $_config\['db'\]\['1'\]\['dbcharset'\] = 'utf8';
  8. 13. $_config\['db'\]\['1'\]\['pconnect'\] = '0';
  9. 14. $_config\['db'\]\['1'\]\['dbname'\] = 'ultrax';
  10. 15. $_config\['db'\]\['1'\]\['tablepre'\] = 'pre_';
  11. 16. .. ..

Web 后台系统的数据库连接也做相应更改。

  1. 1. \[root@svr203 ~\]\# vim /var/www/html/bbs/config/config_ucenter.php
  2. 3. <?php
  3. 6. define('UC_CONNECT', 'mysql');
  4. 8. define('UC_DBHOST', 'localhost');
  5. 9. define('UC_DBUSER', 'root');
  6. 10. define('UC_DBPW', 'pwd@1234');
  7. 12. define('UC_DBNAME', 'xltrax');
  8. 13. define('UC_DBCHARSET', 'utf8');
  9. 15. .. ..

确认在调整完数据库连接信息以后,从浏览器访问 Discuz! 论坛系统,仍然可用,如图 - 15 所示。

CASE - 图15

图 - 15

步骤三:调整连接配置文件的权限

调整文件权限,禁止其他人访问密码文件,提高安全性。

  1. 1. \[root@svr203 ~\]\# chmod o-r /var/www/html/bbs/config/config_global.php
  2. 2. \[root@svr203 ~\]\# chmod o-r /var/www/html/bbs/config/config_ucenter.php
  3. 4. \[root@svr203 ~\]\# ls -lh /var/www/html/bbs/config/config_global.php
  4. 5. -rw-r-----. 1 apache apache 4.8K 4 25 22:44 /var/www/html/bbs/config/config_global.php
  5. 7. \[root@svr203 ~\]\# ls -lh /var/www/html/bbs/config/config_ucenter.php
  6. 8. -rw-r-----. 1 apache apache 4.8K 4 25 22:44 /var/www/html/bbs/config/config_ucenter.php

7 Web 服务配置加固

7.1 问题

本例要求针对针对 LAMP 平台的默认 Web 环境,配置基础安全加固,完成下列任务。

1)阻止显示 Web 环境版本信息(对比修改前后的 nmap 扫描结果)

2)禁止目录浏览、链接跟随功能(对比修改前后对网页浏览效果的影响)

7.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:httpd 默认网站的安全测试

在网页目录 / var/www/html / 下创建一个测试子目录 vod,并建立几个测试文件:

  1. 1. \[root@svr203 ~\]\# mkdir /var/www/html/vod
  2. 2. \[root@svr203 ~\]\# cd /var/www/html/vod
  3. 3. \[root@svr203 vod\]\# touch file1.mp4 file2.mp4
  4. 4. \[root@svr203 vod\]\# mkdir mulu3 mulu4
  5. 5. \[root@svr203 vod\]\# ln -s / getroot
  6. 7. \[root@svr203 vod\]\# ls -lh
  7. 8. 总用量 8.0K
  8. 9. -rw-r--r-- 1 root root 0 9 10 12:41 file1.mp4
  9. 10. -rw-r--r-- 1 root root 0 9 10 12:41 file2.mp4
  10. 11. lrwxrwxrwx 1 root root 1 9 10 12:41 getroot -> /
  11. 12. drwxr-xr-x 2 root root 4.0K 9 10 12:43 mulu3
  12. 13. drwxr-xr-x 2 root root 4.0K 9 10 12:43 mulu4

从浏览器访问 http:// 虚拟机 IP 地址 / vod/ ,能够直接列出此目录下的所有文件资源(因为默认会自动生成一份列表网页),如图 - 16 所示。

CASE - 图16

图 - 16

而且,只要单击网页中的 getroot,就可以直接看到网站服务器整个根目录下的文档资源(因为默认允许跟随链接文件),如图 - 17 所示。

CASE - 图17

图 - 17

另外,也可以使用 nmap 扫描工具检测 Web 服务的软件版本,从而方便采取进一步的攻击措施。默认情况下,httpd 服务会提供详细的软件版本信息。

  1. 1. \[root@svr203 vod\]\# nmap -sV -p 80 localhost
  2. 2. Starting Nmap 7.80 ( https:
  3. 3. Nmap scan report for localhost (127.0.0.1)
  4. 4. Host is up (0.000060s latency).
  5. 5. Other addresses for localhost (not scanned): ::1
  6. 7. PORT STATE SERVICE VERSION
  7. 8. 80/tcp open http Apache httpd 2.4.43 ((Unix))
  8. 10. Service detection performed. Please report any incorrect results at https:
  9. 11. Nmap done: 1 IP address (1 host up) scanned in 6.67 seconds
  10. 13. \[root@svr203 vod\]#

可以看出如果采用默认设置,风险还是比较大的。

步骤二:基础安全加固配置

修改 httpd 服务的配置文件,做一些小改动,就可以把上述安全风险排除。

  1. 1. \[root@svr203 ~\]\# vim /etc/httpd/conf.d/sec1.conf
  2. 2. ServerTokens Prod
  3. 3. ServerSignature off
  4. 5. \[root@svr203 ~\]\# vim /etc/httpd/conf.d/sec2.conf
  5. 6. <Directory "/var/www/html/vod">
  6. 7. Options -Indexes -FollowSymLinks
  7. 8. </Directory>
  8. 10. \[root@svr203 ~\]\# systemctl restart httpd

3)验证加固效果

再次从浏览器访问http:// 虚拟机 IP 地址 / vod/,因为没有默认首页,又不允许自动列表,所以会出现 Forbidden 禁止访问的提示,如图 - 18 所示。

CASE - 图18

图 - 18

如果直接访问http:// 虚拟机 IP 地址 / vod/getroot,也一样会被拒绝,因为不允许再跟随链接了,如图 - 19 所示。

CASE - 图19

图 - 19

如果再次用 nmap 扫描本 Web 服务器,会发现已经不显示详细的版本信息了。

  1. 1. \[root@svr203 ~\]\# nmap -sV -p 80 localhost
  2. 3. Starting Nmap 7.80 ( https:
  3. 4. Nmap scan report for localhost (127.0.0.1)
  4. 5. Host is up (0.000058s latency).
  5. 6. Other addresses for localhost (not scanned): ::1
  6. 8. PORT STATE SERVICE VERSION
  7. 9. 80/tcp open http Apache httpd
  8. 12. Service detection performed. Please report any incorrect results at https:
  9. 13. Nmap done: 1 IP address (1 host up) scanned in 6.49 seconds
  10. 15. \[root@svr203 ~\]#

https://tts.tmooc.cn/ttsPage/NTD/NTDTN202109/LNXSEC/DAY04/CASE/01/index.html