网站搜索

如何安装和使用 Linux Malware Detect (LMD) 以及 ClamAV 作为防病毒引擎


恶意软件,或称恶意软件,是指任何旨在破坏计算系统正常运行的程序。尽管最著名的恶意软件形式是病毒、间谍软件和广告软件,但它们意图造成的危害可能从窃取私人信息到删除个人数据,以及介于两者之间的一切,而恶意软件的另一个经典用途是控制系统,以便使用它在 (D)DoS 攻击中启动僵尸网络。

换句话说,您不能这样想:“我不需要保护我的系统免受恶意软件的侵害,因为我没有存储任何敏感或重要数据”,因为这些并不是恶意软件的唯一目标。

因此,在本文中,我们将解释如何安装和配置 Linux Malware Detect(又名 MalDet 或简称 LMD)以及RHEL 8/7/6 中的 ClamAV(防病毒引擎)(其中 x 是版本号),CentOS 8/7/6Fedora 30-32(相同的说明也适用于 Ubuntu ) 和 Debian 系统)。

根据 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

如果我们检查只有 75 行长(包括注释)的安装脚本,我们会看到它不仅安装了该工具,而且还执行了预检查以查看默认安装目录( /usr/local/maldetect)存在。如果没有,脚本会在继续之前创建安装目录。

最后,安装完成后,通过将 cron.daily 脚本(参见上图)放置在 /etc/ 中,安排通过 cron 进行每日执行。 cron.daily。除其他外,该帮助程序脚本将清除旧的临时数据,检查新的 LMD 版本,并扫描默认的 Apache 和 Web 控制面板(即 CPanel、DirectAdmin 等)默认数据目录。

话虽如此,照常运行安装脚本:

./install.sh

配置 Linux 恶意软件检测

LMD 的配置是通过 /usr/local/maldetect/conf.maldet 处理的,所有选项都经过很好的注释,使配置成为一项相当简单的任务。如果您遇到困难,还可以参阅 /maldetect-1.6.4/README 了解更多说明。

在配置文件中,您将找到以下部分,括在方括号内:

  1. 电子邮件提醒
  2. 隔离选项
  3. 扫描选项
  4. 统计分析
  5. 监控选项

每个部分都包含几个变量,这些变量指示 LMD 的行为方式以及可用的功能。

  1. 如果您想接收恶意软件检查结果的电子邮件通知,请设置email_alert=1。为了简洁起见,我们将仅将邮件转发给本地系统用户,但您也可以探索其他选项,例如向外部发送邮件警报。
  2. 如果您之前设置过 email_alert=1,请设置 email_subj=”Your subject here”email_addr=username@localhost
  3. 使用quar_hits,恶意软件命中的默认隔离操作(0=仅警报,1=移至隔离和警报),您将告诉 LMD 在检测到恶意软件时要做什么。
  4. quar_clean 将让您决定是否要清除基于字符串的恶意软件注入。请记住,根据定义,字符串签名是“可能与恶意软件家族的许多变体相匹配的连续字节序列”。
  5. quar_susp 是针对点击的用户的默认暂停操作,它允许您禁用其拥有的文件已被识别为点击的帐户。
  6. clamav_scan=1 将告诉 LMD 尝试检测 ClamAV 二进制文件的存在并用作默认扫描仪引擎。这可实现快四倍的扫描性能和卓越的十六进制分析。此选项仅使用 ClamAV 作为扫描器引擎,LMD 签名仍然是检测威胁的基础。

总而言之,包含这些变量的行在 /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

扫描完成后,您可以检查 LMD 发送的电子邮件或通过以下方式查看报告:

maldet --report 021015-1051.3559

其中 021015-1051.3559SCANID(SCANID 在您的情况下会略有不同)。

重要:请注意,由于 eicar.com 文件被下载两次(因此导致 eicar.com 和 eicar.com.1),LMD 发现了 5 个命中。

如果您检查隔离文件夹(我只留下其中一个文件并删除其余文件),我们将看到以下内容:

ls -l

然后,您可以使用以下命令删除所有隔离的文件:

rm -rf /usr/local/maldetect/quarantine/*

如果是这样的话,

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。在这两个工具的帮助下,检测恶意软件应该是一项相当容易的任务。

不过,帮自己一个忙,熟悉前面解释的 README 文件,您就可以放心,您的系统得到了很好的说明和管理。

如果有任何意见或问题,请随时使用下面的表格留下您的意见或问题。

参考链接

LMD主页