侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

在Linux系统中安装使用恶意软件扫描工具及杀毒引擎的教程

linux  /  管理员 发布于 7年前   148

恶意软件是指任何旨在干扰或破坏计算系统正常运行的软件程序。虽然最臭名昭著的几种恶意软件如病毒、间谍软件和广告软件,但它们企图引起的危害不一:有的是窃取私密信息,有的是删除个人数据,有的则介于两者之间;而恶意软件的另一个常见用途就是控制系统,然后利用该系统发动僵尸网络,形成所谓的拒绝服务(DoS)攻击或分布式拒绝服务(DDoS)攻击。
换句话说,我们万万不可抱有这种想法“因为我并不存储任何敏感数据或重要数据,所以不需要保护自己的系统远离恶意软件”,因为那些数据并不是恶意软件的唯一目标。

由于这个原因,我们将在本文中介绍在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无法从在线软件库获得,而是以打包文件的形式从项目官方网站分发。打包文件含有最新版本的源代码,总是可以从下列链接处获得,可使用下列命令来下载:

   
复制代码代码如下: # wget http://www.rfxn.com/downloads/maldetect-current.tar.gz

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

   
复制代码代码如下:# tar -xvf maldetect-current.tar.gz
# ls -l | grep maldetect
    下载Linux恶意软件检测工具如果我们检查安装脚本,该脚本长度只有75行(包括注释),就会发现,它不仅安装该工具,还执行预检测,看看默认安装目录(/usr/local/maldetect)有无存在。要是不存在,脚本就会先创建安装目录,然后执行下一步。

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

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

   
复制代码代码如下: # ./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中,有这些变量的行应该看起来如下:

   
复制代码代码如下: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

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

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

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

   
复制代码代码如下: [dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/
gpgcheck=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
enabled=1

然后运行命令:

   
复制代码代码如下:# yum update && yum install clamd

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

现在就可以检测我们刚刚安装的LMD / ClamAV了。不是使用实际的恶意软件,我们将使用EICAR测试文件(http://www.eicar.org/86-0-Intended-use.html),这些文件可从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次袭击。

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

   
复制代码代码如下:# ls –l
    

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

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

   
复制代码代码如下:# rm -rf /usr/local/maldetect/quarantine/*

万一那样,

   
复制代码代码如下: # maldet --clean SCANID

最后的考虑因素

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

   
复制代码代码如下: PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
SHELL=/bin/bash

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

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

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


  • 上一条:
    linux bc命令如何判断成功执行
    下一条:
    在Linux系统中使用tar命令压缩和解压文件的教程
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客