Linux系统服务器防病毒实战

ZDNet软件频道 时间:2009-11-05 作者: | 论坛整理 我要评论()
本文关键词:安全防范 系统安全 Linux
  随着Linux应用的日益广泛,有大量的网络服务器使用Linux操作系统。由于Linux的桌面应用和Windows相比还有一定的差距,所以在企业应用中往往是Linux和Windows操作系统共存形成异构网络。在服务器端大多使用Linux和Unix的,桌面端使用Windows XP、Vista。Linux操作系统一直被认为是Windows系统的劲敌
一、Linux病毒简介 
  随着Linux应用的日益广泛,有大量的网络服务器使用Linux操作系统。由于Linux的桌面应用和Windows相比还有一定的差距,所以在企业应用中往往是Linux和Windows操作系统共存形成异构网络。在服务器端大多使用Linux和Unix的,桌面端使用Windows XP、Vista。Linux操作系统一直被认为是Windows系统的劲敌,因为它不仅安全、稳定、成本低,而且很少发现有病毒传播。但是,随着越来越多的服务器、工作站和个人电脑使用Linux软件,电脑病毒制造者也开始攻击这一系统。对于Linux系统无论是服务器,还是工作站的安全性和权限控制都是比较强大的,这主要得力于其优秀的技术设计,不仅使它的作业系统难以宕机,而且也使其难以被滥用。Unix经过20多年的发展和完善,已经变得非常坚固,而Linux基本上继承了它的优点。在Linux里,如果不是超级用户,那么恶意感染系统文件的程序将很难得逞。当然,这并不是说Linux就无懈可击,病毒从本质上来说是一种二进制的可执行的程序。速客一号(Slammer)、冲击波(Blast)、霸王虫(Sobig)、 米虫(Mimail)、劳拉(Win32.Xorala)病毒等恶性程序虽然不会损坏Linux服务器,但是却会传播给访问它的Windows系统平台的计算机。

  Linux平台下的病毒分类:

  1、可执行文件型病毒:可执行文件型病毒是指能够寄生在文件中的,以文件为主要感染对象的病毒。病毒制造者们无论使用什么武器,汇编或者C,要感染ELF文件都是轻而易举的事情。这方面的病毒有Lindose。

  2、蠕虫(worm)病毒:1988年Morris蠕虫爆发后,Eugene H. Spafford 为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上。”在Linux平台下,蠕虫病毒极为猖獗,像利用系统漏洞进行传播的ramen,lion,Slapper等,这些病毒都感染了大量的Linux系统,造成了巨大的损失。

  3、脚本病毒:目前出现比较多的是使用shell脚本语言编写的病毒。此类病毒编写较为简单,但是破坏力同样惊人。我们知道,Linux系统中有许多的以.sh结尾的脚本文件,而一个短短十数行的shell脚本就可以在短时间内遍历整个硬盘中的所有脚本文件,进行感染。

  4、后门程序:在广义的病毒定义概念中,后门也已经纳入了病毒的范畴。活跃在Windows系统中的后门这一入侵者的利器在Linux平台下同样极为活跃。从增加系统超级用户账号的简单后门,到利用系统服务加载,共享库文件注射,rootkit工具包,甚至可装载内核模块(LKM),Linux平台下的后门技术发展非常成熟,隐蔽性强,难以清除。是Linux系统管理员极为头疼的问题。

  二、Linux 服务器病毒防范策略

  综合以上介绍,可以看到总体来说计算机病毒对Linux系统存在较小的危险。但是由于各种原因在企业应用中往往是Linux和Windows操作系统共存形成异构网络。在服务器端大多使用Linux和Unix的,桌面端使用Windows 。所以为Linux的防范病毒策略分成几个部分:

  可执行文件型病毒、蠕虫(worm)病毒、脚本病毒的防范通过安装GPL查杀病毒软件基本可以防范。服务器端可以使用avast! for Linux/Unix Servers它是工作在命令行下的,运行时可以较少占用系统资源。工作站用户可以选择avast! Linux Home Edition,可以运行在任何X-Windows环境下面,比如KDE或Gnome等。对于后门程序防范可以采用LIDS(http://www.lids.org/ )和Chkrootkit(http://www.chkrootkit.org/ ),LIDS是Linux内核补丁和系统管理员工具(lidsadm),它加强了Linus内核。可以保护dev/目录下的重要文件。而Chkrootkit可以检测系统的日志和文件,查看是否有恶意程序侵入系统,并且寻找关联到不同恶意程序的信号。最新版本的Chkrootkit0.48可以检测出sniffers、Trojans、worms、rootkit等59种。代理服务器squid是一款非常优秀的代理服务器软件,但是并没有专门的病毒过滤功能。可以考虑使用德国开放源码爱好者开发的一款基于Linux的病毒过滤代理服务器——HAVP(http://www.server-side.de/ )。HAVP病毒过滤代理服务器软件既可以独立使用,也可以与Squid串联使用,增强Squid代理服务器的病毒过滤功能。提供邮件服务是Linux服务器中重要应用。可以使用ClamAV(http://www.clamwin.com/ ),ClamAV 全名是 Clam AntiVirus,它跟Liunx一样强调公开程序代码、免费授权等观念,ClamAV 目前可以侦测超过40,000 种病毒、蠕虫、木马程序,并且随时更新数据库,有一组分布在世界各地的病毒专家,24小时更新及维护病毒数据库,任何人发现可疑病毒也可以随时跟她们取得 联系,立刻更新病毒码,在极短的时间内,网络上采用ClamAV的邮件服务器就完成最新的防护动作。

  另外在Linux服务器上推荐使用命令行防病毒工具,虽然Linux桌面应用发展很快,但是命令行(shell)在Linux中依然有很强的生命力。即使在X Window下,系统管理员经常也要与命令行打交道,使用键盘次数要明显高于鼠标。对于Linux系统管理员来说,在命令行下操作的重要性是不言而喻的。因为启动X—Window管理器将会消耗大量系统资源。

     三、安装配置

  Linux 平台:包括所有 Linux 分发版本 (只限 x86 平台) 带 GLIBC 版本 2.1 或者更高的并且已安装pthreads库 ,486 处理器 (Pentium 或者建议更高的) ,32 MB RAM (建议 64 MB )系统要求:100兆硬盘空间。

  说明:可以使用命令查看 glibc 版本:rpm -qa | grep glibc,glibc 版本必须比大等于 2.1.4-25 。Glibc 是提供系统调用和基本函数的 C 库,比如open, malloc, printf等等。所有动态连接的程序都要用到它。Linux下最常用的多线程支持库为Pthread库,它是glibc库的组成部分。

  avast! for Linux/Unix Servers 官方网址:http://www.avast.com/cns/company.html ,是著名的捷克杀毒软件。

  主要特点:

  拥有 avast! 杀毒内核的avast! for Linux/Unix 杀毒套装是专为 UNIX-like 作业系统而设的.此套装由命令行扫描器,相当于守护程序的常驻扫描器,和访问常驻扫描器的客户端组成.

  • 杀毒内核

  avast! For Linux 的杀毒内核跟 Windows 系统的是完全一样的, 那就是说,Linux 版本包含所有Windows杀毒内核的尖端功能. 最新版本的 avast! 杀毒内核拥有突出的查杀效能, 而且性能相当高,它可以检测出100%的流行病毒(已经在用户之间传播的病毒).还有出色的检测木马病毒功能和极低的误报率. 此内核通过 ICSA 实验室认证; 而且经常参加 Virus Bulletin 杂志的测试, 屡次获得 VB100 奖项. 像Windows版本的 avast! 一样 , avast! 的 Linux 杀毒引擎有突出的解压功能. 它可以扫描, MAPI, CAB, ACE, CHM, 7ZIP 和 NTFS 流. 而且还可以扫描以下的压缩文档: ARJ, ZIP, MIME (+ 所有组合格式), DBX (Outlook Express 压缩档), RAR, TAR, GZIP, BZIP2, ZOO, ARC, LHA/LHX, TNEF (winmail.dat), CPIO, RPM, ISO, 和 SIS. 另外它还支持一些可执行压缩器 (例如 PKLite, Diet, UPX, AsPack, PeShield, PeProtect, FSG 和 MEW).

  • 自动更新

  病毒防护的另外一个关键是病毒数据库的更新. 当前版本并未采用增量式更新. 当病毒定义文件被更改整个 VPS 文件需要被新文件取替.

  • 命令行扫描器

  经验丰富的用户欣赏典型的从命令行控制的手动扫描器, . 它允许扫描指定目录里面的文件和本地及远程卷. 当然命令行扫描器还可扫描通过网络挂载的卷. 程序是非常灵活的; 它可以接收大量参数指令. 它还能够创建大量供分析用的报告文件. 扫描器能够在 STDIN/STDOUT 模式运作,把它用作管道过滤器. 这个模式主要是在shell脚本上使用的.

  • 后台扫描器

  杀毒daemon在后台运作.第三方应用程序可通过UNIX sockets访问杀毒daemon.Daemon可在指定用户的指定目录内使用.安装套装包括安装访问杀毒daemon的客户端.

  1. 软件下载安装

      #wget http://files.avast.com/files/Linux/libavastengine-4.7.1-1.i586.rpm
  #rpm –ivh libavastengine-4.7.1-1.i586.rpm
  #wget http://files.avast.com/files/Linux/avast4server-3.0.1-1.i586.rpm
  #rpm –ivh avast4server-3.0.1-1.i586.rpm

  注意安装顺序,默认软件包安装在/var/lib/avast4 目录下。另外注意: 程序需要一个有效的注册号才能正常运作,可在http://www.avast.com/cns/Linux-server-demo-license.php 请求获得。

  2. 查看avast手册页

  avast是命令行下工作软件,软件提供请详细的手册页面。使用前请详细阅读。avast的手册页面如图1 。

avast的手册页面

  图1 avast的手册页面

  首先把获得许可证文件拷贝到:/var/lib/avast4 目录。

#cp License.dat /var/lib/avast4

  Avast安装后会产生两个工具:

  -病毒库守护进程 (名称是 "avastcmd")

  -病毒扫描程序 (名称是 "avastd")

  病毒库守护进程"avastcmd"在Redhat Linux 下的启动、停止、重新启动、重新加载配置文件、查看状态的命令如下:

  /etc/init.d/avastd [start|stop|restart|reload|status]

  在Slackware Linux下的启动、停止、重新启动、重新加载配置文件、查看状态的命令如下:

  /etc/rc.d/rc.avastd [start|stop|restart|reload|status]

  在Freebsd操作系统下的启动、停止、重新启动、重新加载配置文件、查看状态的命令如下:

  /usr/local/etc/rc.d/avastd.sh [start|stop|restart|reload|status]

  如果希望病毒库守护进程"avastcmd"自动运行,可以打开如图2所示的窗口,在avast服务选项加上*(用空格键),然后重新启动系统,这样系统会启动avast服务。

自动启动服务守护进程

  图2 自动启动服务守护进程


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134