linux 服务器加固
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux 服务器安全加固
一.基本原则:
最小的权限+最小的服务=最大的安全
操作之前先备份;
为避免配置错误无法登录主机,请始终保持有一个终端已用root登录并不退出,在另一个终端中做配置修改。这样即使改错,也不至于因系统无法登录导致永远无法登录或恢复配置。
操作项:
二.修改主机名和hosts文件
# vi /etc/sysconfig/network
# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=novapp2
# vi /etc/hosts
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 novapp2
10.69.1.10novapp2
三.用户帐号和环境
1.注释掉系统不需要的用户和用户组
注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。
cp /etc/passwd /etc/passwdbak #修改之前先备份
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
#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
#operator:x:11:0perator:/root:/sbin/nologin
#games:x:12:100:games:/usr/games:/sbin/nologin
#mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin #注释掉ftp匿名账号cp /etc/group /etc/groupbak #修改之前先备份
vi /etc/group #编辑用户组,在前面加上#注释掉此行
#adm:x:4:root,adm,daemon
#lp:x:7:daemon,lp
#uucp:x:14:uucp
#games:x:20:
#dip:x:40:
2.验证是否有账号存在空口令:
awk -F: '($2 == "") { print $1 }' /etc/shadow
3.检查除了root以外是否还有其它账号的UID为0:
awk -F: '($3 == 0) { print $1 }' /etc/passwd
4.用户的home目录许可权限设置为700
chmod 700 /home/username
5.是否有用户的点文件是所有用户可读写的
for dir in \
`awk -F: '($3 >= 500) { print $6 }' /etc/passwd`
do
for file in $dir/.[A-Za-z0-9]*
do
if [ -f $file ]; then
chmod o-w $file
fi
done
done
6.为用户设置合适的缺省umask值
cd /etc
for file in profile csh.login csh.cshrc bashrc
do
if [ 'grep -c umask $file' -eq 0 ];
then
echo "umask 022" >> $file
fi
chown root:root $file
chmod 444 $file
done
7.设备系统口令策略(修改迁备份文件,备份:cp -p /etc/login.defs /etc/login.defs.bak)
修改/etc/login.defs文件
将PASS_MIN_LEN最小密码长度设置为12位。
8.限制能够su为root 的用户(修改迁备份文件,备份:# cp -p /etc/pam.d/su
/etc/pam.d/su.bak)
# vi /etc/pam.d/su
在文件头部添加下面这样的一行
auth required pam_wheel.so use_uid
这样,只有wheel组的用户可以su到root
操作样例:
#usermod -G10 test 将test用户加入到wheel组
9.禁止普通用户通过sudo su命令进入root模式
# chmod 777 /etc/sudoers
# vi /etc/sudoers
apuser ALL=(ALL:ALL) ALL,!/bin/su
:wq (保存并退出)
# chmod 0440 /etc/sudoers
10.修改别名文件/etc/aliases(修改前备份文件: # cp -p /etc/aliases /etc/aliases.bak)
# vi /etc/aliases
注释掉不要的
#games: root
#ingres: root
#system: root
#toor: root
#uucp: root
#manager: root
#dumper: root
#operator: root
#decode: root
#root: marc
修改后执行/usr/bin/newaliases
11.设置自动注销时间
修改账户TMOUT的值,设置自动注销时间(修改前备份文件
备份:# cp -p /etc/profile /etc/profile.bak)
# vi /etc/profile
增加TMOUT=600
12.设置Bash保留历史命令的条数(修改前备份文件)
备份:# cp -p /etc/profile /etc/profile.bak
# vi /etc/profile
修改HISTSIZE=5
13.防止IP SPOOF (修改前备份文件: # cp -p /etc/host.conf /etc/host.conf.bak)
# vi /etc/host.conf 添加:nospoof on