如何在 Linux 上安装和使用恶意软件检测工具 LMD 及杀毒引擎 ClamAV

如何在 Linux 上安装和使用恶意软件检测工具 LMD 及杀毒引擎 ClamAV

恶意软件是指任何旨在干扰或破坏计算系统正常运行的软件程序。虽然最臭名昭著的几种恶意软件如病毒、间谍软件和广告软件,但它们企图引起的危害不一:有的是窃取私密信息,有的是删除个人数据,有的则介于两者之间;而恶意软件的另一个常见用途就是控制系统,然后利用该系统发动僵尸网络,形成所谓的拒绝服务(DoS)攻击或分布式拒绝服务(DDoS)攻击。

Linux Malware Detect

换句话说,我们万万不可抱有这种想法“因为我并不存储任何敏感数据或重要数据,所以不需要保护自己的系统远离恶意软件”,因为那些数据并不是恶意软件的唯一目标。

由于这个原因,我们将在本文中介绍在RHEL 7.0/6.x(x是版本号)、CentOS 7.0/6.x和Fedora 21-12中,如何安装并配置Linux恶意软件检测工具(又叫MalDet,或简称LMD)和ClamAV(反病毒引擎)。

这是采用GPL v2许可证发布的一款恶意软件扫描工具,专门为主机托管环境而设计。然而,你很快就会认识到,无论自己面对哪种环境,都会得益于MalDet。

将LMD安装到RHEL/CentOS 7.0/6.x和Fedora 21-12上

LMD无法从在线软件库获得,而是以打包文件的形式从项目官方网站分发。打包文件含有最新版本的源代码,总是可以从下列链接处获得,可使用下列命令来下载:


  1. # wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

然后,我们需要解压该打包文件,并进入提取/解压内容的目录。由于当前版本是1.4.2,目录为maldetect-1.4.2。我们会在该目录中找到安装脚本install.sh。


  1. # tar -xvf maldetect-current.tar.gz
  2. # ls -l | grep maldetect

下载Linux恶意软件检测工具

如果我们检查安装脚本,该脚本长度只有75行(包括注释),就会发现,它不仅安装该工具,还执行预检测,看看默认安装目录(/usr/local/maldetect)有无存在。要是不存在,脚本就会先创建安装目录,然后执行下一步。

最后,安装完成后,只要将cron.daily脚本(参阅上图)放入到/etc/cron.daily,就可以排定通过cron(计划任务)的每天执行。这个帮助脚本具有诸多功能,包括清空旧的临时数据,检查新的LMD版本,扫描默认Apache和Web控制面板(比如CPanel和DirectAdmin等)默认数据目录。

话虽如此,还是按平常那样运行安装脚本:


  1. # ./install.sh

在Linux中安装Linux恶意软件检测工具

配置Linux恶意软件检测工具

配置LDM的工作通过/usr/local/maldetect/conf.maldet来处理,所以选项都进行了充分的注释,以便配置起来相当容易。万一你哪里卡住了,还可以参阅/usr/local/src/maldetect-1.4.2/README,了解进一步的指示。

在配置文件中,你会找到用方括号括起来的下列部分:

  • EMAIL ALERTS(邮件提醒)
  • QUARANTINE OPTIONS(隔离选项)
  • SCAN OPTIONS(扫描选项)
  • STATISTICAL ANALYSIS(统计分析)
  • MONITORING OPTIONS(监控选项)

这每个部分都含有几个变量,表明LMD会如何运行、有哪些功能特性可以使用。

  • 如果你想收到通知恶意软件检测结果的电子邮件,就设置email_alert=1。为了简洁起见,我们只将邮件转发到本地系统用户,但是你同样可以探究其他选项,比如将邮件提醒发送到外部用户。
  • 如果你之前已设置了email_alert=1,设置email_subj=”Your subject here”和email_addr=username@localhost。
  • 至于quar_hits,即针对恶意软件袭击的默认隔离操作(0 =仅仅提醒,1 = 转而隔离并提醒),你告诉LMD在检测到恶意软件后执行什么操作。
  • quar_clean将让你决定想不想清理基于字符串的恶意软件注入。牢记一点:就本身而言,字符串特征是“连续的字节序列,有可能与恶意软件家族的许多变种匹配。”
  • quar_susp,即针对遭到袭击的用户采取的默认暂停操作,让你可以禁用其所属文件已被确认为遭到袭击的帐户。
  • clamav_scan=1将告诉LMD试图检测有无存在ClamAV二进制代码,并用作默认扫描器引擎。这可以获得最多快出四倍的扫描性能和出色的十六进制分析。这个选项只使用ClamAV作为扫描器引擎,LMD特征仍是检测威胁的基础。

重要提示:

请注意:quar_clean和quar_susp需要quar_hits被启用(=1)。

总之,在/usr/local/maldetect/conf.maldet中,有这些变量的行应该看起来如下:


  1. email_alert=1
  2. email_addr=gacanepa@localhost
  3. email_subj="Malware alerts for $HOSTNAME - $(date +%Y-%m-%d)"
  4. quar_hits=1
  5. quar_clean=1
  6. quar_susp=1
  7. clam_av=1

将ClamAV安装到RHEL/CentOS 7.0/6.x和Fedora 21-12上

想安装ClamAV以便充分利用clamav_scan设置,请遵循这些步骤:

创建软件库文件/etc/yum.repos.d/dag.repo:


  1. [dag]
  2. name=Dag RPM Repository for Red Hat Enterprise Linux
  3. baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/
  4. gpgcheck=1
  5. gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
  6. enabled=1

然后运行命令:


  1. # yum update && yum install clamd

注意:这些只是安装ClamAV的基本指令,以便将它与LMD整合起来。我们在ClamAV设置方面不作详细介绍,因为正如前面所述,LMD特征仍是检测和清除威胁的基础。

测试Linux恶意软件检测工具

现在就可以检测我们刚刚安装的LMD / ClamAV了。不是使用实际的恶意软件,我们将使用EICAR测试文件(http://www.eicar.org/86-0-Intended-use.html),这些文件可从EICAR网站下载获得。


  1. # cd /var/www/html
  2. # wget http://www.eicar.org/download/eicar.com
  3. # wget http://www.eicar.org/download/eicar.com.txt
  4. # wget http://www.eicar.org/download/eicar_com.zip
  5. # wget http://www.eicar.org/download/eicarcom2.zip

这时候,你可以等待下一个cron任务运行,也可以自行手动执行maldet。我们将采用第二种方法:


  1. # maldet --scan-all /var/www/

LMD还接受通配符,所以如果你只想扫描某种类型的文件(比如说zip文件),就可以这么做:


  1. # maldet --scan-all /var/www/*.zip

扫描Linux中的恶意软件

扫描完成后,你可以查阅LMD发送过来的电子邮件,也可以用下列命令查看报告:


  1. # maldet --report 021015-1051.3559

Linux恶意软件扫描报告

其中021015-1051.3559是SCANID(SCANID与你的实际结果会略有不同)。

重要提示:请注意:由于eicar.com文件下载了两次(因而导致eicar.com和eicar.com.1),LMD发现了5次袭击。

如果你检查隔离文件夹(我只留下了一个文件,删除了其余文件),我们会看到下列结果:


  1. # ls –l 

Linux恶意软件检测工具隔离文件

你然后可以用下列命令删除所有隔离的文件:


  1. # rm -rf /usr/local/maldetect/quarantine/*

万一那样,


  1. # maldet --clean SCANID

最后的考虑因素

由于maldet需要与cron整合起来,你就需要在root的crontab中设置下列变量(以root用户的身份键入crontab –e,并按回车键),也许你会注意到LMD并没有每天正确运行:


  1. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  2. MAILTO=root
  3. HOME=/
  4. SHELL=/bin/bash

这将有助于提供必要的调试信息。

结束语

我们在本文中讨论了如何安装并配置Linux恶意软件检测工具和ClamAV这个功能强大的搭档。借助这两种工具,检测恶意软件应该是相当轻松的任务。

不过,你要帮自己一个忙,熟悉之前解释的README文件,那样你就能确信自己的系统得到了全面支持和妥善管理。

要是你有什么评论或问题,欢迎随时留言。

原文发布时间:2015-03-31

本文来自云栖合作伙伴“linux中国”

时间: 2025-01-26 13:00:24

如何在 Linux 上安装和使用恶意软件检测工具 LMD 及杀毒引擎 ClamAV的相关文章

Linux 有问必答:如何在 Linux 上安装 Node.js

Linux 有问必答:如何在 Linux 上安装 Node.js 问题: 如何在你的 Linux 发行版上安装 Node.js? Node.js 是建立在谷歌的 V8 JavaScript 引擎服务器端的软件平台上.在构建高性能的服务器端应用程序上,Node.js 在 JavaScript 中已是首选方案.是什么让使用 Node.js 库和应用程序的庞大生态系统来开发服务器后台变得如此流行.Node.js 自带一个被称为 npm 的命令行工具可以让你轻松地安装它,进行版本控制并使用 npm 的在

如何在 Linux 上安装服务器管理软件 Cockpit

如何在 Linux 上安装服务器管理软件 Cockpit Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Cockpit 使得 linux 系统管理员.系统维护员和开发者能轻松地管理他们的服务器并执行一些简单的任务,例如管理存储.检测日志.启动或停止服务以及一些其它任务.它的报告界面添加了一些很好的功能使得可以轻松地在终端和 web 界面之间切换.另外,它不仅使得管理一台服务器变得简单,更重要的是只需要一个

Linux有问必答 - 如何在linux上安装WPS

Linux有问必答 - 如何在linux上安装WPS 问题: 我听说一个好东西Kingsoft Office(译注:就是WPS),所以我想在我的Linux上试试.我怎样才能安装Kingsoft Office呢? Kingsoft Office 是一套办公套件,支持多个平台,包括Windows, Linux, iOS 和 Android.它包含三个组件:Writer(WPS文字)用来文字处理,Presentation(WPS演示)支持幻灯片,Spereadsheets(WPS表格)是电子表格.其使

Linux有问必答:如何在Linux上安装内核头文件

Linux有问必答:如何在Linux上安装内核头文件 提问:我在安装一个设备驱动前先要安装内核头文件.怎样安装合适的内核头文件? 当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件.内核头文件同样在你编译与内核直接链接的用户空间程序时需要.当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如:3.13.0-24-generic). 如果你的内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger.aptitude或者yum

如何在Linux上安装配置DockerUI

Docker 越来越流行了.在一个容器里面而不是虚拟机里运行一个完整的操作系统是一种非常棒的技术和想法.docker 已经通过节省工作时间来拯救了成千上万的系统管理员和开发人员.这是一个开源技术,提供一个平台来把应用程序当作容器来打包.分发.共享和运行,而不用关注主机上运行的操作系统是什么.它没有开发语言.框架或打包系统的限制,并且可以在任何时间.任何地点运行,从小型计算机到高端服务器都可以. 运行 docker 容器和管理它们可能会花费一点点努力和时间,所以现在有一款基于 web 的应用程序-

如何在Linux上安装Telegram Messenger应用

如何在Linux上安装Telegram Messenger应用 Telegram是和whatsapp类似的及时通讯应用.它有一个庞大的用户群,并且很多独特的特性. Telegram Messenger for Linux 这篇文章让你了解Telegram应用,以及在Linux Box上的详细安装命令. Telegram的特性 支持移动设备 有桌面版本 第三方开发者可以访问Telegram的应用程序接口(API). 支持Android, iphone/ipad, Windows Phone, We

如何在 Linux 上安装 Diablo 3

Diablo 3 现在在全球游戏界的热门程度绝对排名第一,这个游戏是什么游戏我就不多介绍了,如果你实在不了解的话,可以去他们的官方网站或者维基百科看看.导致很多游戏厂商都不敢在这个阶段发布新游戏和更新游戏版本.那么,作为 Linux 用户,如何在 Linux 下也能玩 Diablo 3 呢. 要想在 Linux 下安装 Diablo 3 ,我们需要一个支持软件,PlayOnLinux. playonlinux在百度百科上的介绍,官方下载地址,直接下载地址: Ubuntu 12.04 LTS DE

Linux有问必答:如何在Linux上安装Git

问题: 我尝试从一个Git公共仓库克隆项目,但出现了这样的错误提示:"git: command not found". 请问我该如何在某某发行版上安装Git? Git是一个流行的开源版本控制系统(VCS),最初是为Linux环境开发的.跟CVS或者SVN这些版本控制系统不同的是,Git的版本控制被认为是"分布式的",某种意义上,git的本地工作目录可以作为一个功能完善的仓库来使用,它具备完整的历史记录和版本追踪能力.在这种工作模型之下,各个协作者将内容提交到他们的本

如何在Linux上安装一个开源VPN服务器

我上网时最担心的一件事情是,我该如何确保我的数据安全和隐私.在搜索答案的过程中,我找到了很多保持匿名的方法,比如使用代理网站.但是使用第三方的服务不能完全保证.我需要的是有一款软件可以让我自己安装并运行,那样我就能确保只有我才能访问数据. 这款软件叫什么呢? 它叫VPN服务,就是虚拟隐私网络的简称.它允许访问时通过SSL加密你的数据.因为是加密的连接,所以你的ISP不能看到你的浏览信息. 1.在你的Linux机器或者 VPS 上安装OpenVPN服务 从 https://openvpn.net/