お兄ちゃん!
Linux にはアンチウイルスソフトは無いのかな?
ClamAV のパッケージ名は
clamav
だよ
パッケージ管理システムから
インストールしよう
sudo apt install -y clamav
うん!もう
apt
でのインストールは慣れっこだね!ClamAV の設定ファイルは
/etc/clamd.d/scan.conf
だよまずはオリジナルのバックアップを作成しようsudo cp -v /etc/clamd.d/scan.conf{,.dist}
うん!オリジナルの設定をバックアップしたよ!
次はエディタで設定ファイルを開こう!
sudo vim /etc/clamd.d/scan.conf
いつでも編集できるよ!
設定ファイル中の
Example
をコメントアウトすることでClamAV が使えるようになるんだExample
こうかな?
#Example
そうそれで大丈夫だよ!保存して終了しよう!
freshclam
はウイルス定義ファイルを更新するよfreshclam [オプション]...
オプションなしで実行しよう
sudo freshclam
できたよ!
でも毎回手動で更新するのは面倒だね
定義ファイル自動更新サービス
clamav-freshclam
が用意されているよサービスを起動し自動起動も有効にしようsudo systemctl enable --now clamav-freshclam
起動したら正常に動作しているか確認しよう!
sudo systemctl status clamav-freshclam
無事動いたよ!これで定義ファイルは自動更新されるんだね!
次は ClamAV デーモン
clamd
を起動しよう!ディストリビューションによっては@設定ファイル名
を続けてclamd@scan
とする必要があるんだ以下のコマンドで clamd
を起動し自動起動を有効にしようsudo systemctl enable --now clamd@scan
これも起動したら動作確認をしよう
sudo systemctl status clamd@scan
こっちも OK だよ!これでウイルススキャンの準備ができたんだね!
いよいよ実行だね!ウイルスってどこで手に入れたらいいのかな?
本物のウイルスを手元に置くのは危ないよ!別の方法で動作確認をしよう
ここでは Eicar を用意するよこれは無害だけどウイルスとして検知されると決められているファイルなんだウイルス検出の動作テストなどで使われるよ
へぇ…そんなファイルがあるんだ!どうやって用意するのかな?
ファイルの内容が特定の文字列であるだけでいいんだ以下のコマンドでEicar ファイル
/tmp/eicar
を作成するよダミーといえども本当にウイルスとして検知されるものだよ会社や学校などの場で試すと誤解を招く可能性があるんだ必ず個人の環境などで実行してね
echo -n 'P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/eicar
これでウイルスの代わりが用意できたんだね
ClamAV のスキャンは2種類のコマンドが用意されているんだ
コマンド | 役割 |
---|---|
clamscan | clamd を使わないスキャン |
clamdscan | clamd を使うスキャン、 |
clamd
を起動しているのでclamdscan
を実行してみようclamdscan /tmp/eicar
うまく見つけてくれるかな?
/tmp/eicar: Win.Test.EICAR_HDB-1 FOUND
----------- SCAN SUMMARY -----------
Infected files: 1
Time: 0.004 sec (0 m 0 s)
Start Date: 2024:12:25 10:00:00
End Date: 2024:12:25 10:00:00
FOUND
ということは検出できているね!結果に上手く行ったようだね!確認ができたらEicar は削除しよう!
rm /tmp/eicar
後片付けも完了だよ!
今回は Linux で使えるオープンソースのアンチウイルスソフト ClamAV を学んだよ!これでウイルスも怖くないね!
インストールしただけで安心せず今後の運用も考えよう!スキャンを定期的に実行する検出されたファイルの扱いを決めておくなどを考えておき悪意のあるプログラムを検出できる体制を作っておこう!