四、内核优化
1、网络参数修改
SUSE和其他Linux一样,把网络参数的修改都放在了/proc/sys/net/ipv4下,这里所有文件名中包含rate和max的变量都可以防止拒绝服务攻击。对于每个参数的具体解释可以参考相关文档,这里就不一一介绍。
建议修改:
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1
2、其他参数
如果系统不是作为一个防火墙或网关的话,需要修改以下部分。
建议修改:
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
五、日志
1、syslog
SUSE使用了syslog-ng来记录日志。/var/log/messages包括了iptables, mail, news和messages,并把它们分别发送到(/var/log/firewall, /var/log/mail*, 和/var/log/news。文件权限默认是u=rw,g=r,o=。
2、NTP
NTP是网络时间协议,目的是保持计算机的时间与网络同步,默认安装,但是没有启用。系统时钟应该保持一个高准确度,这样日志的记录才能准确的反映时间。NTP启用后,在udp123端口监听。在配置上,应该忽略任何未明确允许的消息,只允许本地回环127.0.0.1和NTP服务器的消息,防止别人伪造时间服务器。对NTP的修改在/etc/ntp.conf下面。
3、日志文件权限
确保系统日志文件的所有权和权限是正确的,日志文件权限的配置在/etc/syslog-ng/syslog-ng.conf.in和/etc/logrotate.d
4、远程日志记录
配置系统日志记录发送到网络的其他主机上。注意的是,这个时候,就需要精确的系统时钟了,所以需要使用NTP。为什么要在远程记录日志呢?原因是,如果你的系统发生故障或者崩溃了,它是什么原因造成的?你就可以在这台远程记录日志的主机上找到原因。syslog-ng可以使用UDP或TCP。但是,除非这台远程主机能够保证一直可用、网络也很可靠,否则,建议使用TCP,防止数据丢失。
例如:在/etc/syslog-ng的syslog-ng.conf中添加
destination logserver { tcp(“10.10.10.10” port(514)); };
六、文件权限许可
1、在 /etc/fstab使用nodev方式
nodev选项的意思是禁止用户在任何分区上挂载未授权的设备,需要挂载设备时,应该在其他地方比如/dev。但也有例外,比如在chroot的环境中,经常需要在chroot目录中创建多个设备。如果在你的机器上使用了chroot,要注意这个nodev的选项。
2、在/etc/fstab中使用nosuid
在移动介质上,经常会有一些病毒、恶意软件,通过nosuid选项,可以阻止用户在光驱、软驱或者U盘上运行set-UID权限的程序。如果机器上有多个移动设备,也可以在/etc/fstab中相关设备的第四列设置nosuid。
3、禁止用户挂载可移动介质
SUSE默认只有root用户可以挂载移动介质,如果/etc/fstab被改成允许用户挂载,可能会让病毒进入服务器,或者数据被修改删除。把它改回nouser选项更有助于安全。
4、验证passwd, shadow,group文件权限
这些文件都有着默认的所有者和访问权限,都要修改/etc/shadow权限为644,并且定期检查。AIDE是一个不错的工具,可以提醒你对这些文件权限的注意。不过AIDE是Tripwire的非商业版改进,目前还是BETA版,可能不适合用于关键的生产系统上。
5、没有权限限制的目录应该设置粘滞位
你在任何一个目录上设置粘滞位以后,就只有文件所有者能够删除目录里的文件,而不是任何有写权限的人可以删除。设置粘滞位可以防止彼此覆盖文件,无论是意外、恶意行为。但也应在设置粘滞位之前,查看一下你的应用程序文档,避免破坏用用程序的依赖。
用这个脚本进行检查:
for PART in `awk ‘($3 ~ “ext2|ext3|reiserfs”)
{ print $2 }’ /etc/fstab`; do
find $PART -xdev -type d
( -perm -0002 -a ! -perm -1000 ) -print
done
如果你的系统设置的足够安全的话,这里应该不会有任何的返回。
6、任何人都可写的文件
在某个文件上,如果任何人都可以写,将可能导致对系统的修改,或者对系统上的用户造成影响。避免这种文件的出现,要在编写脚本或者程序时加以注意,因为这会导致系统的完整性受到影响。一般来说,可以消除写访问(chmod o-w ),但对于关键服务器来说,还是要咨询一下相关厂商。
用这个脚本进行检查
for PART in `awk ‘($6 != “0”) { print $2 }’ /etc/fstab`; do
find $PART -xdev -type f
( -perm -0002 -a ! -perm -1000 ) -print
done
如果你的系统设置的足够安全的话,这里应该不会有任何的返回。
7、未授权SUID/SGID的可执行文件
管理员要检查在系统里,有没有未授权的set-UID。另外如果可能的话,应做Set-UID的审计,或者减少这种Set-UID程序。
检查方法:
for PART in `awk ‘($6 != “0”) { print $2 }’ /etc/fstab`; do
find $PART ( -perm -04000 -o -perm -02000 )
-type f -xdev -print
done
8、查找无主文件
不要让你的系统上有任何无主文件,无主文件可能是一个入侵者已经访问了你的系统,或者是不当文件包的维护安装造成的。比如删除了用户或者组,但是相关文件没有删除。另一种常见情况是软件安装时,没有正确的设置所有者。NFS挂载文件,会忽视用户ID和系统之间的映射同步,也有可能造成无主文件的产生。如果你在使用NIS或者LDAP,那可能是其他原因造成的,什么原因就需要你去仔细检查了。
检查方法:
for PART in `awk ‘($6 != “0”) { print $2 }’ /etc/fstab`; do
find $PART -nouser -o -nogroup -print
done
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SUSE安全大揭秘之“十诫”(下)
你的服务器是日志服务器吗?需要从网络上、其他主机上接收日志吗?如果是肯定的,启用日志系统的远程消息接受。
-
SUSE安全大揭秘之“十诫”(上)
SUSE由于其出色的性能和对安全较好的控制,吸引了很多企业级用户,目前在国内开始有大量的关键应用。但这并不代表SUSE在使用中就是安全的……