Ubuntu Weekly Recipe

第429回 ウイルススキャンの結果を通知する

この記事を読むのに必要な時間:およそ 3 分

Byobuで通知する

前述のとおりByobuを使用しますが,Ubuntuとそのフレーバーではデフォルトでインストールされていないので,インストールします。Ubuntuサーバーではインストールされています。

$ sudo apt install byobu

インストール後,何はともあれ起動します図1⁠。

$ byobu

図1 Byobuの画面

画像

Byobuは画面下部にさまざまなステータスが表示されているのが特徴ですが,これは細かくカスタマイズすることができるばかりか,自分で作ることもできます。設定方法はF9キーを押してByobu設定メニューを表示し図2⁠,⁠ステータス通知の切り替え]を選択してエンターキーを押してください。ここにカスタム(custom)があるので,これを選択した状態でスペースキーを押し図3⁠,チェックを入れてTabキーで[適用]に移動し,エンターキーを押してください。Tabキーを押して[Exit]に移動し,エンターキーを押すと設定メニューが終了します。

図2 Byobu設定メニュー

画像

図3 customを選択

画像

これで自分で作成したステータスが表示できるようになったので,あとはスクリプトを作成します。仕様はWikiにあるとおりで,非常に簡単です。

まずはスクリプトを置くフォルダーを作成します。

$ mkdir -p ~/.byobu/bin

ここに10_virusというスクリプトを作成します。中身は次のとおりです。

#!/bin/sh
VIRUS=$(cat ~/.clamav-home-results.txt |grep Infected|cut -f 3 -d " ")
if [ -n "$VIRUS" ]; then
    echo "Virus(es): $VIRUS found from home"
fi

もちろんこのままでも動作しますが,あくまでこれは例ですので好きなように書き換えてください。

作成後,実行権限を与えます。

$ chmod +x ~/.byobu/bin/10_virus

Byobuは自動的にこのスクリプトを読み込むため,表示も自動的に変わります図4⁠。

図4 自作のステータスが追加できた

画像

なお,ファイル名にある"_"の前の"10"は,10秒毎にスクリプトを実行するという意味です。これほど頻繁に実行する理由もないため,適宜数字を増やしてください。

また,ほかの場所のスキャン結果は別ファイル(~/.clamav-samba-results.txtなど)に保存し,このファイルを確認する別のスクリプトを作成するといいでしょう。その場合は"from home"の部分を"from samba"とかにすれば,区別が付きやすくていいのではないかと思います。

ウイルスが見つかった場合

不幸にしてウイルスが見つかってしまった場合,どうすればいいのでしょうか。いきなり削除することもできますが,まずは特定のフォルダーに移動させるのがいいでしょう。よって,まずは移動するフォルダーを作成します。

$ cd /var/lib/clamav/
$ sudo mkdir infected
$ sudo chown clamav:clamav infected/
$ sudo chmod 775 infected/

続いて移動させます。

$ clamscan -r -i $HOME --move=/var/lib/clamav/infected

移動後は注意深く中身を確認してから削除しましょう。

clamavの精度は?

clamavはアンチウイルスソフトとしてどのぐらい信頼できるのでしょうか。今回は筆者宛てに届いたspamメールの中からウイルス付きと思われるファイルを28個ピックアップしてスキャンしてみました。なお,本当にウイルス付きのファイルかどうかは確認していませんので,その点はご注意ください。

2016年7月9日現在では,以下の結果になりました。

/home/ikuya/virus/SCAN000783445.zip: Win.Trojan.Locky-30621 FOUND
/home/ikuya/virus/report_id.zip: Win.Trojan.Generickd-405 FOUND
/home/ikuya/virus/IMG6161754.zip: Win.Trojan.Locky-30621 FOUND

----------- SCAN SUMMARY -----------
Known viruses: 4612786
Engine version: 0.99
Scanned directories: 1
Scanned files: 28
Infected files: 3
Data scanned: 6.33 MB
Data read: 2.34 MB (ratio 2.71:1)
Time: 6.734 sec (0 m 6 s)

28個のうち3個がウイルスであると判定しています。

Ubuntuでも使用できるSophos Antivirus for Linuxは個人用では無料で使用できるため,今回試してみました。すると15個のファイルが20個のウイルスに感染しているという結果が出ました図5⁠。

図5 Sophos Antivirus for Linuxでの結果

画像

Windows 10に付属するWindows Defenderでは,9個のウイルスが発見できました図6⁠。

図6 Windows Defenderでの結果

画像

サンプル数が少なすぎるのでどの程度信頼していいのかという問題はありますが,clamavではやや心もとない結果となってしまいました。それでも原稿執筆中最初にスキャンした時は一つしか見つかりませんでしたが,その後3つまで増えたことは付記しておきます。

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamメンバーで,主として日本語入力関連を担当する。特定非営利活動法人OpenOffice.org日本ユーザー会。LibreOffice日本語チーム。ほか,原稿執筆も少々。