centos7 系统安全加固方案

Posted heaven-xi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7 系统安全加固方案相关的知识,希望对你有一定的参考价值。

一.密码长度与有效期

默认配置:

[[email protected] ~]# cat /etc/login.defs |grep PASS_ |grep -v #
PASS_MAX_DAYS    99999
PASS_MIN_DAYS    0
PASS_MIN_LEN    5
PASS_WARN_AGE    7

加固方案:


1.备份配置文件:

# cp -a /etc/login.defs /etc/login.defs.default

2.编辑配置文件并将相关参数改成如下

# vi /etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 6
PASS_MIN_LEN 8
PASS_WARN_AGE 30

备注:

/etc/login.defs文件的pass_min_len 参数并不具备强制性,测试仍然可以设置7位密码。最终需要cracklib来实现。

参数说明:

PASS_MAX_DAYS 密码有效期

PASS_MIN_DAYS 修改密码的最短期限

PASS_MIN_LEN 密码最短长度

PASS_WARN_AGE 密码过期提醒

二.密码复杂度

默认配置:

[[email protected] ~]# cat /etc/pam.d/system-auth | grep  "pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type="
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

加固方案:

1.备份配置文件:
# cp -a /etc/pam.d/system-auth /etc/pam.d/system-auth.default
2.编辑配置文件
# vi /etc/pam.d/system-auth
将password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
 注释并在其下面新增1行 password requisite pam_cracklib.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ocredit=-1 retry=1 type= 
3.保存配置文件

备注:

try_first_pass而当pam_unix验证模块与password验证类型一起使用时,该选项主要用来防止用户新设定的密码与以前的旧密码相同。

minlen=8:最小长度8位

difok=5:新、旧密码最少5个字符不同

dcredit=-1:最少1个数字

lcredit=-1:最少1个小写字符,(ucredit=-1:最少1个大写字符)

ocredit=-1:最少1个特殊字符

retry=1:1次错误后返回错误信息

type=xxx:此选项用来修改缺省的密码提示文本

三.新口令不能与4个最近使用的相同

默认配置:

[[email protected] ~]# cat /etc/pam.d/system-auth |grep use_authtok
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok

加固方案:

1.备份配置文件
2.编辑配置文件:
# vi /etc/pam.d/system-auth
在password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok 所在行的后面添加
remember=5
3.保存配置文件

备注:

记住5个历史密码

四.设置会话超时(5分钟)

默认配置:

加固方案:

1.备份配置文件:
# cp -a /etc/profile /etc/profile.default
2.编辑配置文件:
vi /etc/profile
在文件的末尾添加参数 
export TMOUT=300
3.保存配置文件

 

备注:

5分钟无操作中断登录会话

五.设置history命令时间戳

默认配置:

 无

加固方案:

1.备份配置文件:
略
2.编辑配置文件:
vi /etc/profile
在文件的末尾添加参数
export HISTTIMEFORMAT="%F %T `whoami` "
3.保存配置文件

 

 六.设置登陆失败锁定(终端登录)

默认配置:

加固方案:

1.备份配置文件
2.编辑配置文件:
# vi /etc/pam.d/system-auth
在# User changes will be destroyed the next time authconfig is run.行的下面,添加
auth       required     pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800
3.保存配置文件

 

备注:

通过终端登录,5次登录失败后锁定账号30分钟,锁定期间此账号无法再次登录。

七.禁止root通过ssh远程登录

默认配置:

# cat /etc/ssh/sshd_config |grep PermitRootLogin
#PermitRootLogin yes

 

加固方案:

1.备份配置文件
# cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.default
2.编辑配置文件
vi /etc/ssh/sshd_config
将配置参数#PermitRootLogin yes改成PermitRootLogin no
3.保存配置文件
4.重启ssh服务
# /etc/init.d/sshd restart

 

八.SSH 配置参数增强

1.备份配置文件
2.编辑配置文件
#vi /etc/ssh/sshd_config

(1)禁止空密码登录
将#PermitEmptyPasswords no参数的注释符号去掉,改成
PermitEmptyPasswords no

(2)关闭ssh的tcp转发
将#AllowTcpForwarding yes参数改成
AllowTcpForwarding no

(3)关闭S/KEY(质疑-应答)认证方式
将#ChallengeResponseAuthentication yes参数,改成
ChallengeResponseAuthentication no


(4)关闭基于GSSAPI 的用户认证
将GSSAPIAuthentication yes参数,改成
GSSAPIAuthentication no

3.保存配置文件
4.重启ssh服务

 

九.设置SSH登录警告语

默认配置:

加固方案:

1.备份配置文件
# 略
2.编辑配置文件
#vi /etc/ssh/sshd_config
找到#Banner none参数,在其下一行,增加
Banner /etc/ssh/alert
3.保存配置文件
4新增告警信息文件.
 #vi /etc/ssh/alert
文件内容,设置成
*******************************************************
这里的内容自己定义,可以提示一下登录的用户引起运维人员重视
Warning!!!Any Access Without Permission Is Forbidden!!!
*******************************************************
5.保存后重启ssh服

 

十.设置umask值

默认配置:

# umask
0022

 加固方案:

1.备份配置文件
# cp -a /etc/bashrc /etc/bashrc.default
2.编辑配置文件
# vi /etc/bashrc
在文件末尾增加参数
umask 027
3.保存配置文件
4. 备份配置文件
# cp -a /etc/profile /etc/pr ofile.default
5.编辑配置文件
# vi /etc/profile
在文件末尾增加参数
umask 027
6.保存配置文件

备注:

umask值设置成0027,用于拿掉新增目录与文件的非所有者和所有者所属组的访问权限

默认:

新增目录权限755,即rxwr-xr-x

新增文件权限644,即

rw-r--r—

加固后:

新增目录权限750,即rxwr-x---

新增文件权限640,即

rw-r-----

 十一.禁止Control-Alt-Delete 键盘重启系统命令

 


以上是关于centos7 系统安全加固方案的主要内容,如果未能解决你的问题,请参考以下文章

linux安全加固应关闭啥服务

Linux服务器系统安全加固(centos7系列)

CentOS7 系统服务器初始化配置安全加固内核升级优化常用软件安装的Shell脚本分享

【OS】CentOS7 系统服务器初始化配置、安全加固、内核升级优化

Centos7十五项安全加固标准配置(结合等保3)

腾讯云服务部署(Centos7)+ 安全加固配置