Ubuntu (20.04/22.04)にウイルススキャンソフトClamAVを入れて一通り使えるようにしてみた(2022/09/05加筆)
私とLinux
今までも適当に仮想マシンにLinuxを入れていました。そこでは、気分転換とかCGIの開発をやっていました。最近はふとしたことからデスクトップLinuxを使うことが多くなってきました。
実用としてのLinux
HDDの遅いノートPCのメインとしてのLinux
前に書いたようにテレワーク用端末のノートPCをテレワークに使わないときにHDDではWindows 10の起動が遅くてやってられないので起動がそれなりの時間で済んで機能も十分なシステムとしてノートPCにXubuntuを入れて使っています。ノートPCではネット閲覧とかしかやらないので、Xubuntuで十分な使い心地です。むしろ、フォントが整っているのでWindows 10より見た目のがよくて気分がいいです。こちらは普通に使うので安全レベルを上げるためウイルス対策ソフトを入れようとみてみたらClamAVくらいしかなかったので、ClamAVを入れました。
Windows 11が出ますが、動作要件が厳しいのでまだまだ使えるマシンでも入れられないというケースは多いかと思います。そんな時に今からLinuxを入れて慣れておくのもよいかと思います。第6,7世代Coreiシリーズあたりで動くLinuxデスクトップ、早くていじりまくりで面白いだろうな。
仮想マシンでメインOSを汚さないLinux
私は今のメインマシンを組むときに、何年も使えばメモリの規格も変わるのでいざメモリを買い足したいときに変えないということを防ぐため大目にメモリを盛ってマシンを組みました。
せっかくメモリがあるので、仮想マシンにUbuntuを入れました。最初はMicrosoft Solitire Collectionの30秒広告がうざいのでフリーセルマシンとして使っていました。
Xubuntu使っていて、MSゴシックもメイリオも游ゴシックもヒラギノもないLinuxではWebページの文字の見た目が大体一緒になるので落ち着いていていいなと思ったのと、隔離されたLinuxでWebブラウザ動かしたら安全だろうなということでFirefoxの設定を詰めてみました。そうすると、Linuxでもアンチウイルスないと自分は安全でも人に迷惑かけるなとということに気づきました。
ということで、UbuntuにウイルススキャンソフトClamAVを入れて一通り使えるようにしてみました。その時の手順を最低の手数でできるように書いてみました。この後の手順はネットで書いてあることの寄せ集めなので、間違っているところがあったらネットで調べてください。
それでは前置きが長くなりましたが、ClamAVをこうやって実用にもっていったということを書いていきます。
ClamAVのセットアップ
全部コマンドラインでやっていきます。
必要物のインストール
以下のコマンドを打ち込んでいきます。
sudo apt install clamav sudo apt install clamav-daemon sudo apt install apparmor-utils -y sudo aa-complain clamd
設定ファイルの修正
次に、設定ファイルを修正します。
sudo vi /etc/clamav/clamd.conf
を実行し、clamd.confを修正します。
LocalSocketGroup clamavとあるところを
LocalSocketGroup root
に変えます。
User clamavとあるところを
User root
に変えます。
また、最後に以下のコマンドを追加します。
OnAccessPrevention false OnAccessExtraScanning true OnAccessExcludeUID 0 VirusEvent /opt/clamav-utils/clamd-response.sh
OnAccessIncludePath /home
OnAccessIncludePath /etc
OnAccessIncludePath /media
OnAccessIncludePath /mnt
OnAccessIncludePath /opt
OnAccessIncludePath /snap
OnAccessIncludePath /tmp
OnAccessIncludePath /usr
OnAccessIncludePath /var
OnAccessMountPath /home
OnAccessMountPath /etc
OnAccessMountPath /media
OnAccessMountPath /mnt
OnAccessMountPath /opt
OnAccessMountPath /snap
OnAccessMountPath /tmp
OnAccessMountPath /usr
OnAccessMountPath /var
OnAccessIncludePathとOnAccessMountPathは/と書いてフルスキャンという手はいつからかわからないけど取れなくなったので、思い当たるところを手当たり次第に書いてます。これがWindowsだったらいくつ書くことになるんでしょう。
Ubuntu 22.04では以下の行も追加する必要があります。
OnAccessExcludeRootUID yes
OnAccessExcludeUname root
ウイルス検知時のアクション
ウイルス検知時に自動でウイルスを削除するため、以下のコマンドを実行します。
sudo mkdir -p /opt/clamav-utils sudo vi /opt/clamav-utils/clamd-response.sh
vimが起動したら、以下の内容を入力します。
#!/bin/sh # ClamAVのウイルス検知イベントをログに記述 echo "$(date) - $CLAM_VIRUSEVENT_VIRUSNAME > $CLAM_VIRUSEVENT_FILENAME" >> /var/log/clamav/infected.log # マルウェアファイルを削除 rm $CLAM_VIRUSEVENT_FILENAME
ファイルを保存したら、シェルスクリプトを実行できるようにします。
sudo chmod 755 /opt/clamav-utils/clamd-response.sh
オンアクセススキャンの有効化
ウイルス検知時を自動で行うため、以下のコマンドを実行します。
cd /lib/systemd/system sudo vi clamonacc.service
vimが起動したら、以下の内容を入力します。
# /etc/systemd/system/clamonacc.service [Unit] Description=ClamAV On Access Scanner Requires=clamav-daemon.service After=clamav-daemon.service syslog.target network.target [Service] Type=simple User=root ExecStart=/usr/sbin/clamonacc -F --log=/var/log/clamav/clamonacc Restart=on-failure RestartSec=120s [Install] WantedBy=multi-user.target
ウイルススキャン自動実行の登録
以下のコマンドを入力します。
sudo touch /var/log/clamav/clamonacc
sudo systemctl enable clamonacc.service sudo systemctl enable clamav-daemon sudo systemctl enable clamav-freshclam sudo systemctl restart clamav-freshclam.service
sudo systemctl restart clamonacc.service
これでClamAVが動き出します。
確認
Firefoxでも立ち上げてeicarをダウンロードして保存してみましょう。保存後、eicarが消えて、/var/log/clamav/infected.logに消えたことが表示されます。
おまけ
GUIでウイルススキャンを行うため、以下のコマンドを実行してClamTkをインストールすることでGUIでウイルススキャンなどを行うことができるようになります。
sudo install clamtk
これで、Ubuntuでもリアルタイムでウイルススキャンが行われるようになったので、多少の無茶しても安全になるかと思います。もちろん、変なサイトに行かないとかの基本は一緒ですが。
追記
Xubuntu 22.04でも試して、同様の手順で使うことができることを確認しました。