2.5分UbuntuとアンチウイルスソフトUbuntuでウイルススキャンは必要なのか?clamavのインストールパターンファイルの更新と初回スキャン自動実行Byobuで通知するウイルスが見つかった場合clamavの精度は?今回は、Ubuntuでウイルススキャンを実行する意義を確認したうえで、Ubuntuらしく結果を通知する方法を考えてみます。UbuntuとアンチウイルスソフトUbuntuで使用できる著名なアンチウイルスソフトは、第30回と第31回でも取り上げましたclamavです。そのフロントエンドであるclamtkは現在でも開発が継続されていますが、klamavはQt3から4や5へポーティングされず、Qt3はずいぶん前にUbuntuのリポジトリからは削除されているため、それに伴いklamavも削除されています。Ubuntuでウイルススキャンは必要なのか?今更述べるまでもありませんが、世の中に出回っているウイルスプログラムは、ほとんどがWindowsで動作するものです。Ubuntuを始めとしたLinuxで動作するものはあまり多くはありません。あればウイルススキャンを実行する必要はないのかといわれると、そのようなこともないように思うのです。UbuntuはSambaなどをインストールするとファイルサーバーにもなります。PCが一台もないというのは考えにくいですし、ファイルサーバーにある段階でウイルスを検出できれば、より安全に運用できることは言うまでもありません。いうわけでウイルススキャンを実行するとして、どのぐらいの頻度で実行すればいいのでしょうか。リアルタイムスキャンは不要でしょう。いうことは、定時で実行すればよさそうです。ファイルサーバーであれば常時電源オンにしていることが多いでしょうし、そうでない場合もあまり負荷の高くない時間に行えばいいでしょう。問題は、ウイルスが見つかった場合どのような通知を行えば気づくことができるのかということですが、Ubuntuサーバーを使用している場合は、Byobuを使用しているはずなので、これを使わない手はありません。Byobuに関しては第72回、第291回、第383回で取り上げていますので、あわせてこちらもご覧ください。どのように使うのかは後述します。今回はclamtkは使用しません。よってすべての操作はコマンドラインで行います。clamavのインストールclamavはUbuntuのリポジトリに存在するため、インストールは非常に簡単です。clamavインストールするとclamavグループが作成されるため、現在使用しているユーザーにclamavグループ権限を与えます。clamav追加したグループを有効にするため、一度ログアウトして再ログインします。パターンファイルの更新と初回スキャン何はなくとも、clamavのパターンファイルを更新します。freshclamメッセージはいろいろと表示されますが、main.cvdとdaily.cvdとbytecode.cvdが[100%]と表示されていれば、あとは無視してもいいでしょう。続いてホームフォルダーをスキャンしてみます。$HOME-rはフォルダーを再帰的に検索するオプションで、-iは感染しているファイルだけを表示するオプションです。ホームフォルダー以外を検索する時は権限がないことも多いでしょうから、sudoをつけてclamscanコマンドを実行してください。自動実行cronで自動実行するための設定方法はいくつかありますので、お好みの方法で設定してください。今回は/etc/cron.dにファイルを置く方法で設定します。/home/ikuya/.clamav-home-results.txtこの例では、毎日12:00にユーザーikuyaのホームフォルダをスキャンし、その結果を/home/ikuya/.clamav-home-results.txtに書き込んでいます。パターンファイルの更新は自動的に行っています。設定自体は/etc/clamav/freshclam.confにあります。clamav-freshclamを実行し、[⁠手動]に変更してください。通常は自動更新から変更する理由はあまり多くありません[1]⁠。[1]clamtkしか使わないとか、定期的にインターネットに接続されると困る場合とか、そういう場合は手動にするといいでしょう。ほかにも、ファイルサーバーを使用する場合はその領域もスキャンする設定を行ってください。その場合はroot権限で実行するといいでしょう。Byobuで通知する前述のとおりByobuを使用しますが、Ubuntuとそのフレーバーではデフォルトでインストールされていないので、インストールします。Ubuntuサーバーではインストールされています。byobuインストール後、何はともあれ起動します(図1⁠)⁠。Byobuの画面Byobuは画面下部にさまざまなステータスが表示されているのが特徴ですが、これは細かくカスタマイズすることができるばかりか、自分で作ることもできます。設定方法はF9キーを押してByobu設定メニューを表示し(図2⁠)⁠、[⁠ステータス通知の切り替え]を選択してエンターキーを押してください。ここにカスタム(custom)があるので、これを選択した状態でスペースキーを押し(図3⁠)⁠、チェックを入れてTabキーで[適用]に移動し、エンターキーを押してください。Tabキーを押して[Exit]に移動し、エンターキーを押すと設定メニューが終了します。customを選択これで自分で作成したステータスが表示できるようになったので、あとはスクリプトを作成します。仕様はWikiにあるとおりで、非常に簡単です。スクリプトを置くフォルダーを作成します。~/.byobu/binここに10_virusというスクリプトを作成します。中身は次のとおりです。~/.byobu/bin/10_virusByobuは自動的にこのスクリプトを読み込むため、表示も自動的に変わります(図4⁠)⁠。自作のステータスが追加できたなお、ファイル名にある"_"の前の"10"は、10秒毎にスクリプトを実行するという意味です。これほど頻繁に実行する理由もないため、適宜数字を増やしてください。ほかの場所のスキャン結果は別ファイル(~/.clamav-samba-results.txtなど)に保存し、このファイルを確認する別のスクリプトを作成するといいでしょう。samba"とかにすれば、区別が付きやすくていいのではないかと思います。不幸にしてウイルスが見つかってしまった場合、どうすればいいのでしょうか。削除することもできますが、まずは特定のフォルダーに移動させるのがいいでしょう。よって、まずは移動するフォルダーを作成します。infected/続いて移動させます。--move=/var/lib/clamav/infected移動後は注意深く中身を確認してから削除しましょう。clamavの精度は?clamavはアンチウイルスソフトとしてどのぐらい信頼できるのでしょうか。今回は筆者宛てに届いたspamメールの中からウイルス付きと思われるファイルを28個ピックアップしてスキャンしてみました。本当にウイルス付きのファイルかどうかは確認していませんので、その点はご注意ください。2016年7月9日現在では、以下の結果になりました。s)28個のうち3個がウイルスであると判定しています。Linuxは個人用では無料で使用できるため、今回試してみました。すると15個のファイルが20個のウイルスに感染しているという結果が出ました(図5⁠)⁠。Defenderでは、9個のウイルスが発見できました(図6⁠)⁠。Defenderでの結果サンプル数が少なすぎるのでどの程度信頼していいのかという問題はありますが、clamavではやや心もとない結果となってしまいました。それでも原稿執筆中最初にスキャンした時は一つしか見つかりませんでしたが、その後3つまで増えたことは付記しておきます。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。