FTP伺服器的使用由來已久,而且一直都是傳送大型檔案的最佳方式,而在病毒肆虐的今日,為了與時俱進,替FTP伺服器添加病毒掃描功能似乎有其必要。本文將示範如何在常見的ProFTPD伺服器上安裝病毒掃描功能模組mod_clamav,與ClamAV防毒程式配合,以提升其自身的防護能力。
手動執行
手動方式的執行,即是簡單地使用clamscan程式來掃描。利用「clamscan <目錄/檔案>」命令來掃描目錄或檔案是否有感染病毒。
以下列出常用的命令選項,其餘更進階的用法,可自行參閱相關文件說明:
-i:掃描結果,只顯示被感染的檔案。
--log=FILE:將相關的掃描結果儲存在名稱為的檔案。
--bell:在掃描的過程中,如果發現檔案遭到電腦病毒感染,就會發出嗶聲警示。
-r:以遞迴的方式掃描目錄下的所有檔案是否感染電腦病毒。
--remove:當有檔案被電腦病毒感染時,即直接將該檔案刪除。
--exclude=REGEX:排除掃描的檔案,可使用正規表示法(REGEX)來表示。如果符合正規表示法所定義的檔案即不予掃描。以下的範例將不掃描在「/tmp」目錄下的import.php檔案。
--include=REGEX:設定欲掃描的檔案,如果符合正規表示法所定義的檔案才進行掃描,其中REGEX可利用正規表示法定義,以下範例只掃描「/tmp」目錄下的import.php檔案。
在使用ClamAV之前,必須先設定ClamAV相關組態檔。由於這裡將使用常駐程式方式執行,因此以下的說明將以常駐程式設定為主。
首先,說明ClamAV相關組態檔,如下所述:
clamd.conf:這是設定ClamAV運作的主組態檔,本解決方案將使用IP連接的方式與ClamAV的伺服器連線。需設定的選項如下表所示:
freshclam.conf:設定ClamAV病毒碼更新的相關組態,需設定的選項如下:
設定完成後,即可開始使用ClamAV進行病毒掃描。在掃描之前,建議先利用freshclam程式來更新ClamAV的病毒碼(可將freshclam加入crontab中,每日定時的更新病毒碼資訊)。
更新完成之後,啟動clamd程式。可利用指令「netstat –an | grep 3310」來檢查是否有類似下列字句,以確認clamd是否正常地啟動:
接著,執行如下的指令來掃描病毒:
如果出現相關的掃描結果資訊,即表示ClamAV已經成功安裝。在完成安裝ClamAV後,接著安裝支援病毒掃描的FTP伺服器。
安裝ProFTPD和mod_clamav
首先,至mod_clamav官方網站取得最新版的mod_clamav,筆者取得的版本為0.1版,相關的指令如下所示:
在成功安裝含有mod_clamav病毒掃描模組的ProFTPD伺服器後,可執行「proftpd -vv」指令來驗證伺服器是否已經支援mod_clamav模組。如果出現mod_clamav等字樣,即表示已經可以支援該病毒模組。
接著,說明ProFTPD提供的相關程式及設定檔。ProFTPD提供如下表所示的主要執行檔: