SUSE安全大揭秘之“十诫”(中)

日期: 2010-07-19 来源:TechTarget中国

  四、内核优化

  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

  SUSE安全大揭秘之“十诫”(上)

  SUSE安全大揭秘之“十诫”(下)

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐