FreeBSD Postfix - eiichiromomma/CVMLAB GitHub Wiki

(FreeBSD) Postfix

Sendmailよりシンプルなメール配信システム

SMTP-AUTH

信頼区間外からのポストを認証無しにやろうとしたけどおおハマリなので諦めてSMTP-AUTH導入。

インストール

security/cyrus-sasl2はそのまま入れるとOTPが煩いので

make -DWITHOUT_OTP install

でインストール。

Postfixはportでインストールする際にSASL2をチェックしておく。

どちらもportupgradeに備えてpackagetools.confにも記述しておく。 /etc/mail/mailer.confをいじって/etc/rc.d/sendmailスクリプトで起動させる手もあるが,ややこしいので/usr/local/etc/rc.d/postfixスクリプトを使う。/etc/rc.confに

postfix_enable="YES"

と記述。

認証の設定

/usr/local/lib/sasl2にconfが出来る筈なのだが↑の理由によりSendmail.confが出来る。 しかもsaslauthdを使う設定なので無視。/usr/local/lib/sasl2/smtpd.confに

pwcheck_method:  auxprop

としておく。 これで/usr/local/etc/sasldb2.dbを参照するようになる。

ユーザの登録

システムの認証とは独立して行なうのでdbに登録する。

saslpasswd2 -c -u ドメイン ユーザ名

パスワードを求められるがシステムと一緒にしない。 平文で流れるので適当に。

認証の際にはログイン名をユーザ名@ドメインとする。

main.cf

あちこち見て回って↓いじった所。他はデフォルト。

#ifconfigでaliasしている場合listenを明示
inet_interfaces = xxx.yyy.zzz.www

mydestination = $myhostname, localhost.$mydomain, $mydomain
myorigin = $mydomain
#信用する接続元
mynetworks=127.0.0.0/8, xxx.yyy.zzz.0/24, aaa.bbb.ccc.0/24, eee.fff.ggg.0/24
#よくyesにしろと書いてあるがaa@bb@ccや!の@への置換えなのでnoで良い。
allow_untrusted_routing = no
append_dot_mydomain = no
#fromで蹴る設定
smtpd_sender_restrictions = reject_unknown_sender_domain
#忘れた
smtpd_etrn_restrictions = permit_mynetworks, reject_invalid_hostname
#SASLのための設定
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
#信用する接続の設定
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
#信用するクライアントの設定
smtpd_client_restrictions=
  permit_mynetworks,
  #rejectしたら教えて
  warn_if_reject,
  #ブラックリストを参照
  #トラブルが多いようなので外して様子見中
  #reject_rbl_client bl.spamcop.net,
  #reject_rbl_client blackholes.mail-abuse.org,
  #どれにも引っ掛からなかったらpermit
  permit
  #ProScanのインストーラがつけたした
  content_filter=lmtp:127.0.0.1:*****
#ユーザのメールスプール(/var/mail)の容量制限(下はデフォルト値)
#Webmailベースで運用する場合は多めにしておく
mailbox_size_limit=51200000

ProScanとの連動

PromarkのProScan と連動して使用中。 Postfixのインストール->ProScanのインストールとやれば問題ないが,portupgradeするとややこしくなる。 とりあえずProScanも入れ直した方が安全。

550エラー

relays.ordb.orgは既に終了しているのでmain.cfから外さないとエラーが出る状態だったが、最近(2008/3)全Rejectを吐く状態のため、550エラーで弾くサーバが発生している模様。

550 5.7.1 Email rejected due to sending server misconfiguration - see (in reply to MAIL FROM command)

のようなエラーが返ったら電話、FAX等で教えるしか手立てが無い。 main.cfから

reject_rbl_client relays.ordb.org,

の一行を削ってPostfixを再起動しておくこと。