Postfix 3.4 [迷惑メール対策 SpamAssassin] CentOS7 (マルチドメイン)

この記事は約6分で読めます。

迷惑メール対策ツールの一つ、「SpamAssassin(スパムアサシン)」の基本部分を設定します。

perlモジュール

SpamAssassinで利用する、Perlモジュールを入れます。

# yum install perl-ExtUtils-MakeMaker
# yum install perl-Digest-SHA
# yum install perl-HTML-Parser
# yum install perl-Net-DNS
# yum install perl-NetAddr-IP
# yum install perl-Archive-Tar
# yum install perl-IO-Zlib
# yum install perl-Digest-SHA1
# yum install perl-DB_File
# yum install perl-Mail-SPF
# yum install perl-Geo-IP
# yum install perl-Net-CIDR-Lite
# yum install perl-IO-Socket-IP
# yum install perl-IO-Socket-INET6
# yum install perl-IO-Socket-SSL
# yum install perl-Compress-Zlib
# yum install perl-Mail-DKIM
# yum install perl-DBI
# yum install perl-HTTP-Date
# yum install perl-Net-Patricia
# yum install perl-Net-DNS-Nameserver
# yum install perl-BSD-Resource
# yum install perl-libwww-perl
# yum install perl-Encode-Detect
# yum install perl-Sys-Syslog

# wget https://github.com/skvadrik/re2c/releases/download/1.1.1/re2c-1.1.1.tar.gz
# tar xzvf re2c-1.1.1.tar.gz
# cd re2c-1.1.1/
# ./configure
# make
# make install

↑re2cは、ソースからインストールします。

SpamAssassin 本体インストール

# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//spamassassin/source/Mail-SpamAssassin-3.4.2.tar.gz
# tar xzvf Mail-SpamAssassin-3.4.2.tar.gz
# cd Mail-SpamAssassin-3.4.2/
# perl Makefile.PL
# make
# make install
(略)
/usr/bin/perl build/preprocessor -Mvars -DVERSION="3.004002" -DPREFIX="/usr/local" -DDEF_RULES_DIR="/usr/local/share/spamassassin" -DLOCAL_RULES_DIR="/etc/mail/spamassassin" -DLOCAL_STATE_DIR="/var/lib/spamassassin" -DINSTALLSITELIB="/usr/local/share/perl5" -DCONTACT_ADDRESS="the administrator of that system" -DRE2C_BIN="re2c" -m644 -Irules -O/usr/local/share/spamassassin user_prefs.template languages sa-update-pubkey.txt
chmod 755 /usr/local/share/spamassassin

↑SpamAssassinのインストール成功

Postfix修正

vi /etc/postfix/master.cf

smtp      inet  n       -       n       -       -       smtpd
  -o content_filter=spamassassin

spamassassin    unix  -  n  n  -  -  pipe
  flags=R user=spamd argv=/usr/local/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

↑上記、4行を加えます。
vi /etc/postfix/master.cf
smtp      inet  n       -       n       -       -       smtpd

 ↓

#smtp      inet  n       -       n       -       -       smtpd

↑最初のほうにある「smtp」で始まる行をコメントにします。(2019/05/26追加)

SpamAssassin サービス登録

# vi /etc/sysconfig/spamassassin

SPAMDOPTIONS="-d -c -m5 -H"

# vi /etc/systemd/system/spamassassin.service
---------------------------------------
[Unit]
Description=Spamassassin daemon
After=syslog.target network.target
 
[Service]
Type=forking
PIDFile=/var/run/spamd.pid
EnvironmentFile=-/etc/sysconfig/spamassassin
ExecStart=/usr/local/bin/spamd -r /var/run/spamd.pid $SPAMDOPTIONS
StandardOutput=syslog
StandardError=syslog
Restart=always
 
[Install]
WantedBy=multi-user.target
---------------------------------------

↑SpamAssassinのサービスを登録します。
#./sa-update
# systemctl start spamassassin
# systemctl enable spamassassin

↑SpamAssassinのサービスを開始、自動起動をします。

SpamAssassin 実行

外部からくるメールのヘッダを見ます。

X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13)
X-Spam-Status: No, score=-0.3 required=5.0 tests=RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED

↑SpamAssassinによるスパム判定がなされました。

タイトルとURLをコピーしました