红联Linux门户
Linux帮助

Sendmail服务器防范DoS攻击措施

发布时间:2010-06-23 17:45:12来源:红联作者:easthome18
  通过设置/etc/mail/Sendmail.mc的一些目录限度,DoS攻击的有效性就会大受限制。(可参考本刊8月刊《分类防范对Linux的DoS》)。另外可以考虑使用非root权限运行Sendmail服务,使用基于xinetd的SMTP服务即可。
  缺省情况下Sendmail的守护进程作为set-UID用户进程来运行。如果Sendmail的守护进程被缓冲区溢出攻击的话,可能危及root账号的安全,而root用户的权限最高,攻击者可以摧毁整个服务器。因此需要降低Sendmail运行权限为普通用户。方法如下:
  A.建立mail用户名称:
  #useradd mail -s /bin/false
  B.修改Sendmail使用的文件和目录的权限:
  #chown root:mail /var/spool/mail;#chmod 1775 /var/spool/mail
  #chown -R :mail /var/spool/mail/*;#chmod -R 660 /var/spool/mail/*
  #chown mail:mail /usr/sbin/Sendmail;#chmod 6555 /usr/sbin/Sendmail
  #chown mail /var/spool/mqueue/*;chown -R mail:mail /etc/mail
  #chmod -R 664 /etc/mail
  C.为Sendmail创建一个超级访问程序/etc/xine.d/Sendmail:
  service smtp
  {socket_type=stream
  wait=no
  user=mail
  group=mail
  server=/usr/sbin/Sendmail
  server_args=-bs
  log_on_success+=DURATION USERID
  log_on_failure+=USERID
  nice=10
  disable=no}
  D.修改/etc/crontab,使其拥有如下实体:
  10 * * * * mail /usr/sbin/Sendmail -q
  表示10分钟运行一次邮件服务器。
  E.修改配置文件site.config.m4,添加以下内容:
  define(`confTEMP_FILE_MODE’, `0660’)dnl
  define(`ALIAS_FILE’, `/etc/mail/aliases’)
  F.停止Sendmail守护进程。
  G.使用“killall -USR1 xinetd”重新启动xinetd超级服务器。
  H.使用命令:“telnet localhost 25”连接Sendmail。
  I.查看Sendmail运行情况,使用命令:
  #ps aux   grep Sendmai
  mail 25274 0.0 0.7 4048 1808 ? SN 04:11 0:00 Sendmail: server
  root 25294 0.0 0.2 1520 592 ttyp0 S 04:15 0:00 grep Sendmail
上面显示Sendmail作为mail用户在运行。然后使用quit命令推出即可。(东方瑞通转自至顶网)
文章评论

共有 2 条评论

  1. yrj8008037241 于 2011-08-25 17:55:06发表:

    :0wmjh(1

  2. hspiritl 于 2010-06-23 20:29:19发表:

    顺路学习下