ClamAVの導入と設定

  • ClamAVはオープンソースのウィルス検査ソフトです。このソフトを導入するとサーバ内のファイルの
    スキャンや、メールのスキャンにも使用することができます。ここでは、メールのスキャンに対応した
    ClamAVの導入と設定を行ってみたいと思います。
    あと有償のアンチ・ウィルスソフトとの比較ですが、比較的頻繁にパターンファイルの更新はされていますし
    導入しないよりは、全然良いかと思います。
前提条件
clamavパッケージがインストール*1されていることが条件。
パッケージの確認は、rpm -q clamavコマンドで確認できるよ。

導入方法

  • ClamAV のパッケージ一式をインストールします。今回サーバタイプの clamd を起動するので、
    若干色々とインストールします。
    yum install clamav clamav-server clamav-lib clamav-data clamav-update
  • ウィルスデータベースを更新します。なんにも設定をしていないと下記のエラーが出ます。
    # /usr/bin/freshclam
    ERROR: Please edit the example config file /etc/freshclam.conf.
    ERROR: Can't parse the config file /etc/clamd.conf
  • /etc/clamd.conff ファイルをコピーする。
    # cp /usr/share/doc/clamav-server-0.85.1/clamd.conf /etc/clamd.conf
  • /etc/clamd.conf と /etc/freshclam.conf ファイルを編集する。
    Example という箇所を見つけてコメントする。
    # Comment or remove the line below.
    # Example
  • ウィルスデータベースを更新します。今度はokなはず。
    # /usr/bin/freshclam
  • ウィルスデータベースを定期的に更新するように設定します。
    /etc/cron.d/clamav-update が存在するので下記の様に修正します。下記は、毎日03:00に更新する設定です。
    ## It is ok to execute it as root; freshclam drops privileges and becomes
    ## user 'clamav' as soon as possible
    ## Note: replace 'MIN' and 'HOUR' with random values
    0 3 * * * root /usr/bin/freshclam --quiet && { test -x /usr/sbin/clamav-notify-servers && exec /usr/sbin/clamav-notify-servers || :; }

ClamAV のデーモン化設定

  • 起動用のスクリプトがないので自分で作成します。わたしはここにに掲載されていたものを参考にしました。
    下記の内容を /etc/init.d/clamd として保存してください。もちろん実行権をつけてね。
    #!/bin/bash
    # chkconfig: 345 80 20
    # description: Clamd daemon
    . /etc/init.d/functions
    prog="/usr/sbin/clamd"
    prog_base="$(basename ${prog})"
    prog_config_file="/etc/clamd.conf"
    RETVAL=0
    
    case "$1" in
      start)
        action $"Starting ${prog_base}:" ${prog} -c ${prog_config_file}
        RETVAL=$?
        echo
        ;;
      stop)
        echo $"Shutting down ${prog_base}"
        killproc ${prog_base}
        RETVAL=$?
        echo
        ;;
      status)
        status $"${prog_base}"
        RETVAL=$?
        ;;
      restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
      reload)
        pid=`pidofproc ${prog_base}`
        kill -USR2 ${pid}
        RETVAL=$?
        ;;
      *)
        echo "Usage: $0 {start|stop|status|restart|reload}"
        exit 1
    esac
    
    exit $RETVAL
  • 実行すると下記のエラーが表示されます。これは/etc/clamd.conffの設定が終わっていないからです。
    # /etc/init.d/clamd start
    Starting clamd: ERROR: Can't get information about user <USER>.
                                                             [失敗]
  • /etc/clamd.confを修正します。
    LogFile /var/log/clamd.log         # ログファイルの出力先を指定します
    LocalSocket /var/run/clamd/clamd.sock       # ソケットのファイルを指定します
    PidFile /var/run/clamd/clamd.pid            # 起動プロセスidを保存するファイルを指定します
    #User <USER>                                # コメントにします
  • 上記のログファイルとかのディレクトリを作成します。
    # mkdir /var/run/clamd/
  • 設定が終わったら再度起動してみます。
    # /etc/init.d/clamd start
    Starting clamd:                                            [  OK  ]
  • マシンが起動するときに自動起動するように設定します。
    # /sbin/chkconfig --add clamd
    # /sbin/chkconfig --list clamd
    clamd           0:off   1:off   2:off   3:on    4:on    5:on    6:off

ウィルス・スキャンのテスト

  • サーバ内にあるファイルがウィルスに感染していないかをテストすることができます。
    実験用の無害なウィルスがあるのでそのファイルをダウンロードしスキャンをかけてみることにします。
  • 実験用に無害なウィルスをダウンロードする。
    # cd /tmp
    # wget http://www.eicar.org/download/eicar.com
    # ls eicar.com
  • ウィルスを見つけたら除去(削除)するようにしてみる。
    # clamscan --infected --remove --recursive /tmp
    /tmp/eicar.com: Eicar-Test-Signature FOUND
    /tmp/eicar.com: Removed
    
    ----------- SCAN SUMMARY -----------
    Known viruses: 36080
    Engine version: 0.85.1
    Scanned directories: 7
    Scanned files: 14
    Infected files: 1             ←みつかった!
    Data scanned: 51.53 MB
    Time: 57.997 sec (0 m 57 s)
  • eicar.com ファイルが削除されていることを確認する。
    # ls eicar.com
    ls: eicar.com: そのようなファイルやディレクトリはありません
  • オプションを変更することによって、ウィルスを見つけたら除去(削除)でなく
    ファイルを移動するだけとかもできます。あと定期チェックをしたいなら cron とかね。

参考にさせて頂いたサイト様


*1 パーケッジのインストール方法はこちらを参照

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:32