.
Mailサーバー => Clam AntiVirus + Milter > 2.clamd の設定
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

clamav-milter の利用を前提とした clamd の設定

アンチウイルスプログラム本体である clamd の設定を行ないます。

clamd と clamav-milter 設定ファイルの構成について

rpm パッケージ インストールの際、作成される主要ディレクトリは以下の通りです。

検証したバージョンは ClamAV 0.88.4 です。

設定ファイル

セットアップ時に主に修正を行う設定ファイルは以下の通りです。

  • clamd ( /etc/clamd.conf )
    • clamd は clamav のウイルススキャンエンジン(本体)です。設定ファイルでは動作モードの設定、圧縮ファイル内検索の有無などの検査オプション、 実行ユーザーなどの設定を行ないます。
  • clamav-milter ( /etc/sysconfig/clamav-milter )
    • メール監視、clamd 実行後に行なうフィルタ処理動作に 関する設定を行ないます。
    • 異なるclamd.conf を指定する事も可能です。 これにより、clamav-milter に呼び出さる clamd の 動作設定を変更する事も可能です。
  • freshcalm ( /etc/freshcalm.conf )
    • freshcalm は、ウイルス定義ファイル(データベース)の自動更新を行うプログラムです。デーモン動作、又はコマンドにより更新作業を行う時に使用します。

主要ディレクトリ・ファイル

clamav 一連のプログラムは、clamav ユーザーで実行されます。そのため、以下のディレクトリに対して、clamav ユーザーが権限を持っている必要があります。

  • local Socket トディレクトリ ( /var/run/clamav/ )
    • このディレクトリに、以下のソケットファイルが生成されます。
  • clmilter.socket ( /var/run/clamav/clmilter.socket )
    • clamd と sendmail のソケット通信を行なう為に生成されるファイルです。 初期段階では存在しません。
  • log トディレクトリ ( /var/log/clamav/ )
    • ログが保存されるディレクトリです。

パッケージをインストールした場合、clamav ユーザー、パーミッションが適切に設定されている筈ですが、なっていなければ、所有者を clamav ユーザーに変更しておく必要があります。

# chown -R clamav.clamav /var/run/clamav

clamd の動作設定 ~ /etc/clamd.conf の修正

ウイルススキャンエンジン (本体)である clamd の動作設定を行ないます。

動作モードの変更

clamd のデフォルトの動作モードは TCPソケットモードになっています。 ここでは、clamav-milter の利用を前提としているため、local socket モードで動作させる必要があります。

/etc/clamd.conf

以下、コメントを解除します。

# LocalSocket /var/run/clamav/clamd.sock

LocalSocket /var/run/clamav/clamd.sock

逆に TCP ソケットモードはコメントします。

TCPSocket 3310

# TCPSocket 3310

重要
設定できるのは Localソケットモードか、TCPソケットモードのいずれかです。 ここでは、Milter の利用が前堤であるため、Local Socket モードになります。

補足 2007/2/20

clamav-0.9.x から、一部使用が変更になっています。おそらく yum update を行った場合、上記設定では動作しません。/etc/clamd.conf.rpmnew と置き換えて、ソケットのパスを変更する必要があります。

/etc/clamd.conf

以下を確認します。
LocalSocket /tmp/clamd

TCP ソケットモードはコメントアウトし、無効にします。

TCPSocket 3310

# TCPSocket 3310

clamav-0.9 から LocalSocket 、 TCPSocket 双方が有効になっている様です。

実行ユーザーの確認

clamd の実行ユーザーが clamav になっているか確認します。 以下の記述があればOKです。

/etc/clamd.conf
User clamav

上記をコメントアウトすると、root権限で動作しますが、milter で 利用する場合は、root 権限での動作はセキュリティ上問題であり、 行なうべきではありません。

clamd は、clamav ユーザー権限で動作するようになっています。 パッケージインストール時に適切な ユーザ clamav グループ clamav が作成されています。

圧縮ファイル・ウイルス検出に関する設定

圧縮ファイル・ウイルス検出に関する設定です。以下に示す個所を修正します。

補足 2007/2/20

clamav-0.9.x から、一部使用が変更になっています。圧縮ファイルの個別指定、DisableDefaultScanOptions は不要になっています。

/etc/clamd.conf

# Default: disabled
# 以下に行なうスキャンオプションの変更を有効にするには、
# コメントを外す必要があります。
DisableDefaultScanOptions

注意
# Default: enabled
又は
# Default: 数値指定
と補足がある項目は、コメントを外さなくてもデフォルトで有効になっていますが、DisableDefaultScanOptions を有効にする場合、 Default: enabled の個所はコメントを外さなければ有効にならない様なので注意が必要です。

# Default: enabled
# Windows の実行ファイル型式ウイルス (Portable Executable) を検出します。
#ScanPE

ScanPEDefault: enabled と指定のある個所は全てコメントを外す

# Default: disabled
# 圧縮ファイル rar を検査対象にします。コメントアウトします。
ScanRAR ← 何故か上手く検出してくれない

# Default: 10M
# 検査対象とする圧縮ファイルの最大ファイルサイズを指定します。
# 指定しない場合は、10M がデフォルトとなっています。(任意)
ArchiveMaxFileSize 10M

# Default: 8
# 重複圧縮された圧縮ファイルの検査対象とする階層数を指定します。
# デフォルトは 8階層です。(任意)
ArchiveMaxRecursion 8

# Default: 1000
# 圧縮ファイル内の検査対象とする最大ファイル数を指定します。
# デフォルトでは1000 になっています。(任意)
ArchiveMaxFiles 1000

# Default: 250
# 指定する圧縮率をこえる場合、ウイルスと判定します。
# デフォルトは250です。(任意)
ArchiveMaxCompressionRatio 250

# 上記 ArchiveMaxFiles, ArchiveMaxFileSize, ArchiveMaxRecursion の
# 値を超える圧縮ファイルはウイルスとして処理する
# コメントします。10MB を超える圧縮ファイルをウイルスと見なさなくなります。
# メールディレクトリなど誤検知しますので、コメントアウトします。
# ArchiveBlockMax

/etc/clamd.conf の修正内容を反映させるには

こちらの手順で clamav-milter デーモン、Sendmail を再起動する必要があります。このコンテンツでは利用しませんが、clamd デーモンを利用する場合も clamd デーモンを再起動する必要があります。

ClamAV の実行権限について

clamd 本体は、clamav 権限で起動します。つまり、clamdscan を root 権限で実行しても、clamav ユーザーの権限で clamd が実行されます。

これに対し、コマンドで提供される clamscan は、コマンドを実行したユーザーの権限で実行されます。そのため、一般的な用途であれば、上記 /etc/clamd.conf 側で実行権限を変更する必要はないので注意が必要です。

何れにしても、ウイルススキャンはシステムに高い負荷が掛かる上、このようなプログラムを root 権限で使用するのはセキュリティ上問題があります。

ローカルディスク検索については以下で説明しています。

参照 => ローカルディスクのウイルス検査について ~ ClamAV

次は、clamav-milter の設定を行います。

bottom_mark
ページ最上部
ページ最上部 前のページ