2018.12.27更新
lmd结合clamav保护linux主机,之前曾经介绍过lmd可以设置监控,今天通过参数--monitor设置了一下,需要注意的是首先需要安装一个软件,很简单 yum install inotify-tools 其他平台可以参考 https://github.com/rvoicilas/inotify-tools/wiki,然后在使用--monitor监控即开启了。
当然,想关闭监控也简单使用参数 -k 即可。
以下是之前写的内容。
服务器有恶意软件,是一件非常恶心的事情,虽然按照之前的文章《centos服务器安装clamav杀毒软件实录》,安装了杀毒软件也每天做定时扫描,但结果是,并没有病毒软件,所以,恶心的恶意软件每天去阿里云后台处理就显得很不爽,当购买的阿里云安全服务到期之后怎么办,除了续费服务那就只剩自己手动检查了,从网上舶来几篇文章凑成下面的内容。
1.首先是下载MalDet
# 官网 https://www.rfxn.com/projects/linux-malware-detect/ wget http://www.rfxn.com/downloads/maldetect-current.tar.gz tar xfz maldetect-current.tar.gz
2.安装
# {$version}是你当前下载之后解压的版本号 cd maldetect-{$version} ./install.sh
安装过程后面会自动升级一下扫描规则和库的前面文件(好生硬的翻译)。然后,会提示相应的文件所在的路径:
installation completed to /usr/local/maldetect config file: /usr/local/maldetect/conf.maldet exec file: /usr/local/maldetect/maldet exec link: /usr/local/sbin/maldet exec link: /usr/local/sbin/lmd cron.daily: /etc/cron.daily/maldet
3.修改配置文件,这里需要注意的是参考资料提到的几个配置项,名称都发生了变化
#vi /usr/local/maldetect/conf.maldet # [ General Options ] #以下三项都是关于邮件通知相关的,不做修改(不想接收邮件通知) email_alert="0" email_addr="you@domain.com" email_ignore_clean="1" #自动升级数字签名 autoupdate_signatures="1" #自动更新版本 autoupdate_version="1" #自动更新版本号哈希值 autoupdate_version_hashed="1" #隔离区内文件的保留期限,单位是天,保留最近N天的隔离文件 cron_prune_days="7" ... [ SCAN OPTIONS ] #最大扫描深度,推荐10-15层目录,太深了影响扫描的速度 scan_max_depth="15" #最小被扫描的文件大小(byte) scan_min_filesize="24" #最大扫描文件大小(b,k,M单位都可以,当使用clam扫描的时候不受这个配置项限制) scan_max_filesize="2048k" #使用clam扫描 scan_clamscan="1" ... [ QUARANTINE OPTIONS ] #被扫描到的恶意软件会警告并移动到隔离区 quarantine_hits="1" #尝试清理被感染文件 quarantine_clean="1" #用户帐户若被感染,延缓使用它? "quarantine_suspend_user=1" ...
4.扫描
maldet -参数 #可选的参数有: -b ,--background 在后台扫描,这个通常用来扫描大文件的时候使用 e.g: maldet -b /alidata1 -u , --update 更新数字签名 -d , --update-ver 更新软件版本 -m , --monitor USERS|PATHS|FILE 创建监控 e.g: maldet --monitor users 监控用户 e.g: maldet --monitor /root/monitor_paths 监控路径 e.g: maldet --monitor /home/mike,/home/ashton 监控多个路径 -k , --kill 关闭监控 -r , --scan-recent PATH DAYS 扫描最近几天PATH(默认是7天)里创建或者被修改的文件 e.g: maldet -r /root 2 扫描最近2天root下被创建修改的文件 -a , --scan-all PATH 扫描PATH里面全部文件 e.g: maldet -a /root 扫描root下面全部的文件 -c, --checkout FILE 将被感染文件上传到rfxn.com做再次确认 -l , --log 看扫描日志 -e , --report SCANID email 查看扫描简报 e.g: maldet --report e.g: maldet --report list e.g: maldet --report 050910-1534.21135 -s ,--restore FILE|SCANID 恢复扫描出来受感染的文件到原来的目录下 e.g: maldet --restore /usr/local/maldetect/quarantine/config.php.23754 e.g: maldet --restore 050910-1534.21135 #通过扫描简报的ID也可以还原 -q, --quarantine SCANID 根据扫描事件ID隔离所有扫描出来的文件 e.g: maldet --quarantine 050910-1534.21135 ... 其他参数可以参考: https://www.rfxn.com/appdocs/README.maldetect
所以手动扫描清理可以这样:
maldet -a /path
5.设定定时扫描清理任务
#由于默认每天执行的扫描任务不太适合我们实际情况 #所以配合crontab做了一个自定义的任务 #sanc web files everyday 30 1 * * * /usr/local/sbin/maldet -b -a /alidata/www
参考:
https://www.howtoing.com/installing-linux-malware-detect-in-centos-rhel/