debian標準のexim4でも良かったのですが、使い慣れたpostfixでメールサーバーを構築します。
# apt-get remove exim4
# apt-get install postfix postfix-dev
設定の一般的なタイプ: インターネットサイト
メール名: ドメイン名を入力
# vi /etc/postfix/main.cf
myhostname = mail.hoge.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin/etc/mailname
relayhost =
mynetworks = 192.168.0.0/24, 127.0.0.0/8
mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interface = all
inet_protocols = ipv4
disable_vrfy_command = yes
smtpd_banner = $myhostname ESMTP
# vi /etc/aliases
# /etc/init.d/postfix restart
pflogsumm を使ってログ解析をします
[インストール]
# apt-get install pflogsumm
[実行方法]
(昨日分表示)
# /usr/sbin/pflogsumm -d yesterday /var/log/mail.log
(本日分表示)
# /usr/sbin/pflogsumm -d today /var/log/mail.log
(本日の詳細を postmaster 宛でメール送信)
# /usr/sbin/pflogsumm --verbose_msg_detail --mailq -d today /var/log/mail.log | /usr/bin/mailx -s "`uname -n` mail stats" postmaster
独自DB(reject_client) と spamcop.net、 rbl.jp のブラックリストを使ってスパムメールを拒否します。
(/etc/postfix/main.c)
# vi /etc/postfix/main.cf
smtpd_client_restrictions =
permit_mynetworks,
check_client_access cidr:/etc/postfix/reject_client,
reject_rbl_client bl.spamcop.net,
reject_rbl_client all.rbl.jp,
permit
(/etc/postfix/reject_clientを作成)
# vi /etc/postfix/reject_client
xxx.xxx.xxx.xxx/xx reject
IPアドレスをCIDR形式で指定、REJECT(拒否)設定をします
(postmapコマンドでreject_client.dbを作成)
# /usr/sbin/postmap /etc/postfix/reject_client
(設定を反映)
# /etc/init.d/postfix reload
(反映されたかどうかを確認)
# /usr/sbin/postconf -n