根据 GPL v2 许可证发布的恶意软件扫描程序,专为托管环境设计。然而,您很快就会意识到,无论您在什么样的环境中工作,您都会从 MalDet 中受益。
在 RHEL/CentOS 和 Fedora 上安装 LMD
LMD 无法从在线存储库中获取,但可以从该项目的网站以 tarball 形式分发。包含最新版本源代码的 tarball 始终可以在以下链接中找到,可以使用 wget 命令下载:
# wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
然后我们需要解压 tarball 并进入提取其内容的目录。由于当前版本是1.6.4,因此目录是maldetect-1.6.4。在那里我们将找到安装脚本 install.sh。
# tar -xvf maldetect-current.tar.gz
# ls -l | grep maldetect
# cd maldetect-1.6.4/
# ls
下载 Linux 恶意软件检测工具
如果我们检查只有 75 行长(包括注释)的安装脚本,我们会看到它不仅安装了该工具,而且还执行预检查以查看默认安装目录(/usr/local/maldetect)存在。如果没有,脚本会在继续之前创建安装目录。
最后,安装完成后,通过将 cron.daily 脚本(参见上图)放置在 /etc/cron.daily 中来安排通过 cron 进行的每日执行。除其他外,该帮助程序脚本将清除旧的临时数据,检查新的 LMD 版本,并扫描默认的 Apache 和 Web 控制面板(即 CPanel、DirectAdmin 等)默认数据目录。
话虽如此,照常运行安装脚本:
在 Linux 中安装 Linux 恶意软件检测
配置 Linux 恶意软件检测
LMD 的配置是通过 /usr/local/maldetect/conf.maldet 处理的,所有选项都经过很好的注释,使配置成为一项相当简单的任务。如果您遇到困难,还可以参阅 /maldetect-1.6.4/README 以获取进一步的说明。
在配置文件中,您将找到以下部分,括在方括号内:
- 电子邮件提醒
- 隔离选项
- 扫描选项
- 统计分析
- 监控选项
每个部分都包含几个变量,这些变量指示 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 中应如下所示:
email_alert=1
email_addr=gacanepa@localhost
email_subj="Malware alerts for $HOSTNAME - $(date +%Y-%m-%d)"
quar_hits=1
quar_clean=1
quar_susp=1
clam_av=1
在 RHEL/CentOS 和 Fedora 上安装 ClamAV
要安装 ClamAV 以利用 clamav_scan 设置,请按照下列步骤操作:
启用 EPEL 存储库。
# yum install epel-release
然后做:
# yum update && yum install clamd
# apt update && apt-get install clamav clamav-daemon [Ubuntu/Debian]
注意:这些只是安装 ClamAV 以便将其与 LMD 集成的基本说明。我们不会详细介绍 ClamAV 设置,因为正如我们之前所说,LMD 签名仍然是检测和清除威胁的基础。
测试 Linux 恶意软件检测
现在是时候测试我们最近的 LMD / ClamAV 安装了。我们将使用 EICAR 测试文件,而不是使用真正的恶意软件,这些文件可以从 EICAR 网站下载。
# cd /var/www/html
# wget http://www.eicar.org/download/eicar.com
# wget http://www.eicar.org/download/eicar.com.txt
# wget http://www.eicar.org/download/eicar_com.zip
# wget http://www.eicar.org/download/eicarcom2.zip
此时,您可以等待下一个 cron 作业运行,也可以自己手动执行 maldet。我们将选择第二个选项:
# maldet --scan-all /var/www/
LMD 还接受通配符,因此如果您只想扫描某种类型的文件(例如 zip 文件),您可以这样做:
# maldet --scan-all /var/www/*.zip
扫描 Linux 中的恶意软件
扫描完成后,您可以检查 LMD 发送的电子邮件或通过以下方式查看报告:
# maldet --report 021015-1051.3559
Linux 恶意软件扫描报告
其中 021015-1051.3559 是 SCANID(SCANID 在您的情况下会略有不同)。
重要提示:请注意,由于 eicar.com 文件被下载了两次(因此导致 eicar.com 和 eicar.com.1),LMD 发现了 5 个命中。
如果您检查隔离文件夹(我只留下其中一个文件并删除其余文件),我们将看到以下内容:
Linux 恶意软件检测隔离文件
然后,您可以使用以下命令删除所有隔离的文件:
# rm -rf /usr/local/maldetect/quarantine/*
也可以通过命令加上扫描ID(SCANID)的方式清除
# maldet --clean SCANID
最后的考虑
由于 maldet 需要与 cron 集成,因此您需要在 root 的 crontab 中设置以下变量(以 root 身份输入 crontab -e 并按 Enter 键),以防您发现 LMD 每天运行不正确:
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
SHELL=/bin/bash
这将有助于提供必要的调试信息。
结语
在本文中,我们讨论了如何安装和配置 Linux Malware Detect 以及强大的盟友 ClamAV。在这两个工具的帮助下,检测恶意软件应该是一项相当容易的任务。