【基线加固】Centos7等保二级基线加固(主机安全基线)

1、 确保配置了bootloader配置的权限

chown root:root /boot/grub2/grub.cfg
chmod og-rwx /boot/grub2/grub.cfg

 

2、 确保设置了引导程序密码

使用以下命令创建加密的密码grub2-setpassword:

grub2-setpassword
Enter password:
Confirm password:

 

3、 确保单用户模式需要身份验证

编辑/usr/lib/systemd/system/rescue.service 及/usr/lib/systemd/system/emergency.service 设置ExecStart

ExecStart=-/bin/sh -c "/sbin/sulogin; /usr/bin/systemctl --fail --no-block default"

 

4、 确保核心转储受到限制

将以下行添加到/etc/security/limits.conf或/etc/security/limits.d/*文件中:

* hard core 0

 

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

fs.suid_dumpable = 0

 

运行以下命令来设置活动内核参数

sysctl -w fs.suid_dumpable=0

 

5、 确保启用了地址空间布局随机化(ASLR)

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

kernel.randomize_va_space = 2

 

运行以下命令来设置内核参数:

sysctl -w kernel.randomize_va_space=2

 

6、 确保已配置SSH空闲超时间隔

编辑/etc/ssh/sshd_config文件以设置参数:

ClientAliveInterval 300
ClientAliveCountMax 0

 

7、 确保SSH MaxAuthTries设置为4或更低

编辑/etc/ssh/sshd_config文件以设置参数,如下所示:

 MaxAuthTries 4

 

8、 确保已禁用SSH空密码登录

编辑/etc/ssh/sshd_config文件以设置参数:

 PermitEmptyPasswords no

 

9、 确保配置了密码尝试失败的锁定

编辑/etc/pam.d/password-auth 和/etc/pam.d/system-auth 文件:

auth required pam_faillock.so preauth audit silent deny=5 unlock_time=900
auth [success=1 default=bad] pam_unix.so
auth [default=die] pam_faillock.so authfail audit deny=5 unlock_time=900
auth sufficient pam_faillock.so authsucc audit deny=5 unlock_time=900

 

10、 确保默认用户umask限制为027或更高

编辑/etc/bash.bashrc、/etc/profile和/etc/profile.d/*.sh文件(以及系统上支持的任何其他Shell的适当文件),并添加或编辑umask参数,如下所示:

备注(修复完后运行以下命令以确保是否已完全修复)

grep "umask" /etc/bashrc
grep "umask" /etc/profile
grep "umask" /etc/profile.d/*.sh

 

11、Linux策略部分

a) 要求至少8位,并且由3种类型组成大小写,数字,字符组成
在RHEL 6的 “/etc/pam.d/passwd”文件中添加如下这一行直接添加约束条件:

~]# vi /etc/pam.d/passwd
password required pam_cracklib.so retry=3 minlen=8 minclass=4 maxsequence=3 maxrepeat=3

RHEL 7在“/etc/security/pwquality.conf”文件中添加以下4行约束条件:

~]# vi /etc/security/pwquality.conf
minlen=8 
minclass=4 
maxsequence=3 
maxrepeat=3

retry=3       定义登录/修改密码失败时,可以重试的次数;
type=xxx      当添加/修改密码时,系统给出的缺省提示符是什么,用来修改缺省的密码提示文本。默认是不修改的,如上例。
minlen=8      定义用户密码的最小长度为8位
ucredit=-2    定义用户密码中最少有2个大写字母    (数字为负数,表示至少有多少个大写字母;数字为正数,表示至多有多少个大写字母;下面同理)
lcredit=-4    定义用户密码中最少有4个小写字母
dcredit=-1    定义用户密码中最少有1个数字
ocredit=-1    定义用户密码中最少有1个特殊字符(除数字、字母之外)
remember=5    修改用户密码时最近5次用过的旧密码就不能重用了

b) 不能与前10次密码重复

~]# vi /etc/pam.d/system-auth
 use_authtok 后面添加 remember=5

RHEL7
 ~]# sed -i "s/remember=5/remember=10/g" /etc/pam.d/system-auth

RHEL6 and RHEL 7.1/7.2
 ~]# sed -i 's/\(use_authtok\).*/\1   remember=10/'  /etc/pam.d/system-auth

c) 每90天修改一次

全局配置 
~]# vi /etc/login.defs  #更改
PASS_MAX_DAYS   90   #密码的最大有效期, 99999:永久有期 
PASS_MIN_DAYS   0      #是否可修改密码,0可修改,非0多少天后可修改
PASS_MIN_LEN    8        #密码最小长度,使用pam_cracklib module,该参数不再有效
PASS_WARN_AGE   7     #密码失效前多少天在用户登录时通知用户修改密码

之前已经创建的用户需要单独修改有效期
~]# chage -M 90 -W 7 osa

d) 自动Session锁定:10分钟空闲

~]# vim /etc/ssh/sshd_config   #SSH 会话用户在10分钟内不活动后自动登出。
ClientAliveInterval 600
ClientAliveCountMax 0

测试生效的配置
~]# cat /etc/profile
export TMOUT=600
readonly TMOUT
~]# source /etc/profile

e) 账号自动锁定:5次失败后lock

~]# vi /etc/pam.d/sshd  #第一行配置
auth required pam_tally2.so deny=5 unlock_time=1800

f) 禁止ROOT登录
禁止root登录

~]# vi /etc/sshd/sshd_config
PermitRootLogin no
~]# systemctl restart sshd

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值