博客摘录「 华为云平台-FusionSphere OpenStack 8.2.1 系统加固」2025年7月15日

编号    加固项    "风险
等级"    加固原理/Rationale    审计方法/Audit    期望结果/Expect Results    加固方法/Remediation
1 OpenSSH加固配置                        
1.1 OpenSSH加固配置                        
1.1.1    SSH使用的版本    H    "Open SSH V2版本在安全性能、方便性上有所提高,默认使用V2版本。
如果用户根据实际需要采用V1版本,可登录主机将数值修改为“1”。
"    查看/etc/ssh/sshd_config文件    Protocol被设置为“2”    将Protocol设置为2
1.1.2    SSH密码算法    H    "基于SSH加密传输的安全性需求,请使用以下加密算法:AES128,AES256,AES192,允许同时配置多个算法,以逗号隔开。
"    查看/etc/ssh/sshd_config文件    Ciphers被设置为“aes128-ctr,aes192-ctr,aes256-ctr”(x86系统下)或“aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com”(arm系统下)    将Ciphers配置项设置为“aes128-ctr,aes192-ctr,aes256-ctr”(x86系统下)或“aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes128-gcm@openssh.com,aes256-gcm@openssh.com”(arm系统下)
1.1.3    SSH认证方式    H    允许公钥认证。    查看/etc/ssh/sshd_config文件    PubkeyAuthentication被设置为“yes”    将PubkeyAuthentication设置为“yes”
1.1.4    SSH认证方式    H    允许使用RSA算法进行安全验证。    查看/etc/ssh/sshd_config文件    RSAAuthentication被设置为“yes”(仅X86系统)    将RSAAuthentication设置为“yes”(仅X86系统)
1.1.5    SSH认证方式    H    认证时不需要使用“rhosts”和“shosts”文件。    查看/etc/ssh/sshd_config文件    IgnoreRhosts被设置为“yes”    将IgnoreRhosts设置为“yes”
1.1.6    SSH认证方式    H    不允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。    查看/etc/ssh/sshd_config文件    RhostsRSAAuthentication被设置为“no”(仅X86系统)    将RhostsRSAAuthentication设置为“no”(仅X86系统)
1.1.7    SSH认证方式    H    需要通过密码认证(需要手动在键盘输入密码认证)    查看/etc/ssh/sshd_config文件    PasswordAuthentication被设置为“yes”    将PasswordAuthentication设置为“yes”
1.1.8    SSH访问所有权    H    设置SSH在接收登录请求之前不检查用户目录和rhosts文件的权限和所有权    查看/etc/ssh/sshd_config文件    StrictModes被设置为“yes”    将StrictModes设置为“yes”
1.1.9    SSH登录前显示提示信息    H    设置SSH登录前显示提示信息。默认的提示信息为“Authorized users only. All activity may be monitored and reported.”。    查看/etc/ssh/sshd_config文件    Banner被设置为“/etc/issue.net”    将Banner设置为“/etc/issue.net”
1.1.10    SSH日志    H    "在记录来自sshd的消息的时候,是否给出“facility code”。
 KERN:内核信息。
 DAEMON:与xinetd相关的信息。
 USER:用户程序产生的日志信息。
 AUTH:认证信息。
 MAIL:邮件程序产生的日志信息。
"    查看/etc/ssh/sshd_config文件    SyslogFacility被设置为“AUTH”    将SyslogFacility设置为“AUTH”
1.1.11    SSH日志    H    记录日志提供的详细程度,该值从低到高顺序是:QUIET、FATAL、ERROR、INFO、VERBOSE、DEBUG。    查看/etc/ssh/sshd_config文件    LogLevel被设置为“VERBOSE”    将LogLevel设置为“VERBOSE”
1.1.12    禁止空密码用户登录    H    空密码用户是指口令为空的用户,基于安全考虑禁止空密码用户登录系统。    查看/etc/ssh/sshd_config文件    PermitEmptyPasswords被设置为“no”    将PermitEmptyPasswords设置为“no”
1.1.13    PAM登录认证    H    使用PAM模块认证。    查看/etc/ssh/sshd_config文件    UsePAM被设置为“yes”    将UsePAM设置为“yes”
1.1.14    禁止root用户直接SSH登录系统    H    允许root用户直接登录系统,攻击者可能会暴力破解root密码或绕过认证直接登入系统,获取系统超级权限,因此禁止root用户直接SSH登录系统。    查看/etc/ssh/sshd_config文件    PermitRootLogin被设置为“no”    将PermitRootLogin设置为“no”
1.1.15    允许external_om和internal_base平面网段访问22端口    H    不允许除external_om和internal_base平面网段的其他网段访问22端口    执行命令:iptables-save | grep ssh-INPUT    返回结果中存在external_om和internal_base平面网段    无
2 系统访问安全配置                        
2.1 系统访问安全配置                        
2.1.1    禁止通过CTRL+ALT+DEL重启系统    H    禁止通过"ALT+CTRL+DEL"重启系统,防止机器遭受非授权的人为的重启     查看/etc/systemd/system/ctrl-alt-del.target和/usr/lib/systemd/system/ctrl-alt-del.target    "/etc/systemd/system/ctrl-alt-del.target和
/usr/lib/systemd/system/ctrl-alt-del.target文件不存在"    "删除如下文件和链接
rm -f /etc/systemd/system/ctrl-alt-del.target
rm -f /usr/lib/systemd/system/ctrl-alt-del.target"
2.1.2    设置会话超时后系统自动退出    M    无人看管的终端容易被监听或被攻击,可能会危及系统安全。设置会话在5分钟(300秒)没有活动的情况下会话超时。当会话超时时自动退出终端,降低系统被攻击的风险    查看/etc/profile文件    文件中有: export TMOUT=300    文件中有:export TMOUT=300
2.1.3    限制命令历史记录的数量    M    Linux会自动记录用户输入过的命令,用于问题定位时查看,此处限制最多记录5000条,当超过5000条时,删除最老的记录    查看/etc/profile文件    "文件中有:
export HISTSIZE=5000 
"    "在文件中添加:
export HISTSIZE=5000 
"
2.1.4    禁用魔术键    H    禁用魔术键,避免由于直接发送命令到内核对系统造成影响,增强内核安全性    查看/etc/sysctl.d/60-uvp-security.conf文件    /etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.sysrq”设置为“=0”    /etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.sysrq”设置为“=0”
2.1.6    设置内核oops后系统重启    H    oops是指内核发生严重错误,最普遍的是引用了内存空地址。安全加固默认系统在发生该情况时重启,防止系统带病运行带来严重的影响    查看/etc/sysctl.d/60-uvp-security.conf文件    "/etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.panic_on_oops”设置为“=1”
"    /etc/sysctl.d/60-uvp-security.conf中,将配置项“kernel.panic_on_oops”设置为“=1”
3 文件及目录安全配置                        
3.1 文件及目录安全配置                        
3.1.1    只允许文件属主对本文件进行修改,禁止其他用户对该文件的修改    H    禁止其他用户删除或修改系统日志文件,保证系统日志的完整性    查看/var/log/目录下文件权限    普通用户没有这些文件的修改和执行权限    "执行如下命令。
chmod go-wx /var/log/*
"
3.1.2    设置日志目录和系统命令目录的权限    H    设置/var/log和/sbin、/usr/sbin目录权限为root用户可读写并执行,其他用户可读和可执行    查看/var/log /sbin /usr/sbin目录下文件夹的权限    /var/log /sbin /usr/sbin目录下文件夹的权限分别为755、777、555    "执行如下命令。
chmod 755 /var/log
chmod 777 /sbin
chmod 555 /usr/sbin"
3.1.3    为全局可写目录/tmp设置粘贴位    M    对于公共可写目录/tmp设置粘贴位,避免个人文件被他人修改    查看/tmp目录的权限    /tmp目录的权限信息中有“t”标识    "执行如下命令。
chmod o+t /tmp"
3.1.4    禁止非root用户读写或进入/root目录    H    禁止非root用户读写或进入/root目录    查看/root目录权限    目录权限为700    "执行如下命令。
chmod 700 /root"
3.1.5    设置口令文件权限    H    设置口令文件权限,防止普通用户读取或拷贝加密的口令文件内容。默认权限设置为000,该权限的含义是仅允许root用户进行读操作    查看目录/etc/shadow、/etc/shadow-权限    "/etc/shadow目录权限为000
/etc/shadow-目录权限为000"    "执行如下命令。
chmod 000 /etc/shadow 
chmod 000 /etc/shadow-
"
3.1.6    禁用core dump    H    core dump记录Linux系统运行错误的相关信息,甚至包含了系统的敏感信息,为了防止系统信息泄露,禁止使用core dump    查看/etc/profile文件    ulimit -c”设置为“0”    ulimit -c”设置为“0”
3.1.7    限制at命令的使用权限,禁止非root用户使用at命令    M    at命令用于创建在指定时间自动执行的任务,为避免任意用户通过at命令安排工作,造成系统易受攻击,仅指定root用户可使用该命令    查看/etc/at.deny、/etc/at.allow文件    "/etc/at.deny不存在
/etc/at.allow的所属用户组都是root,权限为400
"    "执行如下命令。
rm -f /etc/at.deny 
rm -f /etc/at.allow 
touch /etc/at.allow
chown root:root /etc/at.allow
chmod 400 /etc/at.allow
"
3.1.8    限制cron命令的使用权限,禁止非root用户使用cron命令    M    cron命令用于创建例行性任务,为避免任意用户通过cron命令安排工作,造成系统易受攻击,仅指定root用户可使用该命令    "查看/etc/cron.deny、/etc/cron.allow文件
"    "/etc/cron.deny不存在
/etc/cron.allow不存在
"    "rm -f /etc/cron.deny 
rm -f /etc/cron.allow "
3.1.9    设置守护进程的umask值    M    umask用来为新创建的文件和目录设置缺省权限,如果没有设定umask值,则生成的文件具有全局可写权限,存在一定的风险。为了提高守护进程新创建文件和目录的安全性,为其设置umask值为027    查看/etc/rc.status文件    umask被设置为“027”    将umask设置为“027”
3.1.10    设置/etc/inittab的模式和所有权    H    设置/etc/inittab的属主和群组都为root,权限为只有root用户可读和可写    查看/etc/inittab文件的权限和所属用户、组    /etc/inittab文件的权限为600,所属用户和组都是root    "执行如下命令
chown root:root /etc/inittab
chmod 600/etc/inittab"
4 帐户口令安全及认证配置                        
4.1 帐户口令安全及认证配置                        
4.1.1    锁定连续三次登录失败的用户    H    锁定连续三次登录失败的用户(包括root),5分钟(300秒)后自动解锁    查看/etc/pam.d/password-auth和/etc/pam.d/system-auth文件    "文件中有如下配置
auth required pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300
auth sufficient pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=300"    "在配置文件/etc/pam.d/password-auth和/etc/pam.d/system-auth中,写入如下内容:
auth required pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=300
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=300
auth sufficient pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=300


"
4.1.2    设置密码复杂度    H    用户密码必须符合相应的复杂度要求    查看/etc/pam.d/password-auth和/etc/pam.d/system-auth文件    "文件中有如下配置:
password    requisite     pam_pwquality.so minlen=8 minclass=3 enforce_for_root try_first_pass local_users_only retry=3 dcredit=0 ucredit=0 lcredit=0 ocredit=0
password required pam_pwhistory.so use_authtok remember=5 enforce_for_root
"    "文件中有如下配置:
password    requisite     pam_pwquality.so minlen=8 minclass=3 enforce_for_root try_first_pass local_users_only retry=3 dcredit=0 ucredit=0 lcredit=0 ocredit=0
password required pam_pwhistory.so use_authtok remember=5 enforce_for_root"
4.1.3    "通用加密算法场景下:密码通过sha512方式进行加密
SM系列商密算法场景下:密码通过sm3方式进行加密"    H    "通用加密算法场景下:使用不可逆的安全的sha512加密算法对密码进行加密
SM系列商密算法场景下:使用不可逆的安全的sm3加密算法对密码进行加密"    "查看“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件"    "文件中有如下配置:
通用加密算法场景下:password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
SM系列商密算法场景下:password sufficient pam_unix.so sm3 shadow nullok try_first_pass use_authtok"    "通用加密算法场景下:在配置文件“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件中,写入password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
SM系列商密算法场景下:
在配置文件“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件中,写入password sufficient pam_unix.so sm3 shadow nullok try_first_pass use_authtok"
4.1.4    验证登录用户的信息是否正确    H    在用户登录系统时使用pam_unix.so验证用户信息是否正确。如果用户信息错误,则禁止用户登录    "查看“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”文件"    "文件中有如下配置
account required pam_unix.so"    "在配置文件“/etc/pam.d/password-auth
”和“/etc/pam.d/system-auth”中,写入如下内容。
account required pam_unix.so
"
4.1.5    设置密码有效期    H    用户需要定期修改密码,密码必须90天以内更换一次,在密码过期前7天提醒用户    查看/etc/login.defs文件    "写入如下内容。
PASS_MAX_DAYS 90 
PASS_MIN_DAYS 0 
PASS_WARN_AGE 7
"    "写入如下内容。
PASS_MAX_DAYS 90 
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
"
4.1.6    限制使用su命令的帐户    H    只允许属于wheel群组的帐户使用su命令    查看/etc/pam.d/su文件    "写入如下内容。
auth required pam_wheel.so use_uid 
"    "写入如下内容。
auth required pam_wheel.so use_uid 
"

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

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

相关文章

永磁同步电机MTPA与MTPV曲线具体仿真实现

永磁同步电机MTPA与MTPV曲线具体仿真实现 近期做了一些标定试验,实际电机参数并不是确定的,而是变化的,因此很难通过解析的方法算出MTPA的对应点,以及在弱磁区如何过度到MTPV。这个在实际情况下都是一点点标出来的,我这…

Adobe Acrobat 插件功能、应用与开发

什么是 Acrobat 插件? Adobe Acrobat 插件是一种能够扩展 Adobe Acrobat 阅读器/查看器功能的软件组件。Acrobat 是用于查看、创建和编辑 PDF 文档的流行程序,而插件可以为其添加新功能,例如: #mermaid-svg-iqdM1wLkFQhd3ilQ {fon…

Redis学习系列之——高并发应用的缓存问题(二)

一、布隆过滤器布隆过滤器由一个 BitMap 和若干 Hash 函数组成,可以用来快速判断一个值是否存在后端存储中。它是解决 Redis 缓存穿透问题的一个不错的解决方案。工作原理步骤1:当 key-value 键值对存储到 Redis 后,向布隆过滤器添加 key步骤…

Expression 类的静态方法

public static MethodCallExpression Call(Type type, // 包含目标方法的类型string methodName, // 方法名称Type[]? typeArguments, // 泛型方法的类型参数(非泛型方法为 null)params Expression[]? arguments // 方…

[Nagios Core] 事件调度 | 检查执行 | 插件与进程

第五章:事件调度 欢迎回到Nagios Core! 在上一章第四章:配置加载中,我们了解了Nagios如何读取配置文件以知晓需要监控的对象,比如我们的朋友"Web Server 1"。此时Nagios内存中已构建完整的基础设施拓扑图。…

Web3 常用前端库介绍

一、Web3 前端开发:连接用户与区块链的桥梁 随着 Web3 生态的蓬勃发展,前端开发从传统的页面渲染进化为区块链交互的核心枢纽。Web3 前端库作为连接用户与区块链的桥梁,承担着钱包集成、合约交互、数据可视化等关键功能。本文将系统解析主流 …

cnpm命令报internal/modules/cjs/loader.js:797 throw err; ^ Error: Cannot find

在运行一个项目的时候,需要升级电脑各组件的版本,结果导致cnpm命令无法正常使用,cnpm任何命令都会报如下这个错:找了半天,发现是由于cnpm与npm的版本不一致导致的,所以需要卸载并重新安装cnpm,重…

15、鸿蒙Harmony Next开发:创建自定义组件

目录 自定义组件的基本用法 自定义组件的基本结构 struct Component freezeWhenInactive build()函数 Entry EntryOptions Reusable 成员函数/变量 自定义组件的参数规定 build()函数 自定义组件生命周期 自定义组件的创建和渲染流程 自定义组件重新渲染 自定义…

深入理解Map.Entry.comparingByValue()和Map.Entry.comparingByKey()

文章目录深入理解Map.Entry.comparingByValue()和Map.Entry.comparingByKey()1. 方法定义comparingByKey()comparingByValue()2. 基本用法2.1 使用comparingByKey()2.2 使用comparingByValue()3. 方法重载版本comparingByKey(Comparator)comparingByValue(Comparator)4. 高级用…

Mac下载mysql

安装 brew list --versions | grep mysql查看已安装的mysql版本brew search mysql查看支持的mysql版本brew info mysql查看mysql版本信息brew install mysql进行安装/opt/homebrew/opt/mysql/bin/mysqld --initialize-insecure --user$(whoami) --basedir$(brew --prefix mysql…

PageHelper使用说明文档

文章目录一、简介二、集成步骤三、使用方法四、注意事项五、高级用法一、简介 PageHelper 是一个开源的 MyBatis 分页插件,它可以帮助我们在使用 MyBatis 进行数据库操作时方便地实现分页功能。通过简单的配置和少量的代码修改,就可以在查询数据时实现分…

grpo nl2sql qwen3 模型强化学习训练有效果的成立条件有哪些

在使用GRPO(强化学习算法)对Qwen3模型在NL2SQL(自然语言到SQL转换)任务上进行强化学习(RL)训练时,其效果成立的核心条件可归纳为以下几个关键维度,这些条件相互关联,共同…

面向向量检索的教育QA建模:九段日本文化研究所日本语学院的Prompt策略分析(6 / 500)

面向向量检索的教育QA建模:九段日本文化研究所日本语学院的Prompt策略分析(6 / 500) 系列说明 500 所日本语言学校结构化建模实战,第 6 篇。每篇拆解 1 所学校在 Prompt-QA 系统中的建模策略,分享工程经验,…

墨刀原型图的原理、与UI设计图的区别及转换方法详解-卓伊凡|贝贝

墨刀原型图的原理、与UI设计图的区别及转换方法详解-卓伊凡|贝贝最近有个设计由于时间比较仓促直接用 原型做的,但是原型做的大家都知道是没法用的,以下讲解原型和ui的区别,其次我们下面有三种方法把墨刀的原型变成UI图。一、墨刀原型图的原理…

前端 nodejs vue2 开发环境和微信开发环境 故障终极处理

现象某个vue2旧项目 引入vue-ls 组件等组件,冲突失败后删除,导致开发环境 vxe-table加载失败,还原后还是不行。前段项目崩溃。报警sass 某个方法 Deprecated ,之前不会处理方式_失败回退代码项目代码 删除 node_modules, 删除 …

【后端】.NET Core API框架搭建(9) --配置使用Log4Net日志

目录 1.添加包 2.新建公用类 3.新建配置 4.注册 4.1.类库项目设置 5.使用 在 .NET Core 项目中使用 Log4Net 做日志记录,具有很多优势。尽管 .NET Core 自带了 ILogger 接口(如使用内置的 ConsoleLogger、DebugLogger 等),但…

Agent交互细节

本文参考了https://www.bilibili.com/video/BV1v9V5zSEHA/视频及原作者代码实践 本文主要实践在第3节1、MCP MCP官方地址:https://modelcontextprotocol.io/introduction MCP 是一个开放协议,它规范了应用程序向 LLM 提供上下文的方式。 架构&#xff1a…

AI+医疗!VR和MR解剖学和针灸平台,智能时代如何重塑健康未来

在智能时代,“AI医疗”正从精准诊断入手,推动医疗系统变革,通过个性化健康管理、智能诊疗辅助等方式重塑健康未来!将人工智能(AI)与虚拟实境(VR)应用到中医教学,透过该系…

Sersync和Rsync部署

学习参考连接 以下是我在学习过程中借鉴的经验和下载资源链接,感谢几位大佬的帮助,也供各位参考。 Rsync踩坑: https://blog.csdn.net/XiaoXiaoYunXing/article/details/120160395 Sersync下载源 http://down.whsir.com/downloads/sersy…

Django基础(四)———模板常用过滤器

前言上篇文章给大家介绍了DTL模板的部分知识点这篇文章继续带大家深入理解Django框架中的模板过滤器一、模板常用过滤器1.add将传进来的参数添加到原来的值上面。这个过滤器会尝试将值和 参数转换成整形然后进行相加。如果转换成整形过程中失败了,那么会将值和参数进…