2010年10月27日(水)更新サーバーのウィルスチェックをやります。AntiVirus(clamav)を使うことにします。併せてメール用のスキャナclamsmtpも設定しておきます。サーバーのウィルスチェックにウィルス対策ソフトを導入します。AntiVirus(clamav)ですが、今回もこれを使います。併せてメールのウィルスチェック用にclamsmtpもインストールしておきます。インストール当初できるだけrpmでインストールしようと思い、clamav関係とclamsmtpのrpmパッケージがあるEPELよりすべてインストールしてみました。EPELのclam関係はかなり大幅に改変されており、その意図もよくわからず、今までと違いすぎてたいへん使いにくい。バージョンが古く、freshclamによるデータアップデートのたびに警告が出る。今後バージョンアップフォローがちゃんとなされるのか非常に不安。(ちなみにインストールされたバージョンは1年以上前のもの。情報が少なく設定や稼働に不安。いうことがあり、特にウィルススキャナは常に最新であることが重要なため、どうしても遅れがちな(あるいはフォロー不足の)ディストリビューションのrpmは使わないのが賢明そうだという印象を得ました。EPELからいれたのは思い切りすべてアンインストール。気をとりなおして再挑戦。次にrpmforgeを見てみるとclamavのバージョンは最新ですが、clamsmtpはありません。別途考えることにします。Extender)でclamav,clamd,clamav-dbをインストール。今回のバージョンは0.96-3でした。設定まずはウィルスデータベースの更新を設定します。...と思いましたが、そのままでいいようです。データベースを更新してみます。freshclamなんたらかんたら言いながらデータベースを更新しています。directoryclamdのソケットがないのでつなげられないよと言っています。早いけどclamdの起動設定もしておきます。自動起動は設定されていました。ほとんどそのままでいいようですが、少し好みで変更。3600clamdを起動してみます。]いちおう起動するのですが、なにかがちゃんと設定されてないのかなと思いつつ、設定ファイルなどを見てみました。ついてはわかりません。検索してみるとどうやらバグのようです。実害はなさそうなので気にしないことにします。捨ててしまえば出なくなることまではわかりましたが、出ても問題はなさそうなのでそのままにしておきます。clamav,clamdのバージョンアップが出ていましたのでアップデートしたらこれらのWARNINGは出なくなりました。とでソケットの記述が違うのに気がつきました。停止時の設定なのでそのままでも実害はないとおもわれますが、いちおう起動スクリプトのほうを訂正しておきます。動作テストためしにスキャンしてみます。s)ということで、ウィルスはみつかりません。ログが記録されています。テスト用ウィルスをダウンロードし、検出できるか試してみます。Check隔離ディレクトリ/var/tmp/clamav/clamscanを作り、UID:GIDをclamav:clamavとし、書込権限を与えておきます。指定したフォルダをチェックします。全部やるとすごい時間がかかるので、最低限外部からデータの入ってくるフォルダのみとします。スキャンした記録を/var/log/clamscan.logに累積で記録。ウィルスが見つかったら/var/tmp/clamav/clamscanへ隔離し、rootへメール。他の動作が遅くならないよう低優先度で動作。スキャンスクリプトを結果、ためしに置いたウィルスはちゃんと隔離され、警告メールを受け取り。ログもちゃんと記録されています。実行優先度を下げても他のプロセスが動いてなければ時間は変わりませんでしたが、実行中にブラウザなどを使ってみると少し遅くなる程度で優先度を指定しておくのは正解そうです。/etc/logrotate.d/clamscanをつくり、ログがrotateされるように変更しておきます。ログローテートスクリプトを以上でclamavのインストールと設定は完了。引き続いてメールスキャン用のclamsmtpをやっておきます。conflictとやらでエラーになりましたのでソースからビルドし、インストールします。clamsmtpのソースと簡単なインストール手順があります。できますのでインストール。clamsmtp-1.10-1.i386.rpmOKのようなのでインストール。つくり、UID:GIDをclamav:clamavとし、書込権限を与えておきます。ウィルスが見つかったときのメール通知スクリプトvirusalert.shをつくり、/usr/local/binに置いておきます。/etc/yum.confと/etc/yumex.confの各々のexcludeにclamsmtp*を追加し、アップデート対象から外しておきます。通知スクリプトちょっと早いけど、起動設定とテスト起動。このあとpostfixにclamsmtpdを使ってのメールスキャンの設定をします。その他VineLinux4ではcrondのソケットやclamsmtpdの作業ディレクトリがなぜか時折(月に1回くらい)落ちていることがあります。データベースのアップデート中にチェックが重なると落ちることがあるとの噂。CentOS5ではまだわかりませんが、念のためチェックスクリプトを作って/etc/cron.hourlyに置いておきます。