zl程序教程

您现在的位置是:首页 >  系统

当前栏目

基于Centos 7系统的安全加固方案

centos安全系统 基于 方案 加固
2023-09-27 14:28:02 时间

基于centos7版本测试
注意:修改任何配置文件,为保障安全请先备份,命令: cp -a +配置文件路径 +存放位置路径

1.密码长度与有效期

位置:vi /etc/login.defs

修改:

PASS_MAX_DAYS   90     注:密码有效期
PASS_MIN_DAYS   2        注:修改密码最短期限
PASS_MIN_LEN    8        注:密码最短长度
PASS_WARN_AGE   30    注:密码过期提醒

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_pwquality.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 retry=1 authtok_type=
 如何要设定root也要履行该规则,需要添加enforce_for_root
 例如:password requisite pam_pwquality.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 retry=1 enforce_for_root authtok_type=

解释:

minlen=8 最小长度8位
 difok=5 新旧密码最少5个字符不同
 dcredit=-1 最少1个数字
 lcredit=-1 最少1个小写字符
 ucredit=-1 最少1个大写字符
 ocredit=-1 最少1个特殊字符
 retry=1  1次错误后返回错误信息
 type=XXX 此选项用来修改缺省的密码提示文本

3.新口令不能与近期相同

位置:vi /etc/pam.d/system-auth

修改:

在password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok 
所在行的后面添加remember=5

解释:

remeber=5 记住近期5个密码,改密码不能与近期5个有相同的。

4.会话超时

位置:vi /etc/profile

修改:

在文件的末尾添加 export TMOUT=600

解释:

export TMOUT=600 10分钟超时

5.登录失败锁定

位置: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=600 even_deny_root root_unlock_time=1800

解释:

deny=5 5次登录失败
unlock_time=1800 锁定30分钟

6.SSH配置加固

位置: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

重启ssh服务:

systemctl restart sshd.service

7.重用名root

位置:vi /etc/passwd 把里面的root用户修改为想要设定的用户名。保存:wq
位置:vi /etc/shadow 把里面的root用户修改为想要设定的用户名。强制保存:wq!

重启:

重启服务器,使用修改过的用户名登录。
通过查询Id 当前用户 如果UID是0,就修改成功,否则就是未成功。

注意:

如果重启长时间处于运行的服务器可能会导致系统崩溃。
修改root用户名后,会导致登录系统出现10秒左右的延迟。

8.查询是否存在特权账户与空口令

awk -F: '$3==0 {print $1}' /etc/passwd 查询是否存在特权账户
awk -F: 'length($2)==0 {print $1}' /etc/shadow 查询是否存在空口令

修改:

如果存在特权账户,删除除root以外的任何账户。
如果存在空口令,为该用户设定密码。

9.删除多余用户

userdel 用户名

10.设定禁止root远程登录

位置:vi /etc/ssh/sshd_config

修改:

PermitRootLogin no

11.日志上传服务器

位置:vi /etc/rsyslog.conf

修改:

*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages  找到这行添加下面的内容
*.* @@172.16.x.xx:514
*.* @172.16.x.xx:514

注:

@@表示TCP流量,@表示UDP流量。

12.防火墙

systemctl start firewalld  开启防火墙
systemctl enable firewalld  自启动
firewall-cmd --per --add-port=80/tcp 开启80端口
firwall-cmd --reload 重载防火墙
firewall-cmd --list-all  查看防火墙端口