Raspberry Piでのウィルススキャンはリアルタイムと定時どちらがいいか?

clamav

約 9 分で読めます。



Raspberry Pi環境でのウィルス対策としてclamavを入れている方は多いと思います。
 というよりそれ以外の選択肢がほぼ無い。

この記事では、

ウィルススキャンってリアルタイムスキャンがいいって言うけど、

でも常時メモリ食うのもなあ。

定時スキャンだとスキャンしていないときに問題起こらないか心配。

みたいな悩み事を持つあなたに、私なりの考え方を共有したいと思います。



個人向けRaspberry Piで遊んでいるという私なりの考え方ですので、前提や重要視する点が違う方にピッタリとは当てはまらないかもしれません。

例えば不特定多数向けサービスをAWS上のAmazon Linuxで運営している場合ですと、
インシデント発生時の緊急度が私のラズパイとは比べ物にならないですねw

それでも、着眼点などは参考になると思います。

では行ってみましょう!

いきなり結論 定時スキャンで充分

定時スキャンで十分だと考えます。
 少なくとも私の環境では。

以下に理由を載せていきます。

理由① ウィルス侵入経路が限られていて、定時スキャンで充分対処可

私はRaspberry Piをnextcloudサーバーとsambaサーバーとして使っています。

当然開けているポートも限定しています。

↓はRaspberry Pi上でnetstatしたときの結果です。
定時スキャンでメールを送るためにpostfixが動いているためsmtpが動いていたりしますが、
ほとんどのポートを開けていません。

$ netstat -ta4
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:netbios-ssn     0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:xxxxx           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:domain          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:smtp            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:https           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:microsoft-ds    0.0.0.0:*               LISTEN
tcp        0      0 yasufumi-yokoyama:xxxxx 192.168.1.8:xxxxx       ESTABLISHED



また、家のWi-Fiルーターで許可しているのはHTTP/HTTPS/SSHの3つのみで使い方は以下。
第三者(攻撃者)がログインできないように対策を行っています。

ポート用途ウィルス混入のリスク
HTTP/80nextcloud無し
二要素認証を入れていて、第三者はログイン不可
そのため、悪意あるファイルをアップロードすることはできない
HTTPS/443nextcloudHTTPと同じく、ウィルス混入のリスクは無いと考えられる
SSH/独自維持管理用無し
秘密鍵によるログイン認証としていて、第三者はログイン不可
そのため、悪意あるファイルをアップロードすることはできない



ウィルスの実体はファイルであり、そのファイルを実行するなり、対応アプリケーションで開くなりして初めて効果が現れます。

そのため、ファイルとして対象システム(今回はRaspberry Pi)に入り込まないといけません。

ですが、前記の通り私のRaspberry Piでは外部からウィルスに感染したファイルが混入することがない(もしくは非常に少ない)ため、ウィルス対策は最優先事項ではないことになります。

少し外れますが、nextcloudでの二要素認証、SSHでの秘密鍵認証はそれぞれ以下の記事で紹介していますので、ご興味ある方は参考にどうぞ!

理由② Linux向けウィルスがそもそも少ない

これは嬉しいかな悲しいかな、WindowsやMacに比べるとLinux向けのウィルス自体がマイナーなので、対策の必要性が他と比べると薄れます。

2019年と少し古いデータになりますが、↓を見るとWindowsが圧倒的に多いことがわかります。
 第二位がChromeOSというのは興味深いデータですね。。。

https://www.udsenterprise.com/en/blog/2019/12/02/linux-least-targeted-os-malvertising/



それもそのはずで、
世間でよく使われているコンピューターはWindows、iPhone、Androidスマホくらいですよね。

自分のリアル交友関係でLinuxを使っている人なんて誰もいません…Ubuntuですらも…

このため、標的数で考えると、LinuxよりWindowsやスマホを標的にする方が効率がいいのです。

また、Linuxを使う人はコンピューターに精通している方の割合が多く、一定の対策をしていることが多いでしょう。

一方で、スマホは特にコンピューターというよりも高級玩具という見方が多く、

セキュリティ?なにそれ?
エンジニアが気にしていればいいんじゃないの?

という方も多いのが現状だと思います。

その点で考えても、iPhone/Androidスマホは無防備なことが多く、攻撃者にとっては格好の的。

ということで、これまたLinuxユーザーを狙い撃ちにする必要性はあまりないですね。

本当に何も対策しなくていいのか?

ただ、何もしないというのもエンジニアとしては不安になりますね。
エンジニアですと肌感覚でおわかりいただけると思いますが、100%完璧はないですし。



ということで、

一週間に一度くらいはフルスキャンをして様子を見る

くらいはやっておいてもいいのではないかと思います。

スキャンする時刻が夜中であれば可用性にも影響がないので、いいですね。



↓の記事で
 clamavで毎日スキャンし、ウィルス検出したらメール送信
のスクリプトを載せています。

終わりに

いかがでしたか。

最初は何が何でもリアルタイムスキャンだと思っていましたが、
それだとRAMを常時消費する課題が出てきたので、考え方自体をレビューし、
今後同じ悩みに直面することがないようにまとめてみました。

参考になったら嬉しいです!

SNSなどでコメントもらえると喜びます!

Comments

タイトルとURLをコピーしました