Linux基线检查( 一)

2023-11-15

什么是基线

即安全基线配置,诸如操作系统、中间件和数据库的一个整体配置,这个版本中各项配置都符合安全方面的标准。 比如在系统安装后需要按安全基线标准,将新机器中各项配置调整到一个安全、高效、合理的数值。

风险分类

系统-等保三级-CentOS Linux 7合规基线检查

检查项目 : 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换

加固建议: 
1、执行`cat /etc/shadow | awk -F: '($2 == "" ) { print $1}' `, 查看空密码账户并处理;
2、查看`/etc/passwd`,检查是否有重复UID的用户并清理; 
3、编辑`/etc/security/pwquality.conf` ,密码最小长度`minlen`设置为8-32之间,`minclass`设置3或4,如 `minlen=10` `minclass=3` 
4、定期更换密码,在 `/etc/login.defs` 中将`PASS_MAX_DAYS`参数设置为 `30-90`之间,如 `PASS_MAX_DAYS 90`。需同时执行命令设置root密码失效时间:`chage --maxdays 90 root` 
5、设置密码最短修改时间,在 `/etc/login.defs` 中将`PASS_MIN_DAYS`参数设置为 `7-14`之间,如 `PASS_MIN_DAYS 7`。需时执行命令为root用户设置:`chage --mindays 7 root `
6、在`/etc/pam.d/password-auth`和`/etc/pam.d/system-auth`中`password sufficient pam_unix.so` 这行的末尾配置`remember`参数为`5-24`之间,建议设为5,即行末尾加`remember=5` 
7、除root以外其他UID为0的用户,都应该删除或者修改其UID

检查项目 : 当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听

加固建议: 
1、编辑 `/etc/ssh/sshd_config` 文件设置参数(Centos7无需配置):` Protocol 2 ` 
2、执行命令`service sshd restart`重启sshd服务 
3、执行以下命令停止Telnet服务: ```systemctl stop telnet.socket systemctl disable telnet.socket ```

检查项目 : 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施

加固建议: 
1、配置登陆失败锁定,编辑`/etc/pam.d/password-auth`和`/etc/pam.d/system-auth`文件,在非注释行的第一行添加以下行(deny为连续失败次数,配置为3-8次,unlock_time为解锁时间,配置为600-1800秒) ```auth required pam_tally2.so onerr=fail audit silent deny=5 unlock_time=900 ```
2、设置系统登陆不活动连接超时退出,编辑`/etc/profile`,将`TMOUT` 设置为300到1800,即5-30分钟 ```TMOUT=900 ```
3、在`/etc/ssh/sshd_config`中取消`MaxAuthTries`注释符号#,设置最大密码尝试失败次数3-6,建议为5:`MaxAuthTries 5`

检查项目 : 应重命名或删除默认账户,修改默认账户的默认口令

加固建议: 
1、(注意:禁止root账户登陆前确保有其他账户可以正常使用)编辑配置文件`/etc/ssh/sshd_config`,将`PermitRootLogin yes` 改为`PermitRootLogin no` 
2、执行`service sshd restart`重启ssh 
3、root之外的系统默认帐户、数据库帐户禁止登陆(non-login) 
4、确保所有系统用户的密码都设置为复杂密码

检查项目 : 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级

加固建议: 
1、执行以下4条命令: ```chown root:root /etc/hosts.allow chown root:root /etc/hosts.deny chmod 644 /etc/hosts.deny chmod 644 /etc/hosts.allow ```
2、执行以下5条命令 ```chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow chmod 0644 /etc/group chmod 0644 /etc/passwd chmod 0400 /etc/shadow chmod 0400 /etc/gshadow ```
3、设置 /etc/ssh/sshd_config 的权限: ```chown root:root /etc/ssh/sshd_config chmod 600 /etc/ssh/sshd_config ```
4、配置/etc/profile文件权限: ```chown root:root /etc/profile chmod 644 /etc/profile ```

检查项目 : 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息

加固建议: 满足另外一个检查项:启用安全审计功能,即满足此项。

检查项目 : 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计

加固建议: 
1、执行命令启用auditd服务:`systemctl start auditd `; 
2、执行命令`systemctl start rsyslog `启用rsyslog服务; 
3、将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
-a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete 
-a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete 
4、将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
-w /etc/group -p wa -k identity 
-w /etc/passwd -p wa -k identity 
-w /etc/gshadow -p wa -k identity 
-w /etc/shadow -p wa -k identity 
-w /etc/security/opasswd -p wa -k identity 
5、将以下行添加到/etc/audit/rules.d/audit.rules和/etc/audit/audit.rules 文件中:
-w /etc/sudoers -p wa -k scope 
-w /etc/sudoers.d/ -p wa -k scope 
重启:auditd: service auditd restart

阿里云标准-CentOS Linux 7安全基线检查

风险分类

系统-阿里云标准-CentOS Linux 7安全基线检查

检测项说明:
基于阿里云最佳实践安全实践的CentOS Linux 7基线标准

检查项目 : 设置密码失效时间

加固建议: 
`使用非密码登陆方式如密钥对,请忽略此项。`
在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如: ```PASS_MAX_DAYS 90 ```需同时执行命令设置root密码失效时间: ```chage --maxdays 90 root ```

检查项目 : 设置密码修改最小间隔时间

加固建议: 在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,
建议为7: ```PASS_MIN_DAYS 7 ```需同时执行命令为root用户设置: ```chage --mindays 7 root ```

检查项目 : 密码复杂度检查

加固建议: 编辑/etc/security/pwquality.conf,把minlen(密码最小长度)设置为9-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如: ```minlen=10 minclass=3 ```

检查项目 : 检查密码重用是否受限制

加固建议: 在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改,只在末尾加了remember=5。

检查项目 : 确保SSH MaxAuthTries设置为3到6之间

加固建议: 在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6,建议为4: ```MaxAuthTries 4 ```

检查项目 : SSHD强制使用V2安全协议

加固建议: 
编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数: ```Protocol 2 ```

检查项目 : 设置SSH空闲超时退出时间

加固建议: 
编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。 ```ClientAliveInterval 600 ClientAliveCountMax 2 ```

检查项目 : 确保SSH LogLevel设置为INFO

加固建议: 
编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数(取消注释): ```LogLevel INFO ```
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux基线检查( 一) 的相关文章

随机推荐

  • NoPrint.js:使用JavaScript在HTML中禁用打印、截屏、复制和粘贴

    NoPrint js是一个小巧整洁的开源JS库 可禁用HTML中的打印 截图 复制和粘贴功能 它还提供启用AutoBlur选项 让鼠标离开网页后内容变得模糊 这个功能可以阻止大多数普通用户截取屏幕截图 NoPrint js可以在几乎所有的浏
  • javaweb期末课设之图书管理系统(附源码)

    一 设计目标 项目是以北京航天航空大学图书管理系统为主题的网站 包含如下功能 注册 登录 用户端 图书查询及借阅 用户端 借阅记录及归还 管理员端 添加及修改图书 管理员端 管理用户信息 用户 管理员端 更改密码 二 运用的软件技术 前端设
  • Spring Boot项目pom

    spring boot web
  • VMware Workstation 虚拟机创建客户端系统,出现此主机不支持64位客户机操作系统问题解决

    安装VMware Workstation 虚拟机 选择centos7 64位是出现此主机不支持64位客户机操作系统 由于是window10系统 我们肯定是支持64的 所以硬件和系统应该是支持的才对 那么可能是哪个系统设置影响到了 有可能有下
  • 编译安装QGLViewerPlugin

    QGLViewer 编译安装步骤 由于工作学习的需要 要用opengl绘制显示些模型动画 原来用的是Qt做UI 直接调用的是QGLWidget类 但这个只是提供了基本的框架 很多交互操作还需添加代码完成 自己偷懒也觉得繁琐 就借用了开源的工
  • linux内核源码分析之页表

    目录 页表说明 虚拟地址转换为物理地址过程 内核中的宏以及说明 页表用来把虚拟页映射到物理页 并且存放页的保护单位 即访问权限 页表说明 5级页表如下 1 页全局目录 Page Global Directory PGD 2 页四级目录 Pa
  • ​Unity的50个重要技巧

    刚开始学习Unity3D时间不长 在看各种资料 除了官方的手册以外 其他人的经验也是非常有益的 偶尔看到老外这篇文章 觉得还不错 于是翻译过来和大家共享 原文地址 50 Tips for Working with Unity Best Pr
  • 区块链系统架构图_区块链模型架构

    一般说来 区块链系统由数据层 网络层 共识层 激励层 合约层和应用层组成 其中 数据层封装了底层数据区块以及相关的数据加密和时间戳等技术 网络层则包括分布式组网机制 数据传播机制和数据验证机制等 共识层主要封装网络节点的各类共识算法 激励层
  • 如何成为一名合格的互联网大厂Python工程师?

    Python开发工程师 是一个在IT行业圈子里一直都很热门的话题 无论是像腾讯 百度这样的大型公司 还是刚刚起步的初创公司 都会招python开发工程师 python已成为越来越多开发者的开发语言选择 而python开发工程师工资基本上都高
  • 投影矩阵的推导(Deriving Projection Matrices)

    本文乃 lt 投影矩阵的推导 gt 译文 原文地址为 http www codeguru com cpp misc misc math article php c10123 1 Deriving Projection Matrices ht
  • ibmmq生产事故

    ibmmq生产事故 在代码中创建了一个没使用的mq的连接对象 也没有进行资源释放 上生产前最好确保连接队列管理器的资源在流程结束后都得到了释放 disconnect 或者进行大批量报文测试 至少需要一百笔 因为ibmmq默认通道连接数是10
  • Neo4j 5的自治图数据库集群

    原文作者 John Stegeman 图数据库产品专家 Neo4j 基于原文翻译并补充整理而成 新近发布的Neo4j 版本5推出了自治集群 Autonomous Cluster 以支持易于部署 可扩展 自容错等重要特性 下面我们就来一睹自治
  • chromedp模拟键盘回车事件

    chromedp 的 SendKeys 可以模拟各种键盘事件 并且支持组合使用 假设以下场景 有一个输入框 我们想模拟键盘输入内容并回车
  • Vuforia VirtualButtons 虚拟按键

    Vuforia VirtualButtons 虚拟按键 注意 1 不介意使用Unity自带的Vuforia 引擎 否则下载商场里的示例项目时可能会因为版本问题产生报错 推荐直接从商店下载示例的引擎使用 2 不推荐下载目前最新9 2版引擎 导
  • Matlab 函数进阶:使用匿名函数和内嵌函数处理多变量传递问题(Matlab 7.0以上)

    from http asc 2dark org node 70 Matlab 函数进阶 使用匿名函数 Anonymous Function 和内嵌函数 Nested Function 处理多变量传递问题 Matlab 7 0以上 问题 有一
  • WPF工控组态软件之温度计

    WPF以其丰富灵活的控件样式设计 相较于WinForm而言 一直是工控组态软件的宠儿 经过前两文章的学习 已经对WPF开发工控组态软件有了一个基本的了解 今天继续学习温度计的开发 仅供学习分享使用 如有不足之处 还请指正 涉及知识点 在本示
  • NotePad++遇到电脑重启或者突然崩溃,已经打开的文件信息和未保存的文件没了怎么办?

    1 崩溃前打开的文件列表信息可以在如下文件中找到 C Users 你当前用户的用户名 AppData Roaming Notepad session xml 里面存放了文件打开列表 2 崩溃前未保存的文件可以在如下路径进行恢复 C User
  • Node.js Buffer的简单使用

    Node js 目前支持的字符编码包括 ascii 仅支持 7 位 ASCII 数据 如果设置去掉高位的话 这种编码是非常快的 utf8 多字节编码的 Unicode 字符 许多网页和其他文档格式都使用 UTF 8 utf16le 2 或
  • JVM 垃圾回收

    JVM 垃圾回收 写在前面 本节常见面试题 问题答案在文中都有提到 如何判断对象是否死亡 两种方法 简单的介绍一下强引用 软引用 弱引用 虚引用 虚引用与软引用和弱引用的区别 使用软引用能带来的好处 如何判断一个常量是废弃常量 如何判断一个
  • Linux基线检查( 一)

    什么是基线 即安全基线配置 诸如操作系统 中间件和数据库的一个整体配置 这个版本中各项配置都符合安全方面的标准 比如在系统安装后需要按安全基线标准 将新机器中各项配置调整到一个安全 高效 合理的数值 风险分类 系统 等保三级 CentOS