Linux管理・運用の基本
システム管理者のための実践ガイド
システム管理者のための実践ガイド
「Linuxサーバーにはアンチウイルスは不要」
そう言われていた時代もありました。しかし現在のサーバー運用では、その考え方は通用しません。ファイル共有、Webアップロード、メールリレー。Linuxサーバーは多くの場合「データの通り道」になります。その結果、サーバー自身は無事でも、マルウェアの拡散源になってしまうケースが増えています。Linuxサーバーのセキュリティ対策において、避けては通れないのがアンチウイルスソフトの導入です。
本連載では、Cisco Talosがメンテナンスしているオープンソースの標準エンジンClamAVを軸に、現場で使える実践的な構成を解説していきます。
「Linuxはウイルスに強いから対策不要」と言われることがありますが、Linuxでは実行権限やユーザー権限の分離により、マルウェアが自己拡散しにくい設計になっているためです。
しかし、以下のシーンを想定してください。
「自分の身を守る」ためではなく、「他者に迷惑をかけない(媒介しない)」のがLinuxにおけるアンチウイルスの設計思想です。
ClamAVは、メールサーバーやLinuxサーバーで世界的に広く利用されているオープンソースのアンチウイルスエンジンです。大きく分けて2つの要素で動いています。
| 要素 | 名称 | 役割 |
|---|---|---|
| スキャンエンジン | clamscan |
実際にファイルを検査する本体。 |
| 定義データベース | freshclam |
ウイルスの特徴(シグネチャ)を更新するツール。 |
それでは、実際にサーバーへインストールを行い、動作可能な状態まで整えましょう。
主要なディストリビューションでのコマンド例です。
sudo apt update
sudo apt install clamav clamav-daemon -y
clamav-daemon を入れることで、バックグラウンドでの高速スキャンが可能になります。
sudo dnf install epel-release -y
sudo dnf install clamav clamd clamav-update -y
インストール直後は定義データベースが空、あるいは古い状態であるため、必ず手動で更新を実行します。
sudo freshclam
正常に終了すると、最新のウイルス定義がダウンロードされます。これを行わないとスキャン機能が正しく働かないため、忘れずに実行してください。
インストール直後にバージョン確認を行い、正常に認識されているかチェックします。
clamscan --version
コマンドの意味:
clamscan: スキャン実行コマンド。--version: 現在インストールされているClamAVの本体バージョンと、ウイルス定義データベースのバージョンを表示します。Tips: バージョン依存について
ClamAV 0.103.0以降では、以前のバージョンと比べてデータベースの読み込み速度やメモリ管理が大幅に改善されています。可能な限り最新のマイナーアップデートを適用することを推奨します。
設定ファイルは通常 /etc/clamav/(Debian系)や /etc/clamd.d/(RHEL系)に配置されます。初期状態で動作させるための最低限の確認ポイントです。
freshclam.conf (定義更新設定の例)
# 初期設定では「Example」という行をコメントアウトする必要があります
# Example
DatabaseDirectory /var/lib/clamav
UpdateLogFile /var/log/clamav/freshclam.log
DatabaseMirror database.clamav.net
Checks 24
※ Checks 24 は1日に24回(1時間に1回)更新を確認する設定です。
第1回では、Linuxにおけるアンチウイルスの「思想」と、ClamAVの導入・初期更新までを解説しました。
sudo freshclam でデータベースを最新にする。この記事でLinuxサーバーにおけるセキュリティの考え方について、理解を深める一助となれば幸いです。
次回は「導入編・実践」として、実際にファイルをスキャンする際の基本コマンド clamscan の使い方と、検知時の挙動について詳しく解説します。
ご覧いただきありがとうございました。