【51CTO.com快译】连接到互联网的服务器整天都看到不断的攻击和扫描。虽然防火墙和定期的系统更新是确保系统安全的第一道防线,但你还是应该定期检查,确保没有攻击者闯入进来。本教程中介绍的几款工具就是为这种完整性检查而开发的,它们可以扫描查找恶意软件、病毒和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-/ /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 tar xvfz 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 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
该扫描工具会自动检查更新版,然后要求输入密钥(在此输入单词“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)获得许可证密钥。
原文标题:Three tools to scan a Linux server for Malware and Rootkits
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】