折角ですので、clamd ウイルス スキャン エンジンを使ってローカルディスクも定期的にウイルス検査 を実行する様にします。
clamav-milter を yumでインストールすると依存関係により clamd も一緒にインストールされます。 clamd は、ClamAV のウイルス検出エンジンであり、clamav-milter は Sendmail と clamd のソケット通信を仲介するプログラムであるため、 両方のパッケージが必要になります。
インストールを行なうと、clamd サービスが起動する様に設定されますが、 ローカルディスク検索のために、clamd サービスを起動する必要はありません。 インストール時に既にサービスが起動されていた場合は、停止させます。
また、システム再起動時にサービスが起動しない様にしておきます。
ローカルディスクのウイルス検査を行なう場合、clamdscan コマンドではなく、 clamscan コマンドを使用します。
clamdscan と異り、コマンドとして実行するため実行者の権限で動作します。 また、実行時にウイルスデータベースをその都度展開するため、 検索が始まるまで少し時間が掛かります。
書式 clmscan [オプション] [<file> <directory>]
複数のファイル、ディレクトリを分ける場合は、スペースで区切ります。
ユーザーが ホームディレクトリに対し clamscan コマンドを実行する例です。
-r :サブディレクトリも再起的にスキャンします。
-i :ウイルスが検出されたファイルのみをリストに出力します。
-l :ログを出力するディレクトリを指定します。ログファイルは自動的に作成されます。
オプションは、man clamscan 又は、clamscan -h で確認して下さい。
ここでは、システム管理者がサービスを提供しているクライアントのディレクトリに対して行う定期ウイルススキャンを目的にしています。
システム管理者が taro のホームディレクトリを taro の権限で検査します。 以下の例では、毎朝4時10分に実行します。レポートはウイルスが検出された ファイルのみ、ウイルスを検出した場合、Find-Virus ディレクトリへ移動し 捕獲します。
一行で記述します。/virus_corection/Find-Virus は taro に書き込み権限が必要です。group 権限を利用します。 crontab を直接修正したら、crond デーモンを再起動する必要があります。
複数のディレクトリやオプションを指定し、長くなる場合は、shell スクリプトを作成して指定するとスッキリします。
samba 側で利用している複数のグループ権限に、clamav ユーザーを追加して 1日に1度、まとめてウイルス検査を行う例です。
samba では、書き込み時に group 権限を強制する事が出来ます。これらを利用してファイルサーバを構築する訳ですが、この 複数の group に clamav ユーザを追加して clamav ユーザ権限で clamscan を実行します。
高い負荷が長時間掛かるため、 root 権限で行うのはセキュリティ上問題があるからです。
目的に応じて適切な計画、ポリシーも必要です。
ウイルススキャンエンジンは、ソフトウェアにより検索速度に差があります。また、どのエンジンもシステムに高い負荷を掛けてしまいます。
例えば、複数のクライアントに提供している Samba(Widows ファイルサーバ) サービス サーバ上で実行する場合、400GB ものディスクスペースを圧縮ファイルも含めて検出すると CPU や条件によっては、1日では行えない事もあります。
計画的にコマンドを実行しないと、次から次へと処理が実行されるため、大変なことになります。
次は、ウイルス定義ファイルの自動更新を設定します。