Top

NTD LNXSEC DAY05

  1. 案例1:部署并安装Discuz!论坛
  2. 案例2:管理及使用Web系统
  3. 案例3:LAMP平台安全加固
  4. 案例4:云主机Web建站
  5. 案例5:域名注册及使用

1 案例1:部署并安装Discuz!论坛

1.1 问题

本例要求在上一章构建的LAMP服务器上部署并安装Discuz!论坛系统,完成下列任务。
首先,将获取的论坛代码部署到CentOS 7虚拟机,注意其中upload/ 子目录部署为 /var/www/html/bbs/ 。
然后,从Web浏览器访问 http://虚拟机IP地址/bbs/install/ 根据网页提示完成 Discuz! 论坛系统安装:

  1. 接受许可协议
  2. 调整好相关目录的访问权限
  3. 设置好数据库连接、管理员密码
  4. 其他步骤按默认即可

    1.2 步骤

    实现此案例需要按照如下步骤进行。
    步骤一:部署Discuz!论坛代码
    1)下载及解包
    提前下载好Discuz!论坛的代码包文件,比如 Discuz_X3.4_SC_UTF8.zip,通过WinSCP工具将此文件上传到服务器的 /root/ 目录下,并在服务器上确认。
    [root@svr7 ~]# ls -lh /root/Discuz_X3.4_SC_UTF8.zip
    -rw-r—r—. 1 root root 12M 4月 25 21:27 Discuz_X3.4_SC_UTF8.zip

使用unzip命令可以解压.zip格式的压缩包。
[root@svr7 ~]# unzip /root/Discuz_X3.4_SC_UTF8.zip
.. ..
[root@svr7 ~]# ls //检查解压结果
Upload readme utility
Discuz_X3.4_SC_UTF8.zip

2)将论坛代码部署为 /var/www/html/bbs/,作为此站点的一个子目录
复制解压后的upload/子目录,部署为 /var/www/html/bbs。
[root@svr7 ~]# cp -rf upload/ /var/www/html/bbs
[root@svr7 ~]# ls /var/www/html/bbs //检查部署结果
admin.php connect.php group.php member.php search.php uc_server
api crossdomain.xml home.php misc.php source
api.php data index.php plugin.php static
archiver favicon.ico install portal.php template
config forum.php m robots.txt uc_client

3)确保LAMP平台已经运行
主要是 httpd、mariadb服务,必要时可以重启一下
[root@svr7 ~]# systemctl restart httpd mariadb
.. .. //重启web和数据库

4)确保防火墙已经关闭、SELinux机制已经禁用
建议暂时停用防火墙、停用SELinux保护,避免因安全限制带来一些排错困扰。
[root@svr7 ~]# systemctl disable firewalld —now //停用防火墙
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

[root@svr7 ~]# setenforce 0 //立即停用SELinux
[root@svr7 ~]# vim /etc/selinux/config //以后不再使用SELinux
SELINUX=permissive
.. ..

步骤二:访问Discuz!论坛安装页面
在 Firefox 浏览器访问 http://192.168.10.7/bbs/install/ ,确保可看到论坛安装页面,如图-1所示,单击“我同意”按钮。
LNXSEC DAY05 - 图1
图-1
步骤三:根据网页提示完成 Discuz! 论坛系统安装
1)检查安装环境
单击底部“我同意”按钮,进入检查安装环境页面,如图-2所示。此页面的最底部会显示“请将以上红叉部分修正再试”,无法继续。
LNXSEC DAY05 - 图2
图-2
2)解决目录权限问题
根据页面说明,需先解决子目录权限的问题。
[root@svr7 ~]# cd /var/www/html/bbs/ //进入论坛代码目录
[root@svr7 bbs]# chown -R apache config/ data/ uc_server/ uc_client/
//修改相关子目录归属
[root@svr7 bbs]# ls -ld config/ data/ uc_server/ uc_client/ //确认结果
drwxr-xr-x. 2 apache root 90 4月 25 21:33 config/
drwxr-xr-x. 12 apache root 202 4月 25 21:33 data/
drwxr-xr-x. 7 apache root 106 4月 25 21:33 uc_client/
drwxr-xr-x. 13 apache root 241 4月 25 21:33 uc_server/

重新返回浏览器显示的安装页面,按Ctrl+F5刷新网页,底部会出现下一步按钮,单击以继续。
3)选择安装方式
接下来的设置运行环境接受默认的“全新安装”即可,如图-3所示,单击下一步继续。
LNXSEC DAY05 - 图3
图-3
4)设置数据库连接
然后会进入到数据库设置页面,根据页面提示正确填写好连接参数(MariaDB数据库的默认管理员为root,密码为空),如图-4所示,再继续下一步。
LNXSEC DAY05 - 图4
图-4
5)完成安装
等待安装程序写入数据库信息,完成相关安装操作,成功后页面右下角会出现提示“您的论坛已完成安装,点此访问”,如图-5所示。
LNXSEC DAY05 - 图5
图-5
注意:安装程序会尝试连Discuz!官网,如果浏览器所在主机不能访问互联网,页面中会提示无法连接,忽略就行了。

2 案例2:管理及使用Web系统

2.1 问题

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

  • 访问 http://192.168.10.7/bbs/admin.php,以管理员用户 admin 登入
  • 设置3个论坛版块:学习交流、娱乐休闲、企业招聘
  • 更换论坛的logo,图片标注“青青草校内社区”

2)使用Discuz!论坛系统

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

    2.2 步骤

    实现此案例需要按照如下步骤进行。
    步骤一:管理Discuz!论坛系统
    1)访问http://192.168.10.7/bbs/admin.php,以管理员用户 admin 登入
    打开Discuz!论坛管理页面,如图-6所示。
    LNXSEC DAY05 - 图6
    图-6
    以默认管理员admin及安装论坛时设置的密码(比如1234567)登录,成功进入后页面会提示删除安装页面,如图-7所示。
    LNXSEC DAY05 - 图7
    图-7
    根据页面提示删除论坛目录下的 install/index.php 文件:
    [root@svr7 ~]# rm -rf /var/www/html/bbs/install/index.php
    [root@svr7 ~]#

重新刷新浏览器即可看到正常的管理界面,如图-8所示。
LNXSEC DAY05 - 图8
图-8
2)设置3个论坛版块:学习交流、娱乐休闲、企业招聘
单击管理界面上方的“论坛”链接,可进入到论坛的版块管理页面,根据页面提示添加任务要求的3个论坛版块,如图-9所示,单击“提交”按钮即可成功设置。
LNXSEC DAY05 - 图9
图-9
3)更换论坛的logo,图片标注“青青草校内社区”
Discuz!论坛的logo图片位于部署目录下的static/image/common/logo.png,此地址也可以在后续访问论坛时右击页面左上角的logo图片“复制图像地址”获得。若要更换此logo图片,只需要将其替换为自行准备的其他图片即可。
在Windows真机中可使用画图软件自行制作(或者从网上下载)一份长方形的网站标志图片,保存为logo.png。然后通过WinSCP工具将此图片上传到论坛服务器上,覆盖原有的图片文件 /var/www/html/bbs/static/image/common/logo.png,如图-10所示。
LNXSEC DAY05 - 图10
图-10
步骤二:使用Discuz!论坛系统
1)访问 http://192.168.10.7/bbs/ ,确认页面效果(logo图、版块等)
如图-11所示。
LNXSEC DAY05 - 图11
图-11
2)新注册一个论坛用户 nanshen ,密码设为 1234567
先单击论坛页面右上角的“退出”,注销当前用户。然后在右上角找到“立即注册”链接,单击后可调出新用户注册页面,如图-12所示,填写好用户名、密码、邮箱地址等注册信息,提交注册即可。
LNXSEC DAY05 - 图12
图-12
成功完成注册后,此用户自动登录,等待2分钟以后就可以发新的交流帖子了。
3)在“学习交流”版块下发一个帖子,内容为自己整理的LAMP笔记
打开论坛页面的“学习交流”版块,然后单击“发帖”按钮,根据页面提示编写好帖子主题、内容,如图-13所示,填写好验证码,然后单击“发表帖子”即可。
LNXSEC DAY05 - 图13
图-13
发表成功后,在“学习交流”版块可以看到此帖子,如图-14所示,其他注册用户可以参与回帖讨论。
LNXSEC DAY05 - 图14
图-14

3 案例3:LAMP平台安全加固

3.1 问题

本例要求针对CentOS 7系统,配置LAMP平台的基础加固,主要完成下列任务。

  1. 增强mariadb数据库的安全
  2. 增强httpd网站的安全
  3. 增强php网页编程环境的安全
  4. 其他安全措施,可以自行发挥

    3.2 步骤

    实现此案例需要按照如下步骤进行。
    步骤一:增强mariadb数据库的安全
    1)执行mysql_secure_installation安全安装
    [root@svr7 ~]# mysql_secure_installation //启动安全安装脚本

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none)://输入原密码(默认为空)
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] //直接Enter,为root用户设置密码
New password: //输入新密码,比如 pwd@123
Re-enter new password: //再次输入新密码
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] //直接Enter,删除匿名用户
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] //直接Enter,禁止数据库root用户远程登录
… Success!

By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] //直接Enter,删除test库
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] //直接Enter,重新加载授权表
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@svr7 ~]# //配置完毕

2)关闭网络端口监听
修改/etc/my.cnf文件,在[mysqld]配置部分添加skip-networking行:
[root@svr7 ~]# vim /etc/my.cnf
[mysqld]
skip-networking //添加此行,跳过网络功能
datadir=/var/lib/mysql //数据库存储目录
socket=/var/lib/mysql/mysql.sock //提供数据库服务的接口文件
.. ..

重启mariadb数据库服务:
[root@svr7 ~]# systemctl restart mariadb //重启服务
.. ..

安装nmap扫描工具,检测本机的3306端口,会发现已经为为closed状态,但是实际上本机的数据库服务仍然可以使用。
[root@svr7 ~]# yum -y install nmap
.. ..
Running transaction
正在安装 : 2:nmap-6.40-19.el7.x86_64 1/1
验证中 : 2:nmap-6.40-19.el7.x86_64 1/1

已安装:
nmap.x86_64 2:6.40-19.el7

完毕!
[root@svr7 ~]# nmap -p 3306 localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2020-04-25 22:36 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using —system-dns or specify valid servers with —dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000031s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT STATE SERVICE
3306/tcp closed mysql //数据库端口已经关闭

Nmap done: 1 IP address (1 host up) scanned in 0.02 seconds

3)为Web论坛设置专用数据库用户
授权数据库用户runbbs,对论坛库ultrax(Discuz!论坛的默认库,如果安装时修改过,请改成实际使用的数据库名)有所有权限,并设置好访问密码:
[root@svr7 ~]# mysql -uroot -ppwd@123 //连接本机数据库
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> grant all on ultrax.* to runbbs@localhost identified by ‘pwd@123’; //设置用户授权
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit //断开连接
Bye
[root@svr7 ~]#

找到Discuz!目录下前台系统的数据库连接配置,在文件中设置指定正确的专用数据库及账号密码。注意:当Web系统的数据库连接信息变更以后,必须做相应配置,否则Web系统无法正常使用。
[root@svr7 ~]# vim /var/www/html/bbs/config/config_global.php
//前台系统的数据库连接配置
<?php

$_config = array();

// —————————————— CONFIG DB ——————————————- //
$config[‘db’][‘1’][‘dbhost’] = ‘localhost’;
$_config[‘db’][‘1’][‘dbuser’] = ‘runbbs’; //数据库用户名
$_config[‘db’][‘1’][‘dbpw’] = ‘pwd@123’; //数据库密码
$_config[‘db’][‘1’][‘dbcharset’] = ‘utf8’;
$_config[‘db’][‘1’][‘pconnect’] = ‘0’;
$_config[‘db’][‘1’][‘dbname’] = ‘ultrax’;
$_config[‘db’][‘1’][‘tablepre’] = ‘pre
‘;
.. ..

后台系统的数据库连接也做相应更改。
[root@svr7 ~]# vim /var/www/html/bbs/config/config_ucenter.php
//后台系统的数据库连接配置
<?php

define(‘UC_CONNECT’, ‘mysql’);

define(‘UC_DBHOST’, ‘localhost’);
define(‘UC_DBUSER’, ‘runbbs’); //数据库用户名
define(‘UC_DBPW’, ‘pwd@123’); //数据库密码

define(‘UC_DBNAME’, ‘ntd2003’); //数据库名称
define(‘UC_DBCHARSET’, ‘utf8’);

.. ..

另外也建议调整文件权限,禁止其他人访问密码文件,提高安全性:
[root@svr7 ~]# chmod o-rwx /var/www/html/bbs/config/config_global.php
[root@svr7 ~]# chmod o-rwx /var/www/html/bbs/config/config_ucenter.php

[root@svr7 ~]# ls -lh /var/www/html/bbs/config/config_global.php
-rw-r——-. 1 apache apache 4.8K 4月 25 22:44 /var/www/html/bbs/config/config_global.php

[root@svr7 ~]# ls -lh /var/www/html/bbs/config/config_ucenter.php
-rw-r——-. 1 apache apache 4.8K 4月 25 22:44 /var/www/html/bbs/config/config_ucenter.php

确认在调整完数据库连接信息以后,从浏览器访问Discuz!论坛系统,仍然可用,如图-15所示。
LNXSEC DAY05 - 图15
图-15
步骤二:增强httpd网站的安全
1)httpd默认网站的安全测试
在网页目录/var/www/html/下创建一个测试子目录 vod,并建立几个测试文件:
[root@svr7 ~]# mkdir /var/www/html/vod //创建测试目录
[root@svr7 ~]# cd /var/www/html/vod
[root@svr7 vod]# touch file1.mp4 file2.mp4 //创建2个测试文件
[root@svr7 vod]# ln -s / getroot.html //创建一个连接到根目录的链接文件

从浏览器访问 http://虚拟机IP地址/vod/ ,能够直接列出此目录下的所有文件资源(因为默认会自动生成一份列表网页),如图-16所示。
LNXSEC DAY05 - 图16
图-16
而且,只要单击网页中的 getroot.html,就可以直接看到网站服务器整个根目录下的文档资源(因为默认允许跟随链接文件),如图-17所示。
LNXSEC DAY05 - 图17
图-17
另外,也可以使用nmap扫描工具检测Web服务的软件版本,从而方便采取进一步的攻击措施。默认情况下,httpd服务会提供详细的软件版本信息。
[root@svr7 vod]# nmap -sV -p 80 localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2020-04-25 23:05 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using —system-dns or specify valid servers with —dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000027s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.6 ((CentOS) PHP/5.4.16)
//扫描结果中展示出httpd、php的版本信息

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.09 seconds
[root@svr7 vod]#

可以看出如果采用默认设置,风险还是比较大的。
2)基础安全加固配置
修改httpd服务的配置文件,做一些小改动,就可以把上述安全风险排除。
[root@svr7 ~]# vim /etc/httpd/conf.d/sec.conf
ServerTokens Prod //HTTP响应只显示产品名(默认为Full,显示全部)
ServerSignature off //服务器信息不显示签名
.. ..

Options -Indexes -FollowSymLinks //添加 - 号表示禁用此项功能
.. ..

[root@svr7 ~]# systemctl restart httpd //重启服务

3)验证加固效果
再次从浏览器访问http://虚拟机IP地址/vod/,因为没有默认首页,又不允许自动列表,所以会出现Forbidden禁止访问的提示,如图-18所示。
LNXSEC DAY05 - 图18
图-18
如果直接访问http://虚拟机IP地址/vod/getroot.html,也一样会被拒绝,因为不允许再跟随链接了,如图-19所示。
LNXSEC DAY05 - 图19
图-19
如果再次用nmap扫描本Web服务器,会发现已经不显示详细的版本信息了。
[root@svr7 ~]# nmap -sV -p 80 localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2020-04-25 23:15 CST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using —system-dns or specify valid servers with —dns-servers
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000030s latency).
Other addresses for localhost (not scanned): 127.0.0.1
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd
//扫描结果中看不到httpd、php的版本信息
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.10 seconds
[root@svr7 ~]#

步骤三:增强php网页编程环境的安全
比如,可以禁用一些系统控制的函数;如果不需要上传,可以直接关闭PHP的文件上传功能。
[root@svr7 ~]# vim /etc/php.ini
disable_functions = passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status //禁用一些系统控制函数
memory_limit = 128M //限制消耗内存大小
file_uploads = Off //禁止上传文件
.. ..
[root@svr7 ~]# systemctl restart httpd //重启Web服务

步骤四:其他安全措施,可以自行发挥
略。

4 案例4:云主机Web建站

4.1 问题

本例要求选购一台ECS云服务器,在真实环境实现Web论坛的构建过程,相关操作如下所述。

  1. 选购一台ECS云服务器
  2. 上传Discuz!论坛代码到云主机的Web网页目录
  3. 完成Discuz!论坛系统的安装
  4. 从浏览器访问你的论坛
  • 访问 http://你的云主机的公网IP地址 看到论坛用户页
  • 访问 http://你的云主机的公网IP地址/admin.php 看到论坛管理页

    4.2 步骤

    实现此案例需要按照如下步骤进行。
    步骤一:选购一台ECS云服务器
    本案例为短期使用,配置云主机时选择按需付费、按流量计费、购买弹性公网IP(方从便互联网访问测试)即可,如图-20所示。
    LNXSEC DAY05 - 图20
    图-20
    云主机创建成功以后,确认其状态为“运行中”。
    找到这台云主机的公网IP地址,比如139.9.247.50,如图-21所示。
    LNXSEC DAY05 - 图21
    图-21
    步骤二:上传Discuz!论坛代码到云主机,并部署为 /var/www/html/ 目录
    1)安装LAMP网站平台
    通过Putty或者Xshell工具远程登录这台云主机(139.9.247.50),方便命令行进行管理操作,如图-22所示。
    LNXSEC DAY05 - 图22
    图-23
    通过命令行安装LAMP组件,并启用httpd、mariadb服务。
    [root@hw-websvr1 ~]# yum -y install bash-completion
    .. .. //安装Tab补全的支持包,断开重连后生效
    [root@hw-websvr1 ~]# yum -y install httpd mariadb-server mariadb php php-mysql
    .. .. //安装LAMP组件
    [root@hw-websvr1 ~]# systemctl enable httpd mariadb —now
    .. .. //启动LAMP平台

注意:如果云主机上装软件包下载速度特别慢,建议及时更换其他yum源。更换源的操作参考如下(采用网易的CentOS7的源)。
[root@hw-websvr1 ~]# cd /etc/yum.repos.d/
[root@hw-websvr1 yum.repos.d]# mkdir repobak
[root@hw-websvr1 yum.repos.d]# mv *.repo repobak/
[root@hw-websvr1 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
—2020-04-25 23:48:50— http://mirrors.163.com/.help/CentOS7-Base-163.repo
Resolving mirrors.163.com (mirrors.163.com)… 59.111.0.251
Connecting to mirrors.163.com (mirrors.163.com)|59.111.0.251|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 1572 (1.5K) [application/octet-stream]
Saving to: ‘CentOS7-Base-163.repo’

100%[======================>] 1,572 —.-K/s in 0s

2020-04-25 23:48:50 (217 MB/s) - ‘CentOS7-Base-163.repo’ saved [1572/1572]
[root@hw-websvr1 yum.repos.d]# yum repolist

2)上传论坛代码
通过WinSCP工具将Discuz!论坛代码上传到这台云主机(139.9.247.50),如图-23所示。
LNXSEC DAY05 - 图23
图-23
3)将Discuz!代码包部署为/var/www/html目录
[root@hw-websvr1 ~]# unzip Discuz_X3.4_SC_UTF8.zip
.. .. //解包
[root@hw-websvr1 ~]# rm -rf /var/www/html/ //删除默认网页目录
[root@hw-websvr1 ~]# cp -r upload/ /var/www/html //部署新的网页目录
.. ..
[root@hw-websvr1 ~]# ls /var/www/html //确认部署结果
admin.php crossdomain.xml index.php portal.php uc_client
api data install robots.txt uc_server
api.php favicon.ico m search.php
archiver forum.php member.php source
config group.php misc.php static
connect.php home.php plugin.php template

步骤三:完成Discuz!论坛系统的安装
从浏览器访问你的云主机 http://139.9.247.50/ ,可以看到论坛安装页面,如图-24所示。
LNXSEC DAY05 - 图24
图-24
在提示目录权限时,执行以下操作再刷新网页。
[root@hw-websvr1 ~]# cd /var/www/html/
[root@hw-websvr1 html]# chown -R apache config/ data/ uc_se
rver/ uc_client/

后续过程按提示进行安装,操作与案例1类似,具体过程略。
步骤四:从浏览器访问你的论坛
安装完成后,就可以从互联网访问部署在你的云主机上的论坛网站了,如图-25所示。
LNXSEC DAY05 - 图25
图-25

5 案例5:域名注册及使用

5.1 问题

本案例要求实现域名的方式访问部署在云主机上的Web应用系统,涉及到域名购买按年付费(一般几元至几十元不等),另外还有备案相关流程,因此不作强制要求,大家可以根据自己需求选做。
相关操作如下所述。

  1. 在华为云注册一个域名
  2. 配置解析记录,将主机 www 解析为你的云主机的公网IP地址
  3. 测试域名访问,通过 http://www.你的域名 ,也能看到论坛用户页

    5.2 步骤

    实现此案例需要按照如下步骤进行。
    步骤一:在华为云注册一个域名
    登录华为云控制台,通过“域名注册”页面选购自己定义的域名,如图-26所示。
    LNXSEC DAY05 - 图26
    图-26
    选中域名加入购物清单,根据页面提示完成域名模板(用户信息登记)等必要步骤,最后提交付费即可,如图-27所示。
    LNXSEC DAY05 - 图27
    图-27
    如果已经购买好了域名,可以在控制台-域名注册-域名列表下看到。为了避免不必要的浪费,后续操作将采用已购买的域名zylinux作为示范,如图-28所示。
    LNXSEC DAY05 - 图28
    图-28
    步骤二:配置解析记录
    通过域名解析控制台,添加一条域名解析记录,指向此前已经购买的云主机的公网IP地址(139.9.247.50),如图-29所示。
    LNXSEC DAY05 - 图29
    图-29
    配置完成以后,稍等几分钟,就可以从互联网中的客户机(比如Windows真机)查看解析结果:
    Microsoft Windows [版本 10.0.18362.535]
    (c) 2019 Microsoft Corporation。保留所有权利。

C:\Users\TsengYia> nslookup www.zylinux.cn
服务器: public1.114dns.com
Address: 114.114.114.114

非权威应答:
名称: www.zylinux.cn
Address: 139.9.247.50 //已经成功解析为云主机的公网IP地址

C:\Users\TsengYia>

步骤三:测试域名访问
从浏览器访问前一步添加的域名,也可以看到在云主机上部署的Web论坛系统,如图-30所示。
LNXSEC DAY05 - 图30
图-30
当然,由于这个域名还没有完成备案,因此通过此域名访问网站的效果可能只会持续几分钟。过一段时间以后再次访问此域名,一般会看到无法访问的提示,如图-31所示。
LNXSEC DAY05 - 图31
图-31
关于域名备案的详细操作,涉及到线下流程,这里不再展示。