/etc/postfix/main.cfを編集します
#myhostname = virtual.domain.tld myhostname = mail.hoge.net
#mydomain = domain.tld mydomain = hoge.net
#myorigin = $myhostname myorigin = $mydomain
#inet_interfaces = $myhostname, localhost inet_interfaces = all
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydestination = $myhostname, localhost.$mydomain, $mydomain
不正中継を防止する為ローカルネットワークからのみ許可します
#mynetworks = 168.100.189.0/28, 127.0.0.0/8 mynetworks = 192.168.1.0/24, 127.0.0.0/8
#home_mailbox = Mailbox home_mailbox = Maildir/
#alias_database = dbm:/etc/mail/aliases alias_database = hash:/etc/aliases
#smtpd_banner = $myhostname ESMTP $mail_name smtpd_banner = $myhostname ESMTP unknown
基本的な対策のみなので、SPAMメールがすり抜けることがあります。SpamAssassinなどと組み合わせて下さい。
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname, permit
smtpd_client_restrictions = permit_mynetworks, reject_rbl_client all.rbl.jp, check_client_access hash:/etc/postfix/reject_client permit
192.168 REJECT hogehoge.com REJECT
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain, reject_non_fqdn_sender, check_sender_access hash:/etc/postfix/reject_addr permit
hogehoge.com REJECT aaa@bbb.ccc.com REJECT aaa@hogehoge.com OK
disable_vrfy_command = yes
root宛てに配送されるメールを一般ユーザーに転送します。転送するユーザー名をhogehogeとする場合
/etc/aliasesファイルの最終行に以下を追加
root: <送信先アドレス or アカウント名>
編集終了後に下記コマンドを入力し設定を有効化する
newaliases
メール送信時にもユーザー認証を実施させる場合
smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
/etc/rc.d/init.d/saslauthd start
/usr/sbin/saslpasswd2 -c [ユーザー名] -u [ドメイン名] パスワードを2回入力する
/usr/sbin/sasldblistusers2
chgrp postfix /etc/sasldb2 chmod 640 /etc/sasldb2
/sbin/chkconfig --level 35 saslauthd on
標準のsendmailからpostfixにMTAを切り替える
alternatives --config mta ---------------------------------------------- * 1 /usr/sbin/sendmail.sendmail + 2 /usr/sbin/sendmail.postfix
postfixの番号を入力する(+印が付いている方が現在の標準MTA)
/sbin/chkconfig --level 35 postfix on
メールサーバの不正中継のチェックを行う。下記のURLへアクセスして不正中継できない事を確認する。
Mail relay testing
RBL.JPプロジェクト
それぞれのページで、自分のFQDN名を入力すると不正中継のテストを自動で行ってくれる。
全ての項目で中継できないことを確認する。
/usr/sbin/postqueue -p もしくわ mailq
/usr/sbin/postsuper -d "メールキューID" 全てのメールを一括削除するには /usr/sbin/postsuper -d ALL
/usr/sbin/postsuper -h "メールキューID" 全てのメールを一括停止するには /usr/sbin/postsuper -h ALL
/usr/sbin/postqueue -f
Postfix上でメールの送信元アドレスの書き換えを行う場合
main.cf内に下記を記述します
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfixディレクトリにgenericファイルを作成し、下記内容を記述します
例では、ドメイン名hoge.netをhogenet.jpに書き換えます
@hoge.net @hogenet.jp
postmapコマンドを実行しデータベースを作成します
postmap /etc/postfix/generic
最後にPostfixを再起動します
メールサーバとメールクライアントのやりとりについてはこちらを参照