服务器linux系统加固
- 删除不必要的用户
#查看当前用户列表
cat /etc/passwd
#删除lp,sync,halt,shutdown,news,games等不必要的用户
#删除用户命令如下:
userdel lp
- 限制超级管理员root用户远程登录
vi /etc/ssh/sshd_config
#修改以下内容:
#PermitRootLogin yes
#改为:
PermitRootLogin no
- 修改配置仅允许管理员CONSOLE登录(局域网内服务器可以参考,否则需要谨慎):
vi /etc/securetty
#修改下边内容为:
CONSOLE = /dev/tty01
- 开启系统日志
#启动rsyslog服务
/etc/rc.d/init.d/rsyslog start
#查看配置
cat /etc/rsyslog.conf
cat /var/log/secure
- 开启记录系统安全事件
#打开配置文件
vi /etc/rsyslog.conf
#加入如下内容
cron.* /var/log/cron
- 打开syncookie缓解syn flood攻击
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#查看配置
cat /proc/sys/net/ipv4/tcp_syncookies
- 修改ssh端口
#打开配置文件
vi /etc/ssh/sshd_config
#Linux下SSH默认的端口是22,为了安全考虑,修改SSH的端口为222,修改方法如下:
/usr/sbin/sshd -p 222
- 隐藏开机登录时的系统提示信息
#查看当前状态
cat /etc/rc.d/rc.local
cat /etc/issue
cat /etc/issue.net
#删除"/etc"目录下的isue.net和issue文件
mv /etc/issue /etc/issue.bak
mv /etc/issue.net /etc/issue.net.bak
- 限制可以通过su切换到root的用户
#没有限制的状态下所有的用户都可以通过su直接切换为root用户
#将管理用户(如amdin)加入wheel用户组,不能直接使用usermod wheel admin,这样会离开当前用户组,使用下边的命令可以在不离开当前用户组的情况下加入wheel用户组
usermod -a -G wheel admin
#设置只允许wheel用户组的帐号,使用su命令切换到root
vi /etc/pam.d/su
#找到如下内容:
#auth required pam_wheel.so use_uid
#修改为:
auth required pam_wheel.so use_uid
#限制除了wheel用户组外其他用户群组无法su切换为root
vi /etc/login.defs
#在最后边加入以下内容:
SU_WHEEL_ONLY yes
- 限制远程登录认证次数,多次认证失败后锁定用户
#修改/etc/pam.d/login文件
vi /etc/pam.d/login
#再第二行添加如下内容:
#deny 认证失败次数,even_deny_root root用户也一样,unlocak_time 解锁时间
auth required pam_tally2.so deny=3 even_deny_root unlock_time=300
#修改/etc/pam.d/sshd文件
vi /etc/pam.d/sshd
#在第二行添加如下内容:
auth required pam_tally2.so deny=5 even_deny_root unlock_time=300
#重启ssh服务启用配置信息
systemctl restart sshd
用户超过认证次数被锁定之后,解锁如下:
#查看当前被锁定的用户列表及认证失败次数
pam_tally2
#解锁用户
pam_tally2 --user admin
- 设置终端超时退出时间
sudo vi /etc/profile
#添加如下内容:
TMOUT=180
export TMOUT
#180为3分钟,超过3分钟没有操作系统,会自动断开连接