連接到互聯網的服務器整天都看到不斷的攻擊和掃描。雖然防火墻和定期的系統更新是確保系統安全的第一道防線,但你還是應該定期檢查,確保沒有攻擊者闖入進來。本教程中介紹的幾款工具就是為這種完整性檢查而開發的,它們可以掃描查找惡意軟件、病毒和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 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" [email protected])
這會在每晚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" [email protected])
這會在每晚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)獲得許可證密鑰。
原文標題:Three tools to scan a Linux server for Malware and Rootkits