centos7.9 安全加固的记录

前提:准备备份文件夹用于存放原有文件

mkdir -p /root/centos79/reinforcement/

一、/etc/login.defs文件

1.1 备份基础文件

cp -a /etc/login.defs  /root/centos79/reinforcement/login.defs.default

1.2、密码长度及有效期

涉及参数

  • PASS_MAX_DAYS
  • PASS_MIN_DAYS
  • PASS_MIN_LEN
  • PASS_WARN_AGE

加固命令

sudo sed -i 's/^#\?PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/g' /etc/login.defs && sudo sed -i 's/^#\?PASS_MIN_DAYS.*/PASS_MIN_DAYS 6/g' /etc/login.defs  && sudo sed -i 's/^#\?PASS_MIN_LEN.*/PASS_MIN_LEN 8/g' /etc/login.defs && sudo sed -i 's/^#\?PASS_WARN_AGE.*/PASS_WARN_AGE 30/g' /etc/login.defs

加固结果

cat /etc/login.defs |grep PASS_ |grep -v '#'
PASS_MAX_DAYS 90
PASS_MIN_DAYS 6
PASS_MIN_LEN 8
PASS_WARN_AGE 30

二、/etc/pam.d/system-auth 文件

2.1 备份基础文件

cp -a /etc/pam.d/system-auth  /root/centos79/reinforcement/system-auth.default

2.2 密码复杂度

涉及参数

  • minlen
  • difok
  • dcredit
  • lcredit
  • ocredit
  • retry

加固命令

sudo sed -i 's/^#\?password    requisite.*/password    requisite     pam_cracklib.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ocredit=-1 retry=1 type=/g' /etc/pam.d/system-auth

加固结果

cat /etc/pam.d/system-auth | grep  "password    requisite     pam_cracklib.so"
password    requisite     pam_cracklib.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ocredit=-1 retry=1 type=

2.3 历史密码不相同次数

涉及参数

  • remember

加固命令

sudo sed -i 's/^#\?password    sufficient.*/password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5 /g' /etc/pam.d/system-auth

加固结果

cat /etc/pam.d/system-auth |grep "password    sufficient"
# 输出
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5

2.4 设置登陆失败锁定

涉及参数

  • root_unlock_time
  • deny
  • unlock_time
  • even_deny_root

加固命令

sudo sed -i '/PAM-1.0/a auth        required      pam_tally2.so    deny=5    unlock_time=300 even_deny_root root_unlock_time=600' /etc/pam.d/system-auth

加固结果

cat /etc/pam.d/system-auth |grep "unlock_time"
# 输出
auth        required      pam_tally2.so    deny=5    unlock_time=300 even_deny_root root_unlock_time=600

三、/etc/profile 文件

3.1 备份基础文件

cp -a /etc/profile  /root/centos79/reinforcement/profile.default

3.2 设置会话时间

涉及参数

  • TMOUT

加固命令

sed -i '$a export TMOUT=300' /etc/profile

加固结果

cat /etc/profile |grep "TMOUT"
# 输出
export TMOUT=300

3.3 设置history命令时间戳

涉及参数

  • HISTTIMEFORMAT

加固命令

sed -i '$a export HISTTIMEFORMAT="%F %T `whoami` "' /etc/profile

加固结果

cat /etc/profile |grep "HISTTIMEFORMAT"
# 输出
export HISTTIMEFORMAT="%F %T `whoami` "

3.4 增加history保存条数

涉及参数

  • HISTSIZE

加固命令

sudo sed -i 's/^#\?HISTSIZE=.*/HISTSIZE=3000/g' /etc/profile

加固结果

cat /etc/profile |grep "HISTSIZE="
# 输出
HISTSIZE=3000

四、 /etc/ssh/sshd_config 文件

4.1 备份原始文件

cp -a /etc/ssh/sshd_config /root/centos79/reinforcement/sshd_config.default

4.2 禁止root远程访问

涉及参数

  • PermitRootLogin

加固命令

sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/g' /etc/ssh/sshd_config

加固结果

cat /etc/ssh/sshd_config |grep 'PermitRootLogin'
# 输出
PermitRootLogin no

4.3 参数增强

涉及参数

  • PermitEmptyPasswords
  • AllowTcpForwarding
  • ChallengeResponseAuthentication
  • GSSAPIAuthentication
  • MaxAuthTries
  • LogLevel

加固命令

sudo sed -i 's/^#\?PermitEmptyPasswords.*/PermitEmptyPasswords no/g' /etc/ssh/sshd_config && sudo sed -i 's/^#\?AllowTcpForwarding.*/AllowTcpForwarding no/g' /etc/ssh/sshd_config && sudo sed -i 's/^#\?ChallengeResponseAuthentication.*/ChallengeResponseAuthentication no/g' /etc/ssh/sshd_config &&  sudo sed -i 's/^#\?GSSAPIAuthentication.*/GSSAPIAuthentication no/g' /etc/ssh/sshd_config &&  sudo sed -i 's/^#\?MaxAuthTries.*/MaxAuthTries 3/g' /etc/ssh/sshd_config &&  sudo sed -i 's/^#\?LogLevel.*/LogLevel INFO/g' /etc/ssh/sshd_config

加固结果

cat /etc/ssh/sshd_config |grep  -E "PermitEmptyPasswords|AllowTcpForwarding|ChallengeResponseAuthentication|GSSAPIAuthentication|MaxAuthTries|LogLevel" |grep -v '#'
# 输出
PermitEmptyPasswords no
ChallengeResponseAuthentication no
GSSAPIAuthentication no
AllowTcpForwarding no

4.4 设置banner

涉及参数

  • Banner

加固命令

sudo sed -i 's/^#\?Banner none.*/Banner \/etc\/ssh\/banner/g' /etc/ssh/sshd_config && touch /etc/ssh/banner && echo "The content of the banner" > /etc/ssh/banner

加固结果

cat /etc/ssh/sshd_config |grep 'Banner' && cat /etc/ssh/banner
# 输出
Banner /etc/ssh/banner
The content of the banner

五、/etc/issue和/etc/issue.net 和/etc/motd文件

5.1 备份原始文件

cp -a /etc/issue /root/centos79/reinforcement/issue.default && cp -a /etc/issue.net  /root/centos79/reinforcement/issue.net.default && cp -a /etc/motd /root/centos79/reinforcement/motd.default

5.2 隐藏版本信息

加固命令

echo  "" >/etc/issue && echo  "" >/etc/issue.net && echo  "" > /etc/motd && echo "The content of the banner" > /etc/issue &&  echo "The content of the banner" > /etc/issue.net && echo "The content of the banner" > /etc/motd

加固结果

cat /etc/issue && cat /etc/issue.net && cat /etc/motd

六、 /etc/shadow 文件

6.1 备份基础文件

cp -a /etc/shadow  /root/centos79/reinforcement/shadow.default

6.2 检查空密码

检查命令

awk -F: '($2 == ""){print $1}' /etc/shadow

如果没有输出则为正常

七、 /etc/passwd 文件

7.1 备份基础文件

cp -a /etc/passwd  /root/centos79/reinforcement/passwd.default

7.2 检查UID为0的用户

检查命令

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

如果只输出root则为正常

八、日志服务

涉及服务

  • rsyslog.service

检查命令

systemctl status rsyslog.service

九、审计服务

涉及服务

  • auditd.service

检查命令

systemctl status auditd.service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值