Rocky Linux 8 安全加固

Rocky Linux 8 安全加固

1. 系统安装

最小化安装,留足磁盘空间存放日记, 配置内部yum源,安装之后马上更新。

dny update -y

2 系统信息

查看内核信息 uname -a
查看所有软件包 rpm -qa
查看主机名 hostname
查看网络配置 ifconfig -a
查看路由表 netstat -rn
查看开放端口 netstat -an
查看当前进程 ps -aux

3 用户帐号和环境

禁用无用账号

清除了operator、halt、sync 帐号;删除的用户组有:lp、uucp、games、dip;其它系统伪帐号均处于锁定SHELL登录的状态。如果不需要登录系统,shell应该/sbin/nologin。


userdel sync
userdel operator
userdel halt

添加密码策略

加强密码的复杂度等,降低被猜解的可能性。查看”/etc/login.defs”和“/etc/pam.d/system-auth”查看密码策略设置。

##设置用户test密码过期的天数为60天,多用户系统配置。
chage -M 60 test

系统范围密码质量限制的配置详见/etc/security/pwquality.conf配置。

#设置最小密码长度:minlen=8
authconfig --passminlen=8 --update
#为允许的连续相同字符的最大数量设置2
authconfig --passmaxrepeat=2 --update
#新密码中至少需要一位数字
authconfig --enablereqdigit --update

检查特殊账号

验证是否有账号存在空口令的情况:

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

检查除了root以外是否还有其它账号的UID为0:

#任何UID为0的账号在系统上都具有超级用户权限.
awk -F:  '($3 ==0) {print $1 }' /etc/passwd

限制用户远程登录

在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的!

#vi /etc/pam.d/sshd
#%PAM-1.0  
auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10

设置自动注销时间

修改帐户TMOUT值,设置自动注销时间,使用命令“vi /etc/profile”修改配置文件,添加“TMOUT=”行开头的注释,设置为“TMOUT=600”,即超时时间为10分钟。

#vi /etc/profile
#增加
TMOUT=600

设置Bash保留历史命令的条数

修改HISTSIZE=5,即只保留最新执行的5条命令

#vi /etc/profile
HISTSIZE=5

4 调整和关闭非必须的服务

调整SSH服务

调整配置文件:/etc/ssh/sshd_config

#修改SSH端口
Port 6622
#日志级别LogLevel设置为INFO或者DEBUG
LogLevel INFO

对应调整防火墙和SElinux策略

yum -y install policycoreutils-python
semanage port -a -t ssh_port_t -p tcp 6622

关闭6010端口 调整配置文件:/etc/ssh/sshd_config

X11Forwarding no 
 

调整防火墙策略

限制SSH服务访问IP

firewall-cmd --permanent --zone=public --remove-service=ssh
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"  source address="10.0.10.0/22" service name="ssh" accept"
## IP根据实际配置
firewall-cmd --reload

5 系统和网络参数调整

禁止内核转储

##vi /etc/security/limits.conf
* soft core 0
* hard core 0

系统文件加锁

防止未经许可的删除或添加,注意:执行权限修改后,就无法添加和删除用户。

chattr +ia /etc/passwd
chattr +ia /etc/shadow
chattr +ia /etc/group
chattr +ia /etc/gshadow
chattr +ia /etc/services 

6 审计调整

时间同步

保证时间准确,配置/etc/chrony.conf,注释掉无法访问服务器,添加本地时间服务器。

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
##server 0.centos.pool.ntp.org iburst
##server 1.centos.pool.ntp.org iburst
##server 2.centos.pool.ntp.org iburst
##server 3.centos.pool.ntp.org iburst
server time.edu.cn iburst  ##根据实际配置

日记调整

修改rsyslogd日志,rotate>25,日记记录超180天。

/etc/logrotate.conf 
# rotate 30

修订

  • 15:00 2021/12/14

参考