linux服务器安全相关配置


个人的服务器疑似被入侵,为了避免经常发生类似的事情,记录以下重装以后的安全配置。

去掉无用的用户

cp  /etc/passwd /etc/passwd_backup
vi /etc/passwd

# 注释掉这些用户
# adm:x:3:4:adm:/var/adm:/sbin/nologin
# lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
# sync:x:5:0:sync:/sbin:/bin/sync
# shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
# halt:x:7:0:halt:/sbin:/sbin/halt
# operator:x:11:0:operator:/root:/sbin/nologin
# games:x:12:100:games:/usr/games:/sbin/nologin
# ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

cp /etc/group   /etc/group_backup
vi /etc/group
#adm:x:4:root,adm,daemon
#lp:x:7:daemon,lp
#uucp:x:14:uucp
#games:x:20:
#dip:x:40:

禁止其他用户执行/etc/init.d/下的系统命令

chmod -R 700 /etc/init.d/*

给特定文件加上不可更改属性,防止非授权用户获得权限

chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/services
lsattr  /etc/passwd   /etc/shadow  /etc/group  /etc/gshadow   /etc/services

如果需要取消不可更改属性,请使用

chattr -i /path/to/file

限制一些文件的权限

# 防止删除bash历史记录
chattr +a .bash_history
chattr +i .bash_history

chmod 700 /usr/bin
chmod 700 /bin/ping
chmod 700 /usr/bin/vim
chmod 700 /bin/netstat
chmod 700 /usr/bin/tail
chmod 700 /usr/bin/less
chmod 700 /usr/bin/head
chmod 700 /bin/cat
chmod 700 /bin/uname
chmod 500 /bin/ps

恢复请使用:

chmod 755 /path/to/file

禁止使用快捷键重启服务器

mv /usr/lib/systemd/system/ctrl-alt-del.target /usr/lib/systemd/system/ctrl-alt-del.target_backup

firewalld

# 启用防火墙
systemctl start firewalld
systemctl enable firewalld
# 添加ssh服务到deny zone
firewall-cmd --zone=drop --add-service=ssh
# 使用drop zone
firewall-cmd --set-default-zone=drop
# 重启firewall
firewall-cmd --reload
firewall-cmd --complete-reload