注意:操作时建议做好记录或备份

1.设置密码失效时间 | 身份鉴别

描述:

设置密码失效时间,强制定期修改密码,减少密码被泄漏和猜测风险,使用非密码登陆方式(如密钥对)请忽略此项。

加固建议:

使用非密码登陆方式如密钥对,请忽略此项。在 etc/login.defs 中将 PASS_MAX_DAYS参数设置为 60-180之间,如:

PASS_MAX_DAYS 90

需同时执行命令设置root密码失效时间:

chage --maxdays 90 root

2.设置密码修改最小间隔时间 | 身份鉴别

描述:

设置密码修改最小间隔时间,限制密码更改过于频繁;

加固建议:在 /etc/login.defs 中将 PASS_MIN_DAYS参数设置为 7-14之间,建议为 7:

PASS_MIN_DAYS 7

需同时执行命令为 root用户设置:

chage --mindays 7 root

3.密码复杂度检查 | 身份鉴别

描述:

检查密码长度和密码是否使用多种字符类型

加固建议:

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

minlen=10
minclass=3

4.检查密码重用是否受限制 | 身份鉴别

描述:

强制用户不重用最近使用的密码,降低密码猜测风险

加固建议:

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

remember=5

5.SSHD强制使用V2安全协议 | SSH服务配置

描述:

SSHD强制使用 V2安全协议

加固建议:

编辑 /etc/ssh/sshd_config文件以按如下方式设置参数:

Protocol 2

6.设置SSH空闲超时退出时间 | 服务配置

描述:

设置 SSH空闲超时退出时间,可降低未授权用户访问其他用户 ssh会话的风险

加固建议:

编辑 /etc/ssh/sshd_config,将 ClientAliveInterval设置为 300到 900,即 5-15分钟,将 ClientAliveCountMax设置为 0-3之间。

ClientAliveInterval 600
ClientAliveCountMax 2

7.检查系统空密码账户 | 身份鉴别

描述:

检查系统空密码账户

加固建议:

为用户设置一个非空密码,或者执行 passwd-l锁定用户

8.禁止 SSH空密码用户登录 | SSH服务配置

描述:

禁止 SSH空密码用户登录

加固建议:

编辑文件 /etc/ssh/sshd_config,将 PermitEmptyPasswords配置为 no:

PermitEmptyPasswords no

9.确保密码到期警告天数为7或更多 | 身份鉴别

描述:

确保密码到期警告天数为 7或更多

加固建议:

在 /etc/login.defs中将 PASS_WARN_AGE参数设置为 7-14之间,建议为 7:

PASS_WARN_AGE 7

同时执行命令使root用户设置生效

chage --warndays 7 root

10.确保SSH MaxAuthTries设置为3到6之间 | SSH服务配置

描述:

设置较低的 MaxAuthTrimes参数将降低 SSH服务器被暴力成功的风险。

加固建议:

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

MaxAuthTries 4

11.确保rsyslog服务已启用 | 安全审计

描述:

确保 rsyslog服务已启用,记录日志用于审计

加固建议:

运行以下命令启用 rsyslog服务:

systemctl enable rsyslog
systemctl start rsyslog

12.确保SSH LogLevel设置为INFO | 服务配置

描述:

确保 SSHLogLevel设置为 INFO,记录登录和注销活动

加固建议:

编辑 /etc/ssh/sshd_config文件以按如下方式设置参数(取消注释):

LogLevel INFO

13.访问控制配置文件的权限设置 | 文件权限

描述:

访问控制配置文件的权限设置

加固建议:

运行以下4条命令:

chown root:root /etc/hosts.allow
chown root:root /etc/hosts.deny
chown 644 /etc/hosts.allow
chown 644 /etc/hosts.deny

14.设置用户权限配置文件的权限 | 文件权限

描述:

设置用户权限配置文件的权限

加固建议:

执行以下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

15.开启地址空间布局随机化 | *防范

描述:

它将进程的内存空间地址随机化来增大者预测目的地址难度,从而降低进程被成功的风险

加固建议:

在 /etc/sysctl.conf或/etc/sysctl.d/*文件中设置以下参数:

kernel.randomize_va_space = 2

执行命令:

sysctl -w kernel.randomize_va_space=2

16.确保root是唯一的UID为0的帐户 | 身份鉴别

描述:

除 root以外其他 UID为0的用户都应该删除,或者为其分配新的 UID

加固建议:

除 root以外其他 UID为0的用户

查看命令:

cat /etc/passwd |awk -F:'($3 == 0) { print $1 }'grep -v '^root$')

都应该删除,或者为其分配新的 UID。

CentOS 7 安全基线检查的更多相关文章

  1. 安全运维中基线检查的自动化之ansible工具巧用

    i春秋作家:yanzm 原文来自:安全运维中基线检查的自动化之ansible工具巧用 前几周斗哥分享了基线检查获取数据的脚本,但是在面对上百台的服务器,每台服务器上都跑一遍脚本那工作量可想而知,而且都 ...

  2. linux各版本基线检查脚本(centos6、centos7、ubuntu系列)

    以下是centos7基线检查脚本: #!/bin/bash #version v1. by pensar #操作系统linux 配置规范--centos7 cat <<EOF ****** ...

  3. Linux安全基线检查脚本

    基线检查内容: 一:共享账号检查 配置名称:用户账号分配检查,避免共享账号存在配置要求:1.系统需按照实际用户分配账号; 2.避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享.操作指南 ...

  4. 【基线检查】(高)基线检查--禁用local-infile选项(访问控制)

    (高)基线检查--禁用local-infile选项(访问控制) 描述 禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力 检查提示 -- 加固建议 编辑Mysql配置文 ...

  5. shell脚本 阿里云基线检查一键配置

    一.简介 源码地址 日期:2017/9/1 介绍:安全加固脚本,会符合阿里云基线检查.有幂等性,可重复执行 效果图: 二.使用 适用:centos6/7 语言:中文 注意:脚本是符合阿里云基线检查的配 ...

  6. 完整的WindowsServer服务器系统初始化配置、安全策略加固和基线检查脚本等保2.0适用

    转载自:https://www.bilibili.com/read/cv14326780?spm_id_from=333.999.0.0 0x00 前言简述 最近单位在做等保测评,由于本人从事安全运维 ...

  7. Centos系统 上下文切换的检查思路

    1.什么是上下文切换(Context Switch)? 上下文切换,有时也称做进程切换或任务切换,是指CPU从一个进程或线程切换到另一个进程或线程. 操作系统可以同时运行多个进程, 然而一颗CPU同时 ...

  8. Windows 2008 R2阿里云安全基线检查

    设置密码使用期限策略在管理工具打开本地安全策略,打开路径:安全设置\帐户策略\密码策略,将密码最长使用期限设置为30-180之间,建议值为90,将密码最短使用期限设置为1-14之间,建议值为7. 风险 ...

  9. 阿里云Linux系统基线检查优化

    1.用户权限配置文件的权限优化 描述:设置用户权限配置文件的权限 操作时建议做好记录或备份 chown root:root /etc/passwd /etc/shadow /etc/group /et ...

随机推荐

  1. 兔起鹘落全端涵盖,Go lang1.18入门精炼教程,由白丁入鸿儒,全平台(Sublime 4)Go lang开发环境搭建EP00

    Go lang,为并发而生的静态语言,源于C语言又不拘泥于性能,高效却不流于古板,Python灵活,略输性能,Java严谨,稍逊风骚.君不见各大厂牌均纷纷使用Go lang对自己的高并发业务进行重构, ...

  2. P4315 月下“毛景树”(树链剖分)

    P4315 月下"毛景树"(树链剖分) 题面 简述: 边权转点权(在dfs1处转换) 把一条边权赋值在深度更深的上 需要实现对单边权的染色 , 路径边权的染色 , 路径边权的增加 ...

  3. 6. MGR状态监控 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 节点状态监控 2. MGR事务状态监控 3. 其他监控 4. 小结 参考资料.文档 免责声明 文章推荐: 关于 ...

  4. 迅捷Flutter图片浏览软件

    下载地址: https://github.com/patton88/agile_flutter_picture_show/raw/master/agile_flutter_picture_show_v ...

  5. @Autowired注解 --required a single bean, but 2 were found出现的原因以及解决方法

    @Autowired注解是spring用来支持依赖注入的核心利器之一,但是我们或多或少都会遇到required a single bean, but 2 were found(2可能是其他数字)的问题 ...

  6. PerfView专题 (第十一篇):使用 Diff 功能洞察 C# 内存泄漏增量

    一:背景 去年 GC架构师 Maoni 在 (2021 .NET 开发者大会) [https://ke.segmentfault.com/course/1650000041122988/section ...

  7. 一文了解.Net的CLR、GC内存管理

    一文了解.Net的CLR.GC内存管理 微软官方文档对内存管理和CLR的概述 什么是托管代码? 托管代码就是执行过程交由运行时管理的代码. 在这种情况下,相关的运行时称为公共语言运行时 (CLR),不 ...

  8. Get请求使用请求体传递参数会报400异常的问题

    问题描述: 前端使用Get请求并且使用请求体传递参数,后端使用@RequestBody注解封装参数,这时会出现400的异常信息. 解决方法: 1.Get请求不要使用请求体,使用请求体的话用POST请求 ...

  9. Java开发学习(二十八)----拦截器(Interceptor)详细解析

    一.拦截器概念 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如 ...

  10. 线程池:ThreadPoolExecutor源码解读

    目录 1 带着问题去阅读 1.1 线程池的线程复用原理 1.2 线程池如何管理线程 1.3 线程池配置的重要参数 1.4 shutdown()和shutdownNow()区别 1.5 线程池中的两个锁 ...