欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

查找恶意软件、病毒和rootkit的三款扫描工具介绍

程序员文章站 2022-03-15 23:39:02
 连接到互联网的服务器整天都看到不断的攻击和扫描。虽然防火墙和定期的系统更新是确保系统安全的第一道防线,但你还是应该定期检查,确保没有攻击者闯入进来。本教程中介绍的几款工...

 连接到互联网的服务器整天都看到不断的攻击和扫描。虽然防火墙和定期的系统更新是确保系统安全的第一道防线,但你还是应该定期检查,确保没有攻击者闯入进来。本教程中介绍的几款工具就是为这种完整性检查而开发的,它们可以扫描查找恶意软件、病毒和rootkit。它们应该可以定期运行(比如说每晚运行),通过电子邮件将报告发给你。如果你看到可疑活动,比如负载大、可疑进程或者服务器突然开始发送恶意软件时,还可以使用Chkrootkit、Rkhunter和ISPProtect来扫描系统。

查找恶意软件、病毒和rootkit的三款扫描工具介绍

所有这些扫描工具都必须以root用户的身份来运行。以root用户的身份登录后继续下一步,或者在Ubuntu上运行“sudo su”,成为root用户。

Chkrootkit――Linux rootkit扫描工具

Chkrootkit是一款典型的rootkit扫描工具。它会检查你的服务器,查找可疑的rootkit进程,并检查已知的rootkit文件列表。

或者安装发行版随带的程序包(在Debian和Ubuntu上,你要运行),

apt-get install chkrootkit

或者从www.chkrootkit.org下载源代码,手动安装:

wget --passive-ftp ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz tarxvfz chkrootkit.tar.gz

cd chkrootkit-*/

make sense

之后,你可以将chkrootkit目录移到别的某个地方,比如/usr/local/chkrootkit:

cd ..

mv chkrootkit-/ /usr/local/chkrootkit

并创建一个符号链接(symlink),以便易于访问:

ln -s /usr/local/chkrootkit/chkrootkit /usr/local/bin/chkrootkit

想用chkrootkit来检查你的服务器,运行这个命令:

chkrootkit

一个常见的误报报告是:

Checking `bindshell'...

INFECTED (PORTS: 465)

如果你在电子邮件服务器上收到这个消息,用不着担心,这是你邮件系统的SMTPS(安全SMTP)端口和一个众所周知的误报。

你甚至可以通过计划任务(cron job)来运行chkrootkit,让结果通过电子邮件发给你。首先,使用下面这个命令,找到chkrootkit安装在服务器上的路径:

which chkrootkit

示例:

root@server1:/tmp/chkrootkit-0.50# which chkrootkit

/usr/sbin/chkrootkit

Chkrootkit安装在/usr/sbin/chkrootkit路径上,我们需要在下面的cron这一行有这个路径:

运行:

crontab -e

想创建就像这样的计划任务:

0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit output of

my server" you@yourdomain.com)

这会在每晚3点运行chkrootkit。将chkrootkit路径换成你从上述命令获得的那条路径,并将电子邮件地址换成你的实际地址。

Lynis――通用的安全审查工具和rootkit扫描工具

Lynis(之前名为rkhunter)是一款安全审查工具,面向基于Linux和BSD的系统。它可以详细地审查你系统的许多安全方面和配置。从https://cisofy.com/download/lynis/下载最新的Lynis源代码:

cd /tmp

wget https://cisofy.com/files/lynis-2.1.1.tar.gz tarxvfz lynis-2.1.1.tar.gz

mv lynis /usr/local/

ln -s /usr/local/lynis/lynis /usr/local/bin/lynis

这会将lynis安装到目录/usr/local/lynis,并创建一个符号链接,以便易于访问。现在运行:

lynis update info

检查你是否用的是最新版本。

现在,你可以运行这个命令,扫描系统查找rootkit:

lynis audit system

Lynis会执行几次检测,然后停下来让你有时间来阅读结果。按回车键即可继续扫描。

Lynis系统审查。

最后,它会显示扫描摘要。

Lynis的结果。

想以非交互方式运行Lynis,使用--quick选项来启动它:

lynis --quick

想在晚间自动运行Lynis,创建就像这样的计划任务:

0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "lynis output

of my server" you@yourdomain.com)

这会在每晚3点运行lynis。将电子邮件地址换成你的实际地址。

ISPProtect――网站恶意软件扫描工具

ISPProtect是一款面向网站服务器的恶意软件扫描工具,它可以扫描网站文件和内容管理系统(CMS)系统(比如Wordpress、Joomla和Drupal等)中的恶意软件。如果你运行一个网站托管服务器,那么托管的网站是你服务器中受到攻击次数最多的部分,所以建议定期对它们执行完整性检查。ISPProtect包含3种扫描引擎:基于特征的恶意软件扫描工具、启发式恶意软件扫描工具,以及显示过时CMS系统的安装目录的扫描工具。ISPProtect不是免费软件,不过有一个免费试用版可以使用,不需要注册即可试用,或者清除被感染的系统。

ISPProtect需要PHP安装到服务器上,PHP应该安装在大多数托管系统上。万一你没有安装命令行PHP,可以在Debian或Ubuntu上执行:

apt-get install php5-cli

或者在Fedora和CentOS上执行:

yum install php

运行下列命令来安装ISPProtect。

mkdir -p /usr/local/ispprotect

chown -R root:root /usr/local/ispprotect

chmod -R 750 /usr/local/ispprotect

cd /usr/local/ispprotect

wget http://www.ispprotect.com/download/ispp_scan.tar.gz tarxzf ispp_scan.tar.gz

rm -f ispp_scan.tar.gz

ln -s /usr/local/ispprotect/ispp_scan /usr/local/bin/ispp_scan

想启动ISPProtect,运行:

ispp_scan

该扫描工具会自动检查更新版,然后要求输入密钥(在此输入单词“trial”),然后要求输入网站路径,通常是thats /var/www。

ISPProtect恶意软件扫描。

Please enter scan key: <-- trial

Please enter path to scan: <-- /var/www

扫描工具现在会开始扫描,显示了扫描进度。扫描结束后,被感染文件的名称显示在屏幕上,结果存储在ISPProtect安装目录的文件中,供以后使用:

 

After the scan is completed, you will find the results also in the following files:

Malware => /usr/local/ispprotect/found_malware_20161401174626.txt

Wordpress => /usr/local/ispprotect/software_wordpress_20161401174626.txt

Joomla => /usr/local/ispprotect/software_joomla_20161401174626.txt

Drupal => /usr/local/ispprotect/software_drupal_20161401174626.txt

Mediawiki => /usr/local/ispprotect/software_mediawiki_20161401174626.txt

Contao => /usr/local/ispprotect/software_contao_20161401174626.txt

Magentocommerce =>

/usr/local/ispprotect/software_magentocommerce_20161401174626.txt

Woltlab Burning Board =>

/usr/local/ispprotect/software_woltlab_burning_board_20161401174626.txt

Cms Made Simple => /usr/local/ispprotect/software_cms_made_simple_20161401174626.txt

Phpmyadmin => /usr/local/ispprotect/software_phpmyadmin_20161401174626.txt

Typo3 => /usr/local/ispprotect/software_typo3_20161401174626.txt

Roundcube => /usr/local/ispprotect/software_roundcube_20161401174626.txt

Starting scan level 1 ...

想每晚作为计划任务自动运行ISPProtect,使用nano创建一个计划任务文件:

nano /etc/cron.d/ispprotect

然后插入下面这一行:

0 3 * * * root /usr/local/ispprotect/ispp_scan --update &&

/usr/local/ispprotect/ispp_scan --path=/var/www --email-results=roo

t@localhost --non-interactive --scan-key=AAA-BBB-CCC-DDD

将“root@localhost”换成你的电子邮件地址,扫描报告发送到这个地址。然后,将“AAA-BBB-CCC-DDD”换成你的许可证密钥。你可以在此(http://ispprotect.com)获得许可证密钥。