| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
FreeBSD5.3-RELEASEでは、2.1系で作業し、FreeBSD6.0-RELEASEでは2.2系で作業をしました。
POP+IMAPサーバには「Courier-IMAP」を用いることを前提に設定します。
また、外部からもメールを利用できるようにし、不正中継を行わないようにSMTP-AUTHの設定を行います。
そして、デフォルトで動作している「Sendmail」から「Postfix」へ移行します。
なお、「Outbound Port25 Blocking」への対応方法はこちらを参照して下さい。
FreeBSD# cd /usr/ports/mail/postfix <= 作業ディレクトリへ移動 FreeBSD# make install clean <= 「Postfix」のインストール 以下の3つをチェックする [X] SASL2 Cyrus SASLv2 (Simple Authentication and Security Layer) [X] TLS SSL and TLS [X] DB43 Berkeley DB4.3 (required if SASL also built with DB4.3) インストール時、以下のように質問されるが、2回とも y と入力する You need user "postfix" added to group "mail". Would you like me to add it [y]? <= ユーザ postfix と、グループ mail を自動的に更新する Would you like to activate Postfix in /etc/mail/mailer.conf [n]? <= 「Postfix」を「sendmail」の代用にする FreeBSD# rehash <= コマンドを通す |
FreeBSD# vi /usr/local/etc/postfix/main.cf <= 設定ファイルの編集 #myhostname = host.domain.tld ↓ myhostname = FreeBSD.crimson-snow.net <= ホストネームを指定 #mydomain = domain.tld ↓ mydomain = crimson-snow.net <= ドメイン名を指定 #myorigin = $mydomain ↓ myorigin = $mydomain <= コメント解除( @ 以下のアドレス) メールを受け取る範囲を指定する #inet_interfaces = all ↓ inet_interfaces = all <= コメント解除 自ホストが最終的な宛先とみなすアドレスの変更 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ↓ mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain <= コメント解除 #mynetworks = 168.100.189.0/28, 127.0.0.0/8 ↓ mynetworks = 192.168.0.0/16, 127.0.0.0/8 <= 変更(LANのアドレスとローカルホストアドレスを指定) エイリアスの設定 #alias_maps = hash:/etc/aliases ↓ alias_maps = hash:/etc/mail/aliases #alias_database = hash:/etc/aliases ↓ alias_database = hash:/etc/mail/aliases #home_mailbox = Maildir/ ↓ home_mailbox = Maildir/ <= コメント解除(メールボックスをmaildir形式に変更) #smtpd_banner = $myhostname ESMTP $mail_name ↓ smtpd_banner = mail.$mydomain ESMTP $mail_name <= サーバ情報の表示を変更 SMTP認証の為に以下を追加 smtpd_sasl_auth_enable = yes <= SMTP認証を有効にする smtpd_sasl_local_domain = $mydomain <= SMTP認証するローカルドメインの指定 smtpd_sasl_security_options = noanonymous, noplaintext ・noanonymous <= 匿名を許可しない ・noplaintext <= 暗号化されないパスワードを許可しない broken_sasl_auth_clients = yes <= AUTHコマンドのサポートを認識できないクライアントへの対応 smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination <= SMTP認証の要求(リレーするものを設定) ・permit_mynetworks <= mynetworksで指定されたネットワークからのリレーを許可 ・permit_sasl_authenticated <= SMTP認証を通過したものは許可 ・reject_unauth_destination <= 上記以外拒否 |
root宛てのメールを一般ユーザに転送します。
FreeBSD# vi /etc/mail/aliases root: kaz <= 追加(一般ユーザ kaz に転送) FreeBSD# newaliases <= aliasesの読み込み |
ヘッダにあるLANの情報を削除します。
main.cfの設定
FreeBSD# vi /usr/local/etc/postfix/main.cf <= 設定ファイルの編集 #header_checks = regexp:/usr/local/etc/postfix/header_checks ↓ header_checks = regexp:/usr/local/etc/postfix/header_checks <= コメント解除 |
header_checksの設定
FreeBSD# vi /usr/local/etc/postfix/header_checks <= 設定ファイルの編集 /^Received:.*192\.168\..*/ IGNORE <= 追加 /^Received:.*127\.0\.0\.1.*/ IGNORE <= 追加 |
SMTP認証にはシステムアカウントを利用する方法と、sasldb2を利用する方法があります。
sasldb2を利用すれば、システムアカウントとは異なるパスワードを設定できますので、
こちらの方がセキュリティは高くなります。
1.システムアカウントを利用した認証(pamを利用)
pamを利用する場合、CRAM-MD5等の暗号化したパスワードが利用できない為、上記の「Postfix」の設定を変更します。
FreeBSD# vi /usr/local/etc/postfix/main.cf <= 設定ファイルの編集 smtpd_sasl_security_options = noanonymous, noplaintext ↓ smtpd_sasl_security_options = noanonymous <= 「noplaintext」の削除 |
「saslauthd」の設定
認証メカニズムはPLAIN方式とLOGIN方式に限定します。
FreeBSD# vi /usr/local/lib/sasl2/smtpd.conf <= 設定ファイルの作成 pwcheck_method: saslauthd <= 追加 mech_list: plain login <= 追加 |
2.sasldb2による認証
認証方式をCRAM-MD5、DIGEST-MD5方式に限定します。
FreeBSD# vi /usr/local/lib/sasl2/smtpd.conf <= 設定ファイルの作成 pwcheck_method: auxprop <= 追加 mech_list: cram-md5 digest-md5 <= 追加 |
SASLのデータベースにユーザを追加します。
FreeBSD# /usr/local/sbin/saslpasswd2 -u crimson-snow.net -c kaz <= ユーザ kaz を追加 Password: <= パスワード Again (for verification): <= パスワード(確認) ・パスワード変更 FreeBSD# /usr/local/sbin/saslpasswd2 -u crimson-snow.net kaz <= ユーザ kaz のパスワードを変更 Password: <= パスワード Again (for verification): <= パスワード(確認) ・ユーザ削除 FreeBSD# /usr/local/sbin/saslpasswd2 -u crimson-snow.net -d kaz <= ユーザ kaz を削除 ・ユーザ確認 FreeBSD# /usr/local/sbin/sasldblistusers2 |
FreeBSD起動時に「saslauthd」が起動するようにします。
FreeBSD# vi /etc/rc.conf <= 設定ファイルの編集 saslauthd_enable="YES" <= 追加 saslauthd_flags="-a pam" <= システムアカウントを利用した認証方法の場合 saslauthd_flags="-a sasldb" <= sasldb2による認証の場合 |
「Postfix」のインストール時に
Would you like to activate Postfix in /etc/mail/mailer.conf [n]?
という質問に y と答えた場合、FreeBSD起動時に「Sendmail」ではなく「Postfix」が起動するよう設定ファイルに記述します。
FreeBSD# vi /etc/rc.conf <= 設定ファイルの編集 sendmail_enable="YES" sendmail_flags="-bd" sendmail_pidfile="/var/spool/postfix/pid/master.pid" sendmail_outbound_enable="NO" sendmail_submit_enable="NO" sendmail_msp_queue_enable="NO" |
FreeBSD# /usr/local/sbin/postfix start |