网络安全 频道

Linux系统安全工具介绍

    3.2 swatch

  swatch 是一个实时的日志监控工具。您可以设置您所感兴趣的事件,它可以在事件发生的时候告诉您。Swatch 有两种运行方式:一种可以在检查日志完毕退出,另一种可以连续监视日志中的新信息。

  Swatch 提供了许多通知方式,例如:email,振铃,终端输出,多种颜色等等。

  您可以从下面的站点下载:
  ftp://ftp.stanford.edu/general/security-tools/swatch/

  swatch 的安装需要一些 perl 库的支持,安装前确信您的系统已经可以支持 perl。

  Swatch 可以在命令行中进行一些简单的设置,例如日志循环时告诉 swatch 在循环完毕后重新启动等等。

  配置文件 swatchmessage 是 swatch 软件的重点。这个文本文件告诉 swatch 需要监视什么日志,需要寻找什么触发器,和当触发时所要执行的动作。当 swatch 发现到与 swatchmessage 中定义的触发器正则表达式相符时,它将执行在 swatchrc 中定义的通知程序。Swatch 通过使用/usr/bin/tail -f 实时监视日志文件。

  在这里我们不想过多的将如何配置,配置 swatch 非常简单,您可以参考 swatch 自带的配置文件。针对每个服务例如:ftp,sendmail 等等,你必须为每个您所关心的服务配置一个 swatchmessage 文件。

  Swatch 启动时可以带很多参数,但使用通常如下格式启动它就可以了:

  /usr/local/bin/swatch -c /var/log/syslogmessage -t /var/log/syslog  -r 06:00&
 
  -c 参数用于指定配置文件,-t 参数指定实时监视的日志文件,-r 指定重起的时间,"&" 使 swatch 在后台运行。启动后,swatch 产生子进程,因此 swatch 是以两个进程运行的,在停止 swatch 时必须杀掉两个进程。

  也可以通过 logrotate 配置在日志循环后重起 swatch,可以在 /etc/logrotate.d 建立一个您所要关心的日志的循环文件,其中最关键的是要加入下面这行:

  /usr/local/bin/swatch -c /var/log/syslogmessage -t /var/log/syslog  -r + 0

  其他的地方可以仿造别的同目录下的文件。

  3.3 logcheck

  审核和记录系统的事件是非常重要的。特别是当你的计算机连接到 Internet 上之后,系统管理员如果对"异常"的事件保持警觉,就能防止系统被入侵。在 Unix 系统中如果仅仅把系统事件作为日志记录下来,而不去查看,还是无济于事。logchek 可以自动地检查日志文件,先把正常的日志信息剔除掉,把一些有问题的日志保留下来,然后把这些信息 email 给系统管理员。Logcheck 被设计成自动运行,定期检查日志文件以发现违反安全规则以及异常的活动。logcheck 用 logtail 程序记住上次已经读过的日志文件的位置,然后从这个位置开始处理新的日志信息。

  可以在下面的站点获得 logcheck:
  http://www.psionic.com/abacus/logcheck/

  logcheck 主要由下面几个主要的文件:

  1.logcheck.sh
  这个是一个可执行的脚本文件,里面记录 logcheck 检查那些日志文件等 logcheck 运作所必须的信息。您可以把它加入 crontab 中定时运行。

  2.logcheck.hacking
  它和下面的三个文件一样,是 logcheck 检查的模式文件。他们四个文件按从上到下的顺序执行。这个文件表明了入侵活动的模式。

  3.logcheck.violations
  这个文件表示有问题,违背常理的活动的模式。优先级小于上面的那个模式文件。

  4.logcheck.violations.ignore
  这个文件和上面的 logcheck.violations 是相对的,是您所不关心的问题的模式文件。

  5.logcheck.ignore
  这是检查的最后一个模式文件。如果没有和前三个模式文件匹配,也没有匹配这个模式文件的话,则输出到报告中。

  6.logtail
  这个文件记录日志文件信息。

  Logcheck首次运行时读入相关的日志文件的所有内容。Logtail 在日志文件的目录下为每个关心的日志文件建立一个 logfile.offset 的偏移量文件,以便于下次检查时从这个偏移量开始检查。Logcheck 执行时未被忽略的内容通过邮件的形式发送给 logcheck.sh 中 SYSADMIN 指定的用户。

  Logcheck 的通知没有那么实时,但是相对于 swatch 它更适合于分布式日志文件系统。因为它不必为每个日志文件建立一个进程。在 Turbolinux 中就集成了 logcheck 工具。

  四、SSH

  传统的网络服务程序,如:ftp、pop 和 telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到"中间人"(man-in-the-middle)这种方式的攻击。所谓"中间人"的攻击方式,就是"中间人"冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。

  通过使用 SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止 DNS 和 IP 欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替 telnet,又可以为 ftp、pop、甚至 ppp 提供一个安全的"通道"。

  最初 SSH 是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用 OpenSSH。OpenSSH 是 SSH 的替代软件,而且是免费的,可以预计将来会有越来越多的人使用它而不是 SSH。

  从客户端来看,SSH 提供两种级别的安全验证。

  第一种级别是基于口令的安全验证,这种机制就相当于普通的 telnet 等服务的口令认证机制。

  第二种级别是基于密匙的安全验证。你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到 SSH 服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密"质询"(challenge)并把它发送给客户端软件。客户端软件收到"质询"之后就可以用你的私人密匙解密再把它发送给服务器。

  可以在下面的站点下载:
  http://violet.ibs.com.au/openssh/

  "/etc/ssh/ssh_config" 文件是 OpenSSH 客户端的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含"关键词-值"的匹配,其中"关键词"是忽略大小写的。用 man 命令查看帮助页(ssh (1))可以得到详细的说明。

  "/etc/ssh/sshd_config" 是 OpenSSH 的服务器端配置文件,允许设置选项改变这个 daemon 的运行。这个文件的每一行包含"关键词-值"的匹配,其中"关键词"是忽略大小写的。用 man 命令查看帮助页(sshd (8))可以得到详细的说明。

  配置 OpenSSH 使其使用 TCP-Wrappers inetd 超级服务器,编辑 "inetd.conf" 文件(vi /etc/inetd.conf)并加入这一行:

  ssh stream tcp nowait root /usr/sbin/tcpd sshd -i

0
相关文章