麒麟 ZYJ 服务器软件适配 参考示例

一、zyj 环境简介

1. ZYJ 概述

国产化 SMZYJ 是由国家 BM 主管部门鉴定并批准生产使用的国内自主开发的 整机 JM 国标设备,设备采用了自主设备基础硬件(飞腾、国科微等)、安全硬 件+自主固件(昆仑等)+自主 SM 专用操作系统(麒麟)的三层加密一体方式进 行整机生产。

麒麟 ZYJ 操作系统使用了国标架构,通过了 BM 等级认证,采用了三员分立+

软硬一体化认证的主机管控措施,内置操作系统内核、壳结构、服务及软件均通 过基线安全策略加固,可通过操作系统内核安全策略控制专用机进程,识别进程 动作,实现基线策略触发告警功能。

⚫ 管理用户采用三权分立系统,以分割管理权限。

⚫ 三合一软硬一体化设备实现了管控软件安装,硬件接口放行,文件输入 输出,端口放行等相关功能.

⚫ 加入审计追溯机制,强制保留用户使用踪迹。

⚫ 固件绑定安全卡进行加密硬件及相关部件监控,一旦硬件信息被更改及 损坏即有告警禁入等相关安全措施。

这些软硬一体化认证的整机安全机制保证了涉密设备的使用的安全性,从基 础架构、系统原理与交互机制上排除了泄密隐患和信息安全风险。

2. 背景

由于 ZYJ 的特殊安全机制,用户 SAAS 级产品迁移适配需要遵循 ZYJ 适配 迁移的规则,本文以常见 web 服务器软件 nginx 源码作为适配举例,将详细 介绍适配流程及重点注意事项。

3. 相关机制简介

KYSEC 机制和白名单(其中一种安全机制)

KYSEC 是基于 kysec 安全标记对执行程序、脚本文件、共享库、内核模块 进行保护的一种安全机制。除了系统默认集成的执行程序、脚本文件、共享 库、内核模块,任何外来的该 4 种文件,如拷贝、移动、下载、重新编译生 成等,都必须添加到麒麟安全管理工具的相应白名单列表中,才能执行调用。 并且 KYSEC 会对白名单列表中的文件进行保护,保护文件不被或限定修改、 移动、删除。

那么在 ZYJ 中,KYSEC 不能强制关闭。使用配置管理工具,进行签名并导 入安装包的过程,就是给软件打白名单标签的过程。配置管理工具本身限定 了软件的导入和安装方式,就是必须使用安全软介质通过图形配置管理软件 导入格式化安装包(deb、rpm)的形式进行安装。不能直接使用二进制安装 或编译安装,也不能使用命令行进行安装。 ZYJ 内不允许安装编译环境,那就要求开发者提前在其他通用操作系统环 境或开发板中做适配工作。

4. 开发板

开发板是麒麟软件为 ZYJ 各操作平台提供的开发适配专用版本,开发板 提供了与 ZYJ 内环境(内核、shell、服务、软件)等完全相同的原生环境, 并且去掉了相关的安全限制。用户可以使用开发板环境对应用进行开发、配 置仓库、补充依赖、打包、软件测试等适配工作。开发板可以安装在同架构 通用机型上也可以安装在 ZY 机型上。(注意:通用机型可以连接互联网、 公网;ZY 机型不允许连接互联网、公网!)

各平台开发板镜像地址:各整机厂商在整机出厂时会附带对应版本开发 盘。如未提供,请直接联系整机厂商或麒麟软件销售。

5. zyj 适配流程示意图

6. 准备工具介绍

二、适配过程

1. 安装开发盘镜像

准备好相关版本镜像使用刻录软件进行刻录至相关介质,作为镜像安装介质。这 里推荐 DVD-RW 光盘进行刻录安装。

ZYJ 安装方法:

第一步:开机---secadm 登录---F1 进入 bios---依次选择:安全管理→安全维护 →启动项管理开启/关闭,重启。如图

第二步,重启后,使用 root 登录---F1 进入 bios---更改启动项为光驱启动---F1 0 保存退出---重启后,以 root 用户身份登录,进入光盘引导。如图

第三步,开始加载光盘,加载完成后,(如需度量校验,请按照提示进行度 量校验)展示出安装欢迎界面,正常安装系统即可,如图

通用机型安装方法:

第一步:开机—按照各整机对应的 bios 菜单进入按钮,进入 bios---选择光盘 启动或 usb 存储介质启动,重启。 第二步:启动后,选择安装,根据提示进行安装即可。

2. 在开发板上进行软件编译以及安装、测试等

因 zyj 必须使用格式化安装包形式,并且不允许在 zyj 上直接执行编译动作, 需要先将软件在开发板系统中编译完成后再进行打包上传安装。

请主要关注编译安装过程中的重点步骤

准备相关安装包

一般 GCC、make 工具开发板系统自动预装。如缺失,请补充相关工具。

获取 nginx 主程序编译安装包及相关依赖。

⚫ 在 nginx 官网下载 nginx 主程序

⚫ 在软件源仓库获取已有依赖相关库或下载编译包。

重点步骤:重点文件安装目录规划

⚫ 自适配软件的安装目录 zyj 尽量统一为/opt/下,方便统一管理。

⚫ 后续打包时应与规划目录一一对应不能修改

⚫ 如需指定用户,以 root 为优先。(zyj 中 root 非全权限用户)

⚫ zyj 日志目录/var/log 为单独分区,分区满后会限制用户登录(可以删除)。 日志分区大小固定,不能扩容。在日志文件放置位置上请做好指定。

⚫ 规划示例:

本次 nginx 安装统一目录下的优点是打包时填写配置较为方便。

编译参数

nginx 源文件自带已生成的 configure 文件,相关支持参数可以支持指定位置安装。 且可以指定用户。

本地环境安装测试

第一步 配置软件源或离线安装依赖库(桌面和服务器不相同,如不了解 可咨询整机或联系麒麟销售)

第二步 解压源码包

tar xf nginx-1.12.2.tar.gz

cd nginx-1.12.2

第三步 重点步骤:注意指定目录,生成 makefile 文件

./configure --prefix=/opt/nginx-1.12.2 --user=root --group=root --with-http_ssl_module --with-http_stub_status_module

第四步 make #软件编译

第五步 make install #软件编译安装

重点步骤:验证测试程序,先让软件在开发板上可用

第六步

启动 nginx 服务,进入指定的安装目录找到启动文件

执行:/opt/nginx/sbin/nginx

第七步

利用浏览器访问测试或使用 curl 命令获取 80 端口

可以看到 nginx 的 web 欢迎页信息。如图:

第八步

测试配置环境变量,将启动命令简单化,不再使用绝对路径 export PATH=$PATH:/opt/nginx/sbin

测试关闭 nginx 

到这一步已可以验证在开发板上软件可用,接下来就是需要进行将软件打包,打 包完成后再迁移至 zyj 进行测试使用。

3. 软件打包注意事项

其实生成格式化安装包的方法是多种多样的,并且方法各异,只要掌握了其 中的的重点规则,了解相关文件的具体配置和用法,按照需求配置即可。

我们先来看下 zyj 不同平台的传统打包应用工具,以及注意事项:

4. 服务器打包方法(重点)

那么本次介绍的服务器传统打包方法是基于麒麟操作系统本身自带的 rpmbuild

ZYJ 软件适配参考示例 第 14

工具来进行实现的,主要是配置好 spec 文件。其他方式的打包方法如 fpm 或 c heckinstall 等等,可自行进行研究,本次不做详细介绍,后续整理好后会进行补 充。

三、ZYJ 已适配软件安装迁移

1. 安装工具介绍

zyj 安装软件必须使用使用配置管理工具,然后进行签名,导入安装包。

配置管理工具本身,限定了一个软件的导入和安装方式,就是必须使用安全介质 传输到系统内,通过图形配置管理软件导入这种格式化安装包,不能直接使用二 进制安装方式或者是编译的安装方式,也不能使用命令行进行安装。

2. zyj 软件安装过程

导入安装包至系统

将 U 盘插入专用机,以安全用户放行 U 盘,启动左下角程序中的【三合一管 理】工具,页面认证如图所示,然后注销使用 root 用户将需要安装的 nginx 软件包导出到桌面

四、一些注意事项

1. 多个文件不同安装路径 spec 编写方法

假如我们需要将多个编译安装包或文件打成一个 rpm 包进行同时安装,比如, 我们想使用 systemd 管理 nginx 的启动及开机自启等相关功能,需要将编写好的 的 service 文件导入到系统的 systemd 管理目录中,跟本次 nginx 主目录不是同一 个目录的情况。可通过增加 Source 定义来指定多个文件,通过增加 build 目录来 指定多个目录。

示例如下

2. jar 包打包时的注意事项

由于 jar 包本身就是压缩包,针对此类包,再 build 过程中如果执行了解压动作, 可能会对 jar 包本身造成破坏,导致不可用。所以如果需要导入 jar 包时,需要 去掉解压缩定义%prep 下的%setup -q 参数。并且加入 jar 包安装支持参数,避免jar 文件重新打包,需要添加%define __jar_repack 0 定义。

3. 两种情况都包括

如过两种情况都包括,既有 jar 包,又需要其他文件放入其他目录,且都是单文 件情况下,可以不使用 tar 工具将文件压缩,直接指定文件。

4. 保留软连接

如果软件包内存在软连接,请添加此定义,避免在打包过程中去除。 %define debug_package %{nil}

5. 目录及压缩包命名问题

如果命名不规范,报如下错误:

可添加此定义 %setup -n 软件目录名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/191776.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一次组会汇报(2023/11/18)

目录 一,浅谈学习规划 二, 两个比较典型的注意力机制 ㈠SEnet ⒈结构图 ⒉机制流程讲解 ⒊源码(pytorch框架实现)及逐行解释 ⒋测试结果 ㈡CBAM ⒈结构图 ⒉机制流程讲解 ⒊源码(pytorch框架实现)…

802.11-2020协议学习__专题__TxTime-Calculation__HR/DSSS

802.11-2020协议学习__专题__TxTime-Calculation__HR/DSSS 16.2.2 PPDU format16.2.2.1 General16.2.2.2 Long PPDU format16.2.2.3 Short PPDU format 16.3.4 HR/DSSS TXTIME calculation PREV: TBD NEXT: TBD 16.2.2 PPDU format 16.2.2.1 General 定…

.NET 8 正式 GA 遥遥领先

.NET 8 一正式 已正式 GA。 微软称 .NET 8 提供了数以千计的性能、稳定性和安全性改进,以及平台和工具增强功能,有助于提高开发者的工作效率和创新速度。 比如 .NET 8 为 Android 和 WASM 引入了全新的 AOT 模式、改进 System.Text.Json,以…

ZHUTI主提2024春夏 聆听「宁静的声音」

将自然艺术触达生活 生活与艺术实践活动 ZHUTI主提2024春夏艺术活动「宁静的声音」,将自然艺术真实的触达生活为核心,将原野聚会、黑胶音乐、插花、咖啡、食物、舞蹈、服装等艺术与生活的元素组合在这场芦苇荡中,用一场兼具无穷畅想和独特审…

【C++】进阶模板

非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参:就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使…

问卷工具价格一览:合理定价,满足您的预算需求

在市场调研、市场营销和客户反馈收集等方面,问卷调查是一项重要而有效的工具。而在众多的问卷工具中,Zoho Survey以其丰富的功能和灵活的定价模式而备受关注。Zoho Survey的定价如何?今天我们来聊一聊。 Zoho Survey提供了多种定价方案&…

人机交互——自然语言生成

自然语言生成是让计算机自动或半自动地生成自然语言的文本。这个领域涉及到自然语言处理、语言学、计算机科学等多个领域的知识。 1.简介 自然语言生成系统可以分为基于规则的方法和基于统计的方法两大类。基于规则的方法主要依靠专家知识库和语言学规则来生成文本&#xff0…

kubernetes|云原生| 如何优雅的重启和更新pod---pod生命周期管理实务

前言: kubernetes的管理维护的复杂性体现在了方方面面,例如,pod的管理,服务的管理,用户的管理(RBAC)&#xf…

UML统一建模语言

UML包含3种构造块:事物、关系、图。 事物:模型中代表性成分的抽象关系:把事物结合在一起图:聚集了相关的事物 事物 结构事务:模型的静态部分,包括类、接口、协作、用例、主动类、构件、制品、结点 行为事…

C#实现观察者模式

观察者模式是一种软件设计模式,当一个对象的状态发生变化时,其所有依赖者都会自动得到通知。 观察者模式也被称为“发布-订阅”模式,它定义了对象之间的一对多的依赖性,当一个对象状态改变时,所有依赖于它的对象都会得…

性能分析工具的使用

文章目录 1. 数据库服务器调优的步骤2. 查看系统性能参数3. 统计SQL的查询成本:last_query_cost4. 定位执行慢的SQL:慢查询日志4.1 开启slow_query_log4.2 修改long_query_time阈值4.3 查看慢查询数目4.4 慢查询日志分析工具:mysqldumpslow 5…

【项目设计】网络版五子棋游戏

文章目录 一、项目介绍1. 项目简介2. 开发环境3. 核心技术4. 开发阶段 二、环境搭建1. 安装 wget 工具2. 更换 yum 源3. 安装 lrzsz 传输工具4. 安装⾼版本 gcc/g 编译器5. 安装 gdb 调试器6. 安装分布式版本控制工具 git7. 安装 cmake8. 安装 boost 库9. 安装 Jsoncpp 库10. 安…