V10 桌面版、服务器版系统加固

news2024/11/22 18:20:33

V10 桌面版、服务器版系统加固

一、 文档说明

本文档中涉及的加固方法主要包括:密码策略配置、防火墙规 则配置、禁用高风险服务等。

二、 V10 桌面版系统加固

2.1 密码策略配置

密码策略包括密码老化控制策略和密码复杂度策略。密码老化 控制策略需要配置/etc/login.defs 文件;密码复杂度策略需要配 置/etc/pam.d/common-password 文件,在 V10 系统中还可以通过修 改/etc/security/pwquality.conf 文件对密码复杂度进行限制。

/etc/login.defs 是设置用户帐号限制的文件,文件中的配置 对 root 用户无效,该文件用于设定在用户新创建的时候对应的目 录、日志等创建的位置、权限等。如果/etc/shadow 文件里有相同 的选项,则以/etc/shadow 里的设置为准,/etc/shadow 的配置优先 级高于/etc/login.defs。

/etc/pam.d/common-password 的优先级高于 pwquality.conf

文件,在/etc/pam.d/common-password 中没有限制的参数才会再到

pwquality.conf 文件中进行匹配。

/etc/pam.d/common-password 文件可用于所有已经存在的及未 来创建的帐号的密码复杂度限制,在该文件中用到 pam_pwquality

模块,在 V4-SP4 和 V10 版本中开始使用 pam_pwquality 模块取代

pam_cracklib 模块,V4-SP1、V4-SP2、V4-SP3 系统中支持使用

pam_cracklib 模块,但是需要安装相关软件包。

密码老化控制策略配置:

过滤掉注释和空行后/etc/login.defs 内容如下图:

/etc/login.defs 文件可以对新创建的用户的邮件目录、日志 启停、终端权限、系统掩码、密码老化控制、UID 和 GID 的最值等 模块进行限制,本文中只关注密码老化控制部分,在密码老化控制 部分有 3 个常用参数可以进行配置,分别是:

PASS_MAX_DAYS #密码最长使用天数

PASS_MIN_DAYS #密码最小使用天数

PASS_WARN_AGE #密码过期时提前告警天数

这些参数在 V10 桌面系统版中是默认参数值如下:

加固现场如果需要修改相关参数直接将参数值进行修改即可, 参数值是 0 时表示不限制。例如要求“最长使用天数 30 天,最小使 用天数 15 天,过期前 7 天进行提示”可以将参数修改为:

密码复杂度策略配置:

过滤掉注释和空行后/etc/pam.d/common-password 文件内容默 认如下:

/etc/pam.d/common-password 文件中只设置了 retry=3 这个参 数,意思是输入密码时可以尝试 3 次,超过 3 次将中止此次密码输 入,其他参数将全部从 pwquality.conf 文件中读取。

pwquality.conf 文件中所有内容默认注释,注释的参数值是默 认值;在/etc/pam.d/common-password 文件中未进行相关参数的设 置时,pwquality.conf 文件中以键值对方式存在的参数默认生效。 下面看一下 pwquality.conf 文件中都有哪些参数:

对上图中的参数进行说明:

# difok = 0 #新密码与旧密码至少多少个字符数不同,此参 数生效需要安装 libpam-cracklib 软件包,并且对使用 root 权限修 改密码时无效。

# minlen = 6 #密码最小长度,默认值最少 6 位,参数值小于 6 时使用默认值

# dcredit = 0 #数字字符个数,默认不校验,至少 1 个数字字 符参数用“-1”表示

# ucredit = 0 #大写字母个数,默认不校验,至少一个大写字 符参数用“-1”表示

# lcredit = 0 #小写字母个数,默认不校验,至少一个小写字 符参数用“-1”表示

# ocredit = 0 #特殊字符个数,默认不校验,至少一个特殊字 符参数用“-1”表示

# minclass = 2 #在数字、大写字母、小写字母、特殊字符中至 少 2 种进行组合

# maxrepeat = 0 #最多重复字符个数

# maxclassrepeat = 0 #新密码中同一类允许的最大连续字符数 个数

# gecoscheck = 0 #是否检查用户的 passwd 条目 GECOS 字符串 中的单词

# dictcheck = 0 #密码校验,开启后新密码不能在 cracklib 字 典中出现

# usercheck = 0 #是否校验密码中以某种形式包含用户名

# enforcing = 1 #由 PAM 模块和其他模块强制执行校验

# dictpath = #cracklib 字典存储路径,默认没有指定

# retry = 1 #密码输入时尝试次数 除了上述以键值对方式存在的参数还要一些其他参数: # enforce_for_root #对 root 用户密码强制检查

# local_users_only #跳过校验/etc/passwd 中不存在的用户的 密码

# palindrome #检查新密码是否为回文

# no_similar_check #是否检查新密码与旧密码相同,对使用

root 权限修改密码无效 上面的 4 个参数在安全加固时一般不用,而以键值对方式存在的参 数不仅可以在 pwquality.conf 文件中直接更改参数值还可以将对应 参数写到/etc/pam.d/common-password 文件中 pam_pwquality.so

模块的后面,多个参数使用空格分开即可。pwquality.conf 文件中 参数值是 0 时代表不开启或不限制。 以加固现场要求密码长度最少 8 位、最少 3 种字符自由组合、 不允许密码中包含用户名、最多尝试输入 3 次密码为例子修改

/etc/pam.d/common-password 文件:

修改完参数后修改密码验证参数是否生效:

在修改密码时对不满足复杂度要求的密码成功进行限制。 也可以将“minlen=8 minclass=3 usercheck=1 retry=3”四个 参数在 pwquality.conf 文件中进行修改以满足例子中的需求:

修改完参数后修改密码验证参数是否生效:

在修改密码时对不满足复杂度要求的密码成功进行限制。

提示: 在现场对密码复杂度加固后,在允许的情况下建议修改一次root 密码,以防止后续密码不满足复杂度导致无法正常使用的情 况。

2.2 防火墙规则配置

防火墙配置主要是根据现场要求配置防火墙规则对源 IP、源端 口、目的 IP、目的端口、协议五元组中的信息进行限制,在 V10 桌 面系统中默认开启 ufw 防火墙服务,并且可以使用 ufw 命令进行防 火墙规则配置。具体的 ufw 命令配置防火墙的方法可以参考文档

《Kylin_UFW 防火墙操作文档-M20210823.pdf》。

2.3 禁用高风险服务

禁用高风险服务是指停止系统中存在风险的服务并且关闭相关 服务开机自启达到禁止高风险服务对外提供服务的目的。例如禁用

SSH 服务、禁用 SAMBA 服务、禁用 DNS 服务等,具体要禁用什么服 务可以根据用户要求决定。以禁用 SSH 服务为例:

查看 SSH 服务状态:systemctl status ssh

停止 SSH 服务:systemctl stop ssh

关闭 SSH 服务开机自启:systemctl disable ssh

禁用服务的方法是通用的,只需要确定好禁用服务的名称按照 上边的三个步骤进行禁用即可。

三、 V10 服务器版系统加固

3.1 密码策略配置

V10 服务器版密码策略配置也分为密码老化控制策略和密码复 杂度策略,密码老化控制策略修改/etc/login.defs,密码复杂度策 略修改/etc/pam.d/system-auth 或者 pwquality.conf 文件,文件 所在路径是/etc/security/下。

V10 桌面版与 V10 服务器版修改密码策略的方法区别不大,主 要就是文件名称和文件默认内容存在差异,但是修改方法基本一 致,所以 V10 服务器版中具体修改方法不再赘述,只将 V10 服务器 版系统有差异的地方进行说明。

V10 服务器版的/etc/login.defs 文件中与密码老化相关的参数 默认设置了四个:

默认参数比 V10 桌面系统多了一个 PASS_MIN_LEN, 代表密码最小长 度(V10 桌面系统中也可以加限制密码长度的参数)而在 V10 服务 器版的 pwquality.conf 中也限制了密码的最小长度,在login.defs 和 pwquality.conf 文件同时限制了密码最小长度时是 以 pwquality.conf 文件中的为准,也就是 pwquality.conf 的优先 级高于 login.defs 的优先级。在 V10 桌面和 V10 服务器系统中密码 复杂度的优先级顺序是:/etc/pam.d/目录下的配置文件 >

pwquality.conf 文件 > login.defs 文件。 综上可知 login.defs 文件中的 PASS_MIN_LEN 参数并不会生 效,有些漏扫软件会根据配置文件中某些参数值是否存在来判断是 否符合安全标准,所以如果遇到漏扫软件误报没有 PASS_MIN_LEN 等 参数时可以手动将参数添加到配置文件中。

V10 服务器中 pwquality.conf 文件中的参数与 V10 桌面系统中 的参数含义同,/etc/pam.d/system-auth 文件与 V10 桌面系统/etc/pam.d/common-password 文件配置参数的方法相同,可以参考上文在 V10 桌面系统中的配置方法,此处不再赘述。还是以要求 “密码最少 8 位、可重试 3 次、最少 3 种字符组合、不允许包含用 户名”为例修改配置文件。先看一下 pam_pwquality.so 默认配置的 参数:

按照例子中的要求进行修改:

验证配置是否生效:

可以成功拦截不满足密码复杂度的密码说明配置生效。

提示: 在现场对密码复杂度加固后,在允许的情况下建议修改一次root 密码,以防止后续密码不满足复杂度导致无法正常使用的情 况。

3.2 防火墙规则配置

在 V10 服务器版系统中系统默认启动 firewalld 防火墙服务, 如果没有特殊要求可以直接iptables 命令进行防火墙规则的配 置,iptables 命令的使用方法可以参考文档《Kylin_Iptables 防火 墙配置方法-M20210820.pdf》。

3.3 禁用高风险服务

禁用服务方法参考 V10 桌面版或参考附录 1 中的服务启停命 令。

四、 其他

安全加固时除了上文说的密码策略加固、防火墙加固、禁用高 风险服务加固还有一些普通的配置加固,可以参考下面的命令进行 加固:

SSH 服务不允许 root 用户远程登陆:(桌面、服务器通用)

sed -i.bak 's/^PermitRootLogin yes$/PermitRootLogin no/' /etc/ssh/sshd_config

SSH 服务黑、白名单:(V10 桌面版):

SSH 服务黑、白名单:(V10 服务器版)

在/etc/ssh/sshd_config 文件中加入下图红框中的信息,代表 禁止来自 192.168.253.218 地址 root 用户登陆,修改配置后需要重 启 SSH 服务。用户名和 IP 地址可以用*代表所有,但是格式一定要 符合:用户名@IP 地址,限制多个使用空格分隔。

白名单使用 AllowUsers 参数,黑名单使用 DenyUsers 参数。AllowUsers 优先级高于 DenyUsers。

关键目录权限需要设置到最小可用:(桌面、服务器通用)

上面的命令只是示例,具体权限要求根据现场要求设定。

系统默认掩码值配置:

echo "umask 077" >> /etc/bash.bashrc (仅桌面系统可用)

echo "umask 077" >> /etc/profile (桌面、服务器系统通用)

具体掩码值根据现场要求设定即可。

系统默认掩码值配置:(桌面、服务器通用)

echo "export TMOUT=600" >> /etc/profile

禁用 ipv4 转发功能:

方法 1: sysctl -w net.ipv4.ip_forward="0"

方法 2: echo 0 > /proc/sys/net/ipv4/ip_forward

如果需要开机默认设置该参数可以将命令写到/etc/rc.local文件中。

由于每个加固点位的要求不尽相同,本文档不再一一例举,可 以参考附录 2 中的 V10 加固脚本进行加固验证。

附录 1: 服务启停相关命令

1.服务状态查看:systemctl status 服务名

2.停止服务:systemctl stop 服务名

3.启动服务:systemctl start 服务名

4.重启服务:systemctl restart 服务名

5.查看服务是否开机启动:systemctl is-enabled 服务名

6.关闭服务开机启动:systemctl disable 服务名

7.启用服务开机启动:systemctl enable 服务名

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Power Automate-当收到HTTP请求时触发流程

选择创建自动化云端流,点跳过 第一个操作搜索HTTP,点击当收到HTTP请求时 点击使用示例有效负载生成架构 写入JSON,点击完成 正文JSON架构就自动生成了,再点击左下角的显示高级选项 Method根据需求选择 可以选择JSON中的参数赋值给…

网络安全(黑客技术)—高效自学

前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学 今天给大家分享一下,很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习…

【ARM Trace32(劳特巴赫) 使用介绍 2.1 -- TRACE32 Practice 脚本 cmm 脚本学习】

请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】 上篇文章【ARM Trace32(劳特巴赫) 使用介绍 2 - Veloce 环境中使用trace32 连接 Cortex-M33】 下篇文章【ARM Trace32(劳特巴赫) 使用介绍 2.2 – TRACE32 进阶命令之 DIAG 弹框命令】 文章目录 1. TRACE32 Practice 语法1.…

【转载】快速搭建OpenGL环境!!!Windows10 + Visual Studio 2019 搭建OpenGL环境

目录 具体链接: 【转自】 完成后效果如下: 一开始的爆红: 下载安装后: 运行成功: 具体链接: 萌新向!!!Windows10 Visual Studio 2019 搭建OpenGL环境(…

StringBuffer和StringBuilder的区别与联系

文章目录 区别一览StringBuffer如何实现多线程同步关键字(Synchronized)性能考虑使用场景 当不使用多线程的情况下,是否StringBuffer和StringBuilder的性能一样?性能差异原因实践中的选择结论 区别一览 StringBuffer 和 StringBu…

实际使用Elasticdump工具对Elasticsearch集群进行数据备份和数据还原

文/朱季谦 目录一、Elasticdump工具介绍二、Elasticdump工具安装三、Elasticdump工具使用 最近在开发当中做了一些涉及到Elasticsearch映射结构及数据导出导入的工作,怕以后会把这过程忘记,可谓好记性不如烂笔头,故而记录成一篇博文。 玩El…

Jenkinsfile+Dockerfile前端vue自动化部署

前言 本篇主要介绍如何自动化部署前端vue项目 其中,有两种方案: 第一种是利用nginx进行静态资源转发;第二种方案是利用nodejs进行启动访问; 各个组件版本如下: Docker 最新版本;Jenkins 2.387.3nginx …

【项目】云备份系统基础功能实现

目录 一.项目介绍1.云备份认识2.服务端程序负责功能与功能模块划分3.客户端程序负责功能与功能模块划分4.开发环境 二.环境搭建1.gcc升级7.3版本2.安装jsoncpp库3.下载bundle数据压缩库4.下载httplib库 三.第三方库认识1.json(1)json认识(2)jsoncpp认识(3)json实现序列化(4)jso…

解决公网下,k8s calico master节点无法访问node节点创建的pod

目的:解决pod部署成功后,只能在node节点访问,而master节点无法访问 原因:集群搭建时,没有配置公网进行kubectl操作,从而导致系统默认node节点,使用内网IP加入k8s集群!如下&#xff…

短视频ai剪辑分发账号矩阵系统(招商oem)----源头技术开发

短视频ai剪辑分发账号矩阵系统 1. 视频剪辑工具——原创短视频一键生成,视频剪辑亮点分析 (1)多模式智能剪辑 包含智能混剪逻辑、智能组合、场景顺序、图片生成视频等多种模式。在视频创作上也做了简化,即使是没有剪辑能力的创…

多维时序 | MATLAB实现PSO-GRU-Attention粒子群优化门控循环单元融合注意力机制的多变量时间序列预测

多维时序 | MATLAB实现PSO-GRU-Attention粒子群优化门控循环单元融合注意力机制的多变量时间序列预测 目录 多维时序 | MATLAB实现PSO-GRU-Attention粒子群优化门控循环单元融合注意力机制的多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MAT…

32位单片机PY32F040,主频72M,外设丰富,支持断码LCD

PY32F040 系列微控制器采用高性能的 32 位 ARM Cortex-M0 内核,宽电压工作范围的 MCU。嵌入高达 128 Kbytes flash 和 16 Kbytes SRAM 存储器,最高工作频率 72 MHz。LQFP64封装两块出头就可以拿到,我们还有开发板和开发资料帮助客户更好的开发。 PY32F040 系列微控…

Ps:锁定图层

使用“图层”面板上的锁定图层 Lock Layer功能可以完全或部分锁定图层以保护其内容。 比如,在完成某个图层后希望它不再被修改(包括不透明度和图层样式等),可将其完全锁定。 如果不想更改图像,但对其摆放位置还在犹豫不…

CTFhub-RCE-过滤空格

1. 查看当前目录&#xff1a;127.0.0.1|ls 2. 查看 flag_890277429145.php 127.0.0.1|cat flag_890277429145.php 根据题目可以知道空格被过滤掉了 3.空格可以用以下字符代替&#xff1a; < 、>、<>、%20(space)、%09(tab)、$IFS$9、 ${IFS}、$IFS等 $IFS在li…

家庭网络中的组网方式

家庭网络中&#xff0c;目前也衍生出了比较多的组网方式&#xff0c;也不是只有Easymesh&#xff0c;我们还是要辩证的去看&#xff0c;没有绝对的好和坏&#xff0c;需求不同&#xff0c;取舍不同。 这里博主简单的介绍几种组网方式&#xff0c;上图也比较直观 1.wds wds是…

大数据分析与应用实验任务八

大数据分析与应用实验任务八 实验目的 进一步熟悉pyspark程序运行方式&#xff1b;熟练掌握pysaprk RDD基本操作相关的方法、函数。 实验任务 进入pyspark实验环境&#xff0c;在图形界面的pyspark命令行窗口中完成下列任务&#xff1a; 在实验环境中自行选择路径新建以自…

新零售系统平台解决方案 线上线下小程序怎么做

新零售线上线下解决方案是将传统零售业务与互联网科技相结合&#xff0c;通过数字化、智能化手段提升零售业务效率和用户体验的解决方案&#xff0c;它既有提供消费者线下体验&#xff0c;强调“稳”&#xff0c;又有互联网线上的“快”。 线上线下小程序可以通过一体化的进销存…

文本格式清理工具 TextSoap mac中文版软件特色

TextSoap mac是一款文本格式清理工具。TextSoap可以帮助用户清除掉text文档内的文字格式&#xff0c;还可以将文档内的url转换成超链接&#xff0c;简单方便&#xff0c;是你日常办公不可缺少的工具。 TextSoap for mac软件特色 1、清洁界面 2、集成文本编辑器 3、100多个内…

全栈工程师必须要掌握的前端Html技能

作为一名全栈工程师&#xff0c;在日常的工作中&#xff0c;可能更侧重于后端开发&#xff0c;如&#xff1a;C#&#xff0c;Java&#xff0c;SQL &#xff0c;Python等&#xff0c;对前端的知识则不太精通。在一些比较完善的公司或者项目中&#xff0c;一般会搭配前端工程师&a…

OpenCV图像纹理

LBP描述 LBP&#xff08;Local Binary Pattern&#xff0c;局部二值模式&#xff09;是一种用来描述图像局部纹理特征的算子&#xff1b;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikinen, 和D. Harwood 在1994年提出&#xff0c;用于纹理特征提取…