amavisd-new の導入

  • sea-bird.org ドメイン宛に届くメールのウイルス対策を行ってみたいと思います。
    すでにウイルス・スキャンソフトとしてClamAVの設定の巻を導入しているので、
    Postfix + ClamAV + amavisd-newの組み合わせで対処してみたいと思います。
    ちなみにspamメール対策としてはPostfixでspamメール送信元・送信者による制限の巻にて対処しています。
前提条件
amavisd-newパッケージがインストール*1されていることが条件。
パッケージの確認は、rpm -q amavisd-newコマンドで確認できるよ。

amavisd-new の設定

  • amavisd-new パッケージのインストールには、下記のタグを /etc/yum.conf に追加してください。
    [dag]
    name=Dag RPM Repository for Fedora Core
    baseurl=http://wftp.tu-chemnitz.de/pub/linux/dag/fedora/$releasever/en/$basearch/dag
    enabled=1
    gpgcheck=1
  • 上記の追加が終わったら yum コマンドにて amavisd-new をインストールします。
    # yum install amavisd-new
  • /etc/amavisd.conf ファイルの設定を修正します。
    # スパムメールチェックをしないときには、コメントをとる
    @bypass_spam_checks_maps  = (1);  # uncomment to DISABLE anti-spam code
    
    # ドメイン名を設定する
    $mydomain = 'sea-bird.org';   # a convenient default for other settings
    
    # スパムメールチェックをしない設定
    $final_virus_destiny      = D_DISCARD;
    $final_banned_destiny     = D_PASS;
    $final_spam_destiny       = D_PASS;
    $final_bad_header_destiny = D_PASS;
    $hdr_encoding = 'iso-2022-jp';    # 追加
    $bdy_encoding = 'iso-2022-jp';    # 追加
    $warnvirussender = 1;             # メールの送信者に警告する(1:する)
    $warnspamsender = 0;              # 追加
    $warnbannedsender = 0;            # 追加
    $warnbadhsender = 0;              # 追加
    
    ### http://www.clamav.net/
    ['ClamAV-clamd',
     \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamd/clamd.sock"],
     qr/\bOK$/, qr/\bFOUND$/,
     qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
注意
/var/run/clamd/clamd.sock の指定は、/etc/clamd.conf の
LocalSocket /var/run/clamd/clamd.sock と同期をとること。
  • ここまで設定が終わったら実行してみる
    # /etc/init.d/amavisd start
  • 問題がなければ、マシンが起動するときに自動起動するように設定します。
    # /sbin/chkconfig --add amavisd
    # /sbin/chkconfig --list amavisd
    amavisd           0:off   1:off   2:off   3:on    4:on    5:on    6:off

Postfix の設定

  • Postfix の設定は、content_filterの設定とamavisdを利用するトランスポートの定義を行います。
    ※変更に失敗するとメールの送受信が出来ない状態となるのでバックアップを取ってから
    作業を行うほうが無難です。注意一秒怪我一生ですよーん。
  • /etc/aliases にウイルス検査結果用のメール追加をします。
    virusalert:     root
    spamalert:i     root
  • 定義が終わったら、お約束♪
    # newaliases
  • /etc/postfix/master.cf にサービスの追加を行います。
    #
    # check virus/spam with amavis + SpamAssassin + ClamAV
    #
    smtp-amavis     unix    -       -       n       -       2       smtp
      -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes
      -o disable_dns_lookups=yes
    127.0.0.1:10025 inet    n       -       n       -       -       smtpd
      -o content_filter=
      -o local_recipient_maps=
      -o relay_recipient_maps=
      -o smtpd_restriction_classes=
      -o smtpd_client_restrictions=
      -o smtpd_helo_restrictions=
      -o smtpd_sender_restrictions=
      -o smtpd_recipient_restrictions=permit_mynetworks,reject
      -o mynetworks=127.0.0.0/8
      -o strict_rfc821_envelopes=yes
      -o smtpd_error_sleep_time=0
      -o smtpd_soft_error_limit=1001
      -o smtpd_hard_error_limit=1000
  • /etc/postfix/main.cf にcontent_filterの追加を行います。
    # for amavisd-new
    content_filter=smtp-amavis:[127.0.0.1]:10024
  • ここまで設定が終わったら Postfix を再起動します。
    # /etc/init.d/postfix restart
  • この段階で、通常のメールの送受信が出来るか? リレーアクセスなど、不正アクセスを
    排除できているか?を確認し本番運用としてください。

ウイルスメールチェックを確認

  • 変な言い方ですがメールを受信できていればokです。amavisd-new を通してウイルスチェックが
    されているかどうかは、受信したメールヘッダに以下の行があれば問題ありません。
    X-Virus-Scanned: amavisd-new at ドメイン名
  • ちゃんと amavisd-new でウイルスが除去できるかテスト用のウィルスにて確認してみます。
    # wget http://www.eicar.org/download/eicar.com
    # /usr/sbin/sendmail -i hoge < eicar.com
  • amavisd-new でウイルスが除去(ブロック)された情報は、/var/log/maillog にて確認することができます。
    Jun 21 22:22:42 ns amavis[28254]: (28254-03) Blocked INFECTED (Eicar-Test-Signature), <> -> <hoge@sea-bird.org>, quarantine: virus-25WuTJizQm0K, Message-ID: <20050627062241.62075134522@ns.sea-bird.org>, mail_id: 25WuTJizQm0K, Hits: -, 542 ms
  • ウイルス感知の結果は、/var/log/maillog に以下のログとして出力されます。
    Passed CLEAN        : 問題なし
    Blocked INFECTED    : ブロックした

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


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

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