三种工具来扫描Linux服务器的Malware和Rootkits

连接到互联网的服务器一整天看到不断的攻击和扫描。虽然防火墙和常规系统更新是一个很好的结果...

连接到互联网的服务器整天都会看到持续的攻击和扫描级别。 虽然防火墙和常规系统更新是保持系统安全的良好的第一防御措施,您还应定期检查攻击者是否进入。本教程中描述的工具用于这些健全性检查,它们扫描恶意软件,病毒和rootkit。 他们应该经常运行,例如每天晚上,并通过电子邮件向您发送报告。 当您看到可疑活动(如高负载,可疑进程)或服务器突然开始发送恶意软件时,还可以使用Chkrootkit,Rkhunter和ISPProtect扫描系统。

所有这些扫描仪必须以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
tar xvfz chkrootkit.tar.gz
cd chkrootkit-*/
make sense

之后,您可以在其他地方移动chkrootkit目录,例如/ usr / local / chkrootkit

cd ..
mv chkrootkit-<version>/ /usr/local/chkrootkit

并创建一个容易访问的符号链接:

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

要使用chkrootkit检查服务器,请运行以下命令:

chkrootkit

一个常见的假阳性报告是:

Checking `bindshell'...                                     INFECTED (PORTS:  465)

当您在电子邮件服务器上收到此消息时,请勿担心,这是邮件系统的SMTPS(安全SMTP)端口和众所周知的假阳性。

您甚至可以通过cron工作运行chkrootkit,并将结果通过电子邮件发送给您。 首先,找出您的服务器上安装chkrootkit的路径:

which chkrootkit

例:

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

chkrootkit安装在路径/ usr / sbin / chkrootkit中,我们需要以下cron行中的这条路径:

跑:

crontab -e

要创建一个这样的cron工作:

0 3 * * * /usr/sbin/chkrootkit 2>&1 | mail -s "chkrootkit output of my server" you@yourdomain.com)

那会每天晚上运行一个3.00h的chkrootkit。 用上面指定的命令替换chkrootkit的路径,并用您的真实地址交换电子邮件地址。

Lynis - 通用安全审核工具和rootkit扫描器

Lynis(以前的rkhunter)是基于Linux和BSD的系统的安全审核工具。 它对系统的许多安全方面和配置进行详细的审核。 从https://cisofy.com/download/lynis/下载最新的Lynis来源:

cd /tmp
wget https://cisofy.com/files/lynis-2.4.8.tar.gz
tar xvfz lynis-2.4.8.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会执行一些检查,然后停下来给你一些时间来阅读结果。 按[ENTER]继续扫描。

Lynis安全扫描仪

最后,它将显示扫描的摘要。

Lynis扫描完成

要以不交互的方式运行Lynis,请使用--quick选项启动它:

lynis --quick

晚上自动运行Lynis,创建一个cron工作,如下所示:

0 3 * * * /usr/local/bin/lynis --quick 2>&1 | mail -s "lynis output of my server" you@yourdomain.com)

这将每天晚上跑3点钟。 用您的真实地址替换电子邮件地址。

ISPProtect - 网站恶意软件扫描程序

ISPProtect是一个用于Web服务器的恶意软件扫描程序,它会扫描网站文件和CMS系统(如Wordpress,Joomla,Drupal等)中的恶意软件。如果运行Web托管服务器,则托管网站是服务器中受攻击的最多部分,建议定期对他们进行健全检查。 ISPProtect包含5个扫描引擎:

  • 基于签名的恶意软件扫描程序。
  • 启发式恶意软件扫描仪。
  • 扫描仪显示过时的CMS系统的安装目录。
  • 一个扫描仪,显示整个服务器的所有过时的WordPress插件。
  • 数据库内容扫描程序,用于检查MySQL数据库是否存在潜在的恶意内容。

ISPProtect不是免费软件,但是有一个免费的试用版可以在没有注册的情况下使用来测试或清理受感染的系统。

ISPProtect需要在服务器上安装PHP,大多数托管系统应该是这样。 如果您还没有安装PHP命令行,请执行:

apt-get install php5-cli

在Debian或Ubuntu上或:

yum install php

在Fedora和CentOS上。

运行以下命令安装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
tar xzf 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

扫描仪自动检查更新,然后询问密钥(在此输入“试用”),然后询问网站的路径,通常是/ 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_20170228201238.txt
Wordpress => /usr/local/ispprotect/software_wordpress_20170228201238.txt
Joomla => /usr/local/ispprotect/software_joomla_20170228201238.txt
Drupal => /usr/local/ispprotect/software_drupal_20170228201238.txt
Mediawiki => /usr/local/ispprotect/software_mediawiki_20170228201238.txt
Contao => /usr/local/ispprotect/software_contao_20170228201238.txt
Magentocommerce => /usr/local/ispprotect/software_magentocommerce_20170228201238.txt
Woltlab Burning Board => /usr/local/ispprotect/software_woltlab_burning_board_20170228201238.txt
Cms Made Simple => /usr/local/ispprotect/software_cms_made_simple_20170228201238.txt
Phpmyadmin => /usr/local/ispprotect/software_phpmyadmin_20170228201238.txt
Typo3 => /usr/local/ispprotect/software_typo3_20170228201238.txt
Roundcube => /usr/local/ispprotect/software_roundcube_20170228201238.txt
Shopware => /usr/local/ispprotect/software_shopware_20170228201238.txt
Mysqldumper => /usr/local/ispprotect/software_mysqldumper_20170228201238.txt
Starting scan level 1 ...

要自动运行ISPProtect作为夜间cronjob,创建一个带有nano的cron文件:

nano /etc/cron.d/ispprotect

并插入以下行:

0 3  * * *   root	/usr/local/ispprotect/ispp_scan --update && /usr/local/ispprotect/ispp_scan --path=/var/www --email-results=root@localhost --non-interactive --scan-key=AAA-BBB-CCC-DDD

将“root @ localhost”替换为您的电子邮件地址,扫描报告将发送到此地址。 然后用您的许可证密钥交换“AAA-BBB-CCC-DDD”。 您可以在这里获得许可证密钥。