KubuntuにClamAV/ClamTkをインストールして使ってみる

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

以下の記事でWin10→Win11にアップデートできないThinkPadにKubuntu 24.04を導入しました。

https://qiita.com/ohtsuka-shota/items/1ddbfc3cb85f1edb9ec8

これで余っていたThinkPadに新たな命を宿すことができ、色々遊べる環境を作ることができました。
そのうちSambaでも導入してなんちゃってファイルサーバ的なものを試してみようと思うのですが、その前にClamAVを導入してセキュリティ強化を図りたいと思います。

今回導入するシステムは以下のとおりです。
![Image](https://github.com/user-attachments/assets/c74f5812-1b99-4c99-ac9f-70d9eab1274a)

# 環境構築
## ClamAVのインストール
Konsoleを開き、以下のコマンドを実行します。
aptのアップデートを行い、その後にClamAVをインストールしてます。
```
shota@shota-20f5a2v5jp:~$ sudo su -
[sudo] shota のパスワード: 
root@shota-20f5a2v5jp:~# apt update && apt upgrade -y
root@shota-20f5a2v5jp:~# apt install -y clamav clamav-daemon
```
インストールができたら、ウイルス定義ファイルの更新を行いましょう。
clamav-freshclam（ウイルス定義ファイル（データベース）を最新の状態に保つための自動アップデートツールらしい）を停止し、freshclamコマンドで定義ファイルを更新しています。
その後、停止していたclamav-freshclamを改めて起動します。
```
root@shota-20f5a2v5jp:~# systemctl stop clamav-freshclam
root@shota-20f5a2v5jp:~# freshclam
ClamAV update process started at Mon Dec 30 17:47:28 2024
Mon Dec 30 17:47:28 2024 -> daily.cvd database is up-to-date (version: 27502, sigs: 2071643, f-level: 90, builder: raynman)
Mon Dec 30 17:47:28 2024 -> main.cvd database is up-to-date (version: 62, sigs: 6647427, f-level: 90, builder: sigmgr)
Mon Dec 30 17:47:28 2024 -> bytecode.cvd database is up-to-date (version: 335, sigs: 86, f-level: 90, builder: raynman)
root@shota-20f5a2v5jp:~# systemctl start clamav-freshclam
root@shota-20f5a2v5jp:~# systemctl enable clamav-freshclam
root@shota-20f5a2v5jp:~# systemctl status clamav-freshclam
● clamav-freshclam.service - ClamAV virus database updater
     Loaded: loaded (/usr/lib/systemd/system/clamav-freshclam.service; disabled;>
     Active: active (running) since Mon 2024-12-30 17:48:24 JST; 7s ago
       Docs: man:freshclam(1)
             man:freshclam.conf(5)
             https://docs.clamav.net/
   Main PID: 7901 (freshclam)
      Tasks: 1 (limit: 9284)
     Memory: 2.6M (peak: 2.8M)
        CPU: 53ms
     CGroup: /system.slice/clamav-freshclam.service
             └─7901 /usr/bin/freshclam -d --foreground=true

12月 30 17:48:24 shota-20f5a2v5jp systemd[1]: Started clamav-freshclam.service ->
12月 30 17:48:24 shota-20f5a2v5jp freshclam[7901]: ClamAV update process started>
12月 30 17:48:24 shota-20f5a2v5jp freshclam[7901]: Mon Dec 30 17:48:24 2024 -> d>
12月 30 17:48:24 shota-20f5a2v5jp freshclam[7901]: Mon Dec 30 17:48:24 2024 -> m>
12月 30 17:48:24 shota-20f5a2v5jp freshclam[7901]: Mon Dec 30 17:48:24 2024 -> b>
```

## コマンドラインでスキャンする方法
clamscanコマンドで実行することができます。
-r /とすることでルートディレクトリから再帰的に（つまりPC全範囲を対象として）スキャンを行います。
以下のclamscanの実行結果は超長いのでここでは出力結果を省きます。
```
root@shota-20f5a2v5jp:~# clamscan -r /
```

## ClamTkのインストール
上記でCUIベースでスキャンをすることが出来るようになりましたが、GUIのものもついでに触ってみます。
ClamAVをGUIで操作するためのツール、ClamTkをインストールしていきます。
とは言っても導入は簡単で、以下のコマンドを実行するだけです。
```
root@shota-20f5a2v5jp:~# apt install -y clamtk
```
インストールが終了すると、ClamTkのアプリがGUIで表示されます。
![Image](https://github.com/user-attachments/assets/f971efe5-7625-4d8f-928a-386c255ae85e)
ClamTkを開いてみます。
GUIからスキャンをすることが出来たり、スキャンをスケジュールに落とし込むことが出来たり、定義ファイルアップデートすることが出来るようです。
![Image](https://github.com/user-attachments/assets/e207cacc-3358-47eb-9bb3-993eb411e9da)

## テストファイルをダウンロードしてClamTkで検知させる
以下のWebサイトからマルウェアのテストファイルをダウンロードして、ClamAVが検知することを確認します。
Webサイトの右上のdownloadを押下します。

https://www.eicar.org

今回はEICAR.COM-ZIPと書かれているものをダウンロードしました。
![Image](https://github.com/user-attachments/assets/2960a33d-e2a2-4e41-a6f6-e5a2634a1d2e)
ダウンロードフォルダに格納されていることを確認します。
![Image](https://github.com/user-attachments/assets/56ab7a53-5411-4164-8611-d02025842077)
ダウンロードフォルダにあるものを正常に検知できるかを確認します。
ClamTkを起動してフォルダーをスキャンを押下。その後ダウンロードフォルダを選択して実行します。
![Image](https://github.com/user-attachments/assets/3f962a0a-4594-4799-844a-b08a10a18d6a)
検知結果は以下となります。
確かに検知はしているのですが、どのファイルを検知しているのか確認が出来ないっぽかったです。
ちょっと使用感が微妙なような・・・
![Image](https://github.com/user-attachments/assets/e6d5f8a7-b4c6-4f95-a3c7-2ad26021dff1)

## テストファイルをダウンロードしてClamAVで検知させる
同様のことをClamAVで実行してみます。
こちらのほうがどのファイルが引っかかっているか表示されるので、便利そうに見えます。
```
shota@shota-20f5a2v5jp:~$ ls
snap  ダウンロード  テンプレート  デスクトップ  ドキュメント  ビデオ  ピクチャ  ミュージック  公開
shota@shota-20f5a2v5jp:~$ cd ダウンロード/
shota@shota-20f5a2v5jp:~/ダウンロード$ ls
Red  eicar_com.zip
shota@shota-20f5a2v5jp:~/ダウンロード$ pwd
/home/shota/ダウンロード
shota@shota-20f5a2v5jp:~/ダウンロード$ clamscan /home/shota/ダウンロード
Loading:    23s, ETA:   0s [========================>]    8.70M/8.70M sigs       
Compiling:   5s, ETA:   0s [========================>]       41/41 tasks 

/home/shota/ダウンロード/eicar_com.zip: Win.Test.EICAR_HDB-1 FOUND
/home/shota/ダウンロード/.red.id: OK

----------- SCAN SUMMARY -----------
Known viruses: 8703433
Engine version: 1.0.7
Scanned directories: 1
Scanned files: 2
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 29.798 sec (0 m 29 s)
Start Date: 2024:12:30 19:33:09
End Date:   2024:12:30 19:33:38
```
危険なファイルを併せて削除するコマンドは以下になります。
--infectedオプションで脅威のあるファイルが見つかったのみ出力するようにしています。
また--removeオプションで脅威のあるファイルを消すようにしています。
--logで結果を指定のlogファイルに書き込みます。
```
shota@shota-20f5a2v5jp:~/ダウンロード$ clamscan -r --infected --remove --log=/home/shota/ダウンロード/scan.log /home/shota/
/home/shota/.local/share/Trash/files/eicar.com: Win.Test.EICAR_HDB-1 FOUND
/home/shota/.local/share/Trash/files/eicar.com: Removed.
/home/shota/ダウンロード/eicar_com.zip: Win.Test.EICAR_HDB-1 FOUND
/home/shota/ダウンロード/eicar_com.zip: Removed.

----------- SCAN SUMMARY -----------
Known viruses: 8703464
Engine version: 1.0.7
Scanned directories: 1657
Scanned files: 22993
Infected files: 2
Data scanned: 1793.62 MB
Data read: 836.53 MB (ratio 2.14:1)
Time: 477.579 sec (7 m 57 s)
Start Date: 2024:12:30 19:38:20
End Date:   2024:12:30 19:46:17
```
脅威のあるファイルが消え、スキャン結果のログが作成されていることが確認できます。
![Image](https://github.com/user-attachments/assets/7048a947-3991-4e62-88f3-e51efe768bab)

ログの中身は以下となります。
個人的にはシェルを作ってそれをcron噛ませて定期実行させる、みたいな方が良いんじゃないかなぁと思いました。
```
-------------------------------------------------------------------------------

/home/shota/.local/share/Trash/files/eicar.com: Win.Test.EICAR_HDB-1 FOUND
/home/shota/.local/share/Trash/files/eicar.com: Removed.
/home/shota/ダウンロード/eicar_com.zip: Win.Test.EICAR_HDB-1 FOUND
/home/shota/ダウンロード/eicar_com.zip: Removed.

----------- SCAN SUMMARY -----------
Known viruses: 8703464
Engine version: 1.0.7
Scanned directories: 1657
Scanned files: 22993
Infected files: 2
Data scanned: 1793.62 MB
Data read: 836.53 MB (ratio 2.14:1)
Time: 477.579 sec (7 m 57 s)
Start Date: 2024:12:30 19:38:20
End Date:   2024:12:30 19:46:17
```