備忘録のため,内容の正当性については責任を持ちません。

以前の記事の内容が古くなっていたので一部書き直し。

BlueOnyx に SpamAssassin と ClamAV をインストールし、メールサーバに対して SPAM およびウイルス対策を行った。BlueOnyx に限らず、以下の環境であれば同じ手順で問題なくインストールできると思われる。

  • CentOS 5.5
  • sendmail 8


RPMforge レポジトリの有効化

まず、今回使用する各プログラムを yum でインストールできるようにするため、RPMforge レポジトリを有効にする。

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.5.1-1.el5.rf.i386.rpm
# sed -i -e "s/enabled = 1/enabled = 0/" /etc/yum.repos.d/rpmforge.repo

SpamAssassin のインストール

SPAM メールの検証ソフト SpamAssassin をインストールする。

  1. yum で spamassassin、spamass-milter をインストールする。
    # yum install -y spamassassin spamass-milter --enablerepo=rpmforge
  2. 送信ドメイン認証や SPF を検証するための Perl モジュールをインストールする。
    # yum install -y perl-Mail-DKIM perl-Mail-DomainKeys perl-Mail-SPF-Query --enablerepo=rpmforge
  3. SpamAssassin の定義ファイルを作成する。今回は TLEC さんのものを使用させていただいた。
    # cd /etc/mail/spamassassin
    # wget -O 10_user_prefs http://www.flcl.org/~yoh/user_prefs
  4. SpamAssassin の設定ファイルを編集する。
    # cd /etc/mail/spamassassin
    # mv local.cf 20_local.cf
    # vi 20_local.cf
    required_score 7.5
    report_safe 0
    rewrite_header Subject [SPAM]

    # 不要なスコアリング
    score TVD_SPACE_RATIO 0.0
    score FH_DATE_PAST_20XX 0.0
    score GAPPY_SUBJECT 0.0
    score DNS_FROM_OPENWHOIS 0.0

    # SPF & DomainKeys
    score SPF_HELO_SOFTFAIL 2.5
    score SPF_SOFTFAIL 2.5
    score SPF_FAIL 3.0
    score SPF_PASS 0
    score DKIM_VERIFIED -2.0
    score DKIM_SIGNED -1.0

    # 逆引きできない or 動的IPのホスト
    score RDNS_NONE 4.5
    score RDNS_DYNAMIC 1.0
  5. spamass-milter によるメールヘッダの書換を許可する。
    # echo "EXTRA_FLAGS=\"\"" >> /etc/sysconfig/spamass-milter
  6. ルールセットをアップデートする。
    # yum install -y perl-Archive-Tar
    # sa-update
  7. spamassassin を起動する。
    # /etc/init.d/spamassassin start
    # /sbin/chkconfig spamassassin on
  8. spamass-milter を起動する。
    # /etc/init.d/spamass-milter start
    # /sbin/chkconfig spamass-milter on

ClamAV のインストール

次に、ウイルスチェックソフト ClamAV をインストールする。

  1. yum で clamav clamd clamav-milter をインストールする。
    # yum install -y clamav clamd clamav-milter --enablerepo=rpmforge
  2. ウイルス定義ファイルを最新版に更新する。
    # freshclam
  3. TCP ソケット通信を停止する。
    # sed -i -e "s/TCPSocket 3310/#TCPSocket 3310/" /etc/clamd.conf
  4. 検査結果をメールヘッダに追加するようにする。
    # sed -i -e "s/#AddHeader Replace/AddHeader Add/" /etc/clamav-milter.conf
  5. clamd を起動する。
    # /etc/init.d/clamd start
    # /sbin/chkconfig clamd on
  6. clamav-milter を起動する。
    # /etc/init.d/clamav-milter start
    # /sbin/chkconfig clamav-milter on

Sendmail との連携

最後に、インストールした 2 つのプログラムと Sendmail を連携させる。

  1. Sendmail の設定ファイル (/etc/mail/sendmail.mc) を開き、
    MAILER(smtp)dnl

    という行の直前に、以下の 3 行を追加する。

    INPUT_MAIL_FILTER(`clamav', `S=local:/var/clamav/clmilter.socket, F=, T=S:4m;R:4m')
    INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass.sock, F=, T=C:15m;S:4m;R:4m;E:10m')
    define(`confINPUT_MAIL_FILTERS', `spamassassin,clamav')
  2. Sendmail を再起動する。
    # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
    # /etc/init.d/sendmail restart

以後、受信したメールに spamass-milter や clamav-milter のヘッダが挿入されていれば成功だ。ClamAV はメモリをバカ食いするので注意が必要である。

コメント

コメント(2) “BlueOnyx + SpamAssassin + ClamAV (改訂版)”

  1. 須々木

    忘れていました。
    上記方法はここを参照しています。
    http://www.sa-sa-ki.jp/blog/2011/03/scientific-linux-6-3-scientific-linux-6/

    なお、上記方法終了後は『SpamAssassin のインストール』以降はそのまま記載して頂いている内容で行けました。

  2. 須々木

    『RPMforge レポジトリの有効化』
    http://blog.akagi.jp/archives/568.html

    Scientific Linux release 6.4 (Carbon)&BlueOnyx5108Rの場合

    1.# vi /etc/yum.repos.d/sl-riken.repo

    [riken]
    name=Scientific Linux $releasever – $basearch
    baseurl=http://ftp.riken.jp/Linux/dag/redhat/el6/en/$basearch/dag
    gpgcheck=1
    enabled=0
    gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

    2.# yum -y install rpmforge-release

    3.# vi /etc/yum.repos.d/rpmforge.repo

    ### Name: RPMforge RPM Repository for RHEL 6 – dag
    ### URL: http://rpmforge.net/
    [rpmforge]
    name = RHEL $releasever – RPMforge.net – dag
    baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
    mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge
    #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
    enabled = 1 # 1から0に変更
    protect = 0
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
    gpgcheck = 1

    [rpmforge-extras]
    name = RHEL $releasever – RPMforge.net – extras
    baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras
    mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-extras
    #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras
    enabled = 0
    protect = 0
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
    gpgcheck = 1

    [rpmforge-testing]
    name = RHEL $releasever – RPMforge.net – testing
    baseurl = http://apt.sw.be/redhat/el6/en/$basearch/testing
    mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge-testing
    #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing
    enabled = 0
    protect = 0
    gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
    gpgcheck = 1

    こんな感じで行けました。ご報告まで。

コメントする




CAPTCHA