一、服务器配置
1、软件包选择:全不选,安装最小化的系统,不安装图形界面
2、root密码:必须超过8位,并且有符号和字母数字。
3、精简服务:关掉以下服务项
kudzu cpuspeed isdn portmap nfslock rpcidmapd rpcgssd bluetooth netfs pcscd apmd hidd autofs hplip cups gpm xfs avahi-daemon yum-updatesd firstboot haldaemon
4、数据分区 /home 或 /data 应使用 nodev,nosetuid,nosetgid 挂载
5、所有服务的启动脚本应为root权限,并且为755属性
6、web服务器只开放80与22端口
7、数据库服务器只开放3306与22端口
8、除80,443和22,udp161(snmp),5666(nrpe)外,不允许其他服务LISTEN外网IP,161和5666端口必须限制IP
9、如无必要,禁止开启FTP服务,FTP密码传输为明文,容易被监听。
10、禁止使用root权限运行任何服务
11、设置内核参数net.ipv4.tcp_syncookies = 1,打开syncookie支持,防止普通级别的synflood
12、设置内核参数net.ipv4.conf.all.log_martians = 1,开启arp地址变更的记录功能,以便发现arp spoof攻击
二、设置文件安全属性
禁止非root用户执行/etc/rc.d/init.d/下的系统命令
[root@localhost ~]# chmod -R 700 /etc/rc.d/init.d/*
chmod -R 755 /etc/rc.d/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 /etc/passwd #取消权限锁定设置
chattr -i /etc/shadow
chattr -i /etc/group
chattr -i /etc/gshadow
chattr -i /etc/services #取消系统服务端口列表文件加锁
现在可以进行添加删除用户了,操作完之后再锁定目录文件
限制不同文件的权限
chattr +a .bash_history #避免删除.bash_history或者重定向到/dev/null
chattr +i .bash_history
chmod 700 /usr/bin 恢复 chmod 555 /usr/bin
chmod 700 /bin/ping 恢复 chmod 4755 /bin/ping
chmod 700 /usr/bin/vim 恢复 chmod 755 /usr/bin/vim
chmod 700 /bin/netstat 恢复 chmod 755 /bin/netstat
chmod 700 /usr/bin/tail 恢复 chmod 755 /usr/bin/tail
chmod 700 /usr/bin/less 恢复 chmod 755 /usr/bin/less
chmod 700 /usr/bin/head恢复 chmod 755 /usr/bin/head
chmod 700 /bin/cat 恢复 chmod 755 /bin/cat
chmod 700 /bin/uname 恢复 chmod 755 /bin/uname
chmod 500 /bin/ps 恢复 chmod 755 /bin/ps