HCE OS安装部署与安全漏洞配置

本实验主要介绍了在华为云上购买ECS及以镜像的方式部署华为云欧拉操作系统(HCE OS);然后新建私有REPO源并制作安全RPM。

1.1 登录华为云

1.1.1创建弹性云服务器ECS

步骤 1 注册并登录华为云

在华为云官网地址: https://www.huaweicloud.com/点击右上角登录按钮。选择IAM用户登录,输入华为云账号、IAM用户名及IAM用户密码后点击登录按钮。


步骤 2 创建虚拟私有云

点击右上角控制台,选择Region为“华东北京四”。鼠标放到左侧服务列表符号,点击网络部分第一个服务:虚拟私有云 VPC。点击右上角“创建虚拟私有云”。

 

输入参数如下:

VPC名称:vpc-hce

子网名称:subnet-hce

其他选项保持默认,点击右下角“立即创建”。

 

 

创建完成后可在列表中查看到此VPC。

步骤 3 创建安全组

点击左侧网络控制台中的访问控制,点击“安全组”。点击右上角“创建安全组”。

 

 

修改安全组名称为sg-hce,其他选项保持默认后点击确定。

可以在列表中查看到该安全组,后续会有步骤涉及到安全组的规则变更。

步骤 4 购买ECS

 

在左侧服务列表中选择计算类服务第一项:弹性云服务器ECS。击右上角“购买弹性云服务器”。

 

 

ECS具体配置参数如下:

计费模式:按需计费

区域:华东-北京四

可用区:随机分配

规格:任意 2vCPUs | 4GiB 实例均可,如规格: 通用计算型,s6.large.2

说明:由于平台限制,购买超过2v4G规格的实例平台将自动销毁

网络:vpc-hce | subnet-hce | 自动分配IP地址

镜像:Huawei Cloud EulerOS 2.0 标准版 64位

系统盘:高IO 40G

安全组:sg-hce

弹性公网IP:现在购买

线路:全动态BGP

公网带宽:按带宽计费

带宽大小:5Mbit/s

云服务器名称:ecs-hce

登录凭证:密码

密码:Huawei12#$ (密码必须保持一致)

确认密码:Huawei12#$

高级选项:保持默认

确认配置无误后勾选“我已阅读并同意镜像声明”,点击“立即购买”。

云服务器名称与密码必须保持一致

返回弹性云服务器列表可以看到该ECS的状态为运行中。

步骤 5 登录弹性云服务器。点击“远程登陆”。通过CloudShell登录ecs-hce。

输入密码后,点击“链接”。

或选择VNC方式登录。点击“立即登录”。

输入localhost login: root与密码即可成功登录。(root/Huawei12#$)

跳过此步

1.2 HCE-OS安全漏洞配置管理

步骤 1 将hostname改为ecs-hce

hostnamectl set-hostname ecs-hce
bash

步骤 2 安装rpm-build

搜索rpm-build,安装rpm-build,输入y确认安装,回显”Complete!”安装完毕。

yum search rpm-build
yum install rpm-build


步骤 3 安装rpm-devel rpmdevtools工具包

以同样的步骤安装rpm-devel rpmdevtools工具包,回显Complete!安装完毕。

yum install -y rpm-devel rpmdevtools

步骤 4 生成rpm开发目录

rpmdev-setuptree

跳过此步

步骤 5 创建源码路径

cd /root/rpmbuild/SOURCES
mkdir hce2-helloworld-1.0.0


步骤 6 创建源码文件并修改权限

touch hce2-helloworld-1.0.0/hce2-helloworld
chmod 755 hce2-helloworld-1.0.0/hce2-helloworld

步骤 7 源码文件中写入代码

在新创建的源码文件中写入如下代码,按“ecs”推出编辑模式,按“shift”+“:”输入wq保存并推出

vim hce2-helloworld-1.0.0/hce2-helloworld
!/bin/sh echo Hello World!

步骤 8 压缩源码

tar zcvf hce2-helloworld-1.0.0.tar.gz hce2-helloworld-1.0.0/

步骤 9 进入/root/rpmbuild/SPECS路径生成.spec文件,需要输入y确认

cd /root/rpmbuild/SPECS/
yum install -y git

rpmdev-newspec hce2-helloworld.spec

步骤 10 将spec文件中的原有代码删除并添加如下代码

vim hce2-helloworld.spec
Name: hce2-helloworldVersion: 1.0.0Release: 1%{?dist}Summary: hce2-helloworld

Group: Development/Tools
License: GPL
#URL:
Source0: %{name}-%{version}.tar.gz

#BuildRequires:
#Requires:

%description

%prep
%setup -q

%build

%install
mkdir -p $RPM_BUILD_ROOT/usr/bin
cp $RPM_BUILD_DIR/%{name}-%{version}/hce2-helloworld $RPM_BUILD_ROOT/usr/bin/

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc
/usr/bin/hce2-helloworld

%changelog

步骤 11 执行编译命令,生成rpm包

 

 

拷贝代码rpmbuild --nodebuginfo -ba hce2-helloworld.spec

步骤 12 查看生成路径

 

拷贝代码ls /root/rpmbuild/RPMS/x86_64/hce2-helloworld-1.0.0-1.x86_64.rpm

步骤 13 选择一个本地私有REPO源的文件目录

 

例如可以选择用/home/private/目录(手动创建一个目录) 将步骤10中的rpm包,拷贝到该目录下。

 

拷贝代码mkdir /home/private拷贝代码cp /root/rpmbuild/RPMS/x86_64/hce2-helloworld-1.0.0-1.x86_64.rpm /home/private/

步骤 14 安装createrepo工具,需输入y确认

 

拷贝代码yum install createrepo

步骤 15 在/home/private路径下执行createrepo 命令,生成repo源相关信息

 

拷贝代码cd /home/private拷贝代码createrepo .

步骤 16 编辑repo配置文件,repo配置文件中增加repo源hce2-test

 

拷贝代码vi /etc/yum.repos.d/hce.repo拷贝代码[hce2-test]name=hce2-testbaseurl=file:///home/private/enabled=1gpgcheck=0

步骤 17 生效repo源

 

拷贝代码yum makecache

步骤 18 安装hce2-helloworld-1.0.0.rpm,需要输入y确认

 

拷贝代码yum install hce2-helloworld

步骤 19 制作安全补丁rpm ,拷贝生成新的源码包

 

拷贝代码cd /root/rpmbuild/SOURCES/

拷贝代码cp -r hce2-helloworld-1.0.0 hce2-helloworld-1.1.0

拷贝代码tar zcvf hce2-helloworld-1.1.0.tar.gz hce2-helloworld-1.1.0/

步骤 20 修改hce2-helloworld.spec版本号

 

将Version:1.0.0修改为1.1.0。其他内容保持不变。

 

拷贝代码cd ../SPECS/拷贝代码vim hce2-helloworld.spec

步骤 21 编译生成新的RPM包,并拷贝到/home/private/目录下

 

拷贝代码rpmbuild --nodebuginfo -ba hce2-helloworld.spec

步骤 22 /home/private/目录下增加updateinfo.xml

 

按a进入插入模式,新增如下代码

 

拷贝代码cd /home/private拷贝代码touch updateinfo.xml拷贝代码vim updateinfo.xml拷贝代码<?xml version="1.0" encoding="UTF-8"?><updates><update author="Huawei Cloud EulerOS" from="Huawei Cloud EulerOS" status="stable" type="security" version="1.0"><id>HCE2-SA-2022:0001</id><title>HCE2-SA-2022:0001: hce2-helloworld security update (Important)</title><issued date="2022-04-09"/><updated date="2022-04-09" timestamp="1612697870"/><rights>Copyright (C) 2020-2021 Huawei Cloud EulerOS</rights><release>Huawei Cloud EulerOS 2</release><severity>Important</severity><summary>hce2-helloworld security update</summary><description>Package updates are available for Huawei Cloud EulerOS 2 that fix the following vulnerabilities:CVE-2021-21261: Just for test</description><references><reference href="" id="HCE2-SA-2022:0001" type="HCE2-SA"/><reference href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-21261" cvss3="8.8/CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H" id="CVE-2021-21261" type="cve"/></references><pkglist><collection short="hce2"><name>Huawei Cloud EulerOS 2</name><package arch="x86_64" epoch="" name="hce2-helloworld" version="1.3.0" release="1.3.0" src=""><filename>hce2-helloworld-1.3.0-1.x86_64.rpm</filename></package></collection></pkglist></update><updates>

步骤 23 更新repo源

 

 

拷贝代码modifyrepo updateinfo.xml repodata/拷贝代码yum makecache

步骤 24 检查更新信息可以看到有新的更新提示

 

拷贝代码yum updateinfo

步骤 25 可以通过yum updateinfo -list查看详情

 

拷贝代码yum updateinfo --list