FreeBSD:Postfix-2.5.1設定
目次 |
Postfix-2.5.1設定
メールサーバ構築のため、Postfix-2.5.1をインストールする。STARTTLS/SMTP認証/POP before SMTPを有効にするため、以下のportsが必要。
- security/cyrus-sasl2
- security/cyrus-sasl2-saslauthd
- mail/drac
- devel/pcrc
- database/db46
cyrus-sasl2インストール
SMTP認証のためcyrus-sasl2を導入する。
portsインストール
portinstall security/cyrus-sasl2 portinstall security/cyrus-sasl2-saslauthd
自動起動設定
/etc/rc.confに以下を追加
saslauthd_enable="YES"
dracインストール
POP before SMTP認証のため、dracをインストールする
プログラムインストール
portsそのままで導入するとbdb41を参照するため、以下の手順を踏んでインストールする。 パッチまで適用する
# cd /usr/ports/mail/drac # WITH_POSTFIX=yes WITH_POSTFIX_DB41=yes make patch # cd work
Makefileを手動で編集し、bdb46を参照するように修正する
# vi Makefile
=> BerkeleyDB4.6を参照させるため以下を追加
CFLAGS+= -I${LOCALBASE}/include/db46
LDLIBS+= -L${LOCALBASE}/lib/db46 -ldb-4
インストール
# WITH_POSTFIX=yes LOCALBASE=/usr/local make # mv rpc.dracd /usr/local/sbin/ # cp libdrac.a /usr/local/lib/ # cp drac.h /usr/local/include/
自動起動
起動スクリプトを手動で編集
# cd /usr/ports/mail/drac/files # sed -e 's|%%PREFIX%%|/usr/local|' -e 's|%%RC_SUBR%%|/etc/rc.subr|' dracd.sh.in > /usr/local/etc/rc.d/dracd.sh # chmod 755 /usr/local/etc/rc.d/dracd.sh
/etc/rc.confに自動起動設定を追加
# vi /etc/rc.conf => 以下を追加 rpcbind_enable="YES" dracd_enable="YES"
dracdに対してアクセス可能ネットワークの編集
dracdに対してrpc通信を許可するホストを登録する。
255.255.255.255 127.0.0.1 255.255.255.255 <自ホストのIP>
postfixインストール
# WITH_BDB_VER=46 portinstall mail/postfix
インストール時に、オプション指定画面が表示される。以下の項目にチェックが入っていることを確認する。pcre, bdb46は依存性で同時にインストールされる
- PCRE
- SASL2
- TLS
- BDB
sendmail系定期コマンド実行を停止
/etc/periodic.confに以下を追加
daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO"
各種sendmailコマンドに対してのエイリアス修正
/etc/mail/mailer.confを以下に修正
sendmail /usr/local/sbin/sendmail send-mail /usr/local/sbin/sendmail mailq /usr/local/sbin/sendmail newaliases /usr/local/sbin/sendmail hoststat /usr/local/sbin/sendmail purgestat /usr/local/sbin/sendmail
自動起動設定
/etc/rc.confに以下を追加
postfix_enable="YES" sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
初期設定・受付ドメインの設定
/usr/local/etc/postfix/main.cfに以下を追加
mydestination = test.com, test.net myorigin = test.com mynetworks = 127.0.0.0/8, xxx.xxx.xxx.xxx/yy home_mailbox = Maildir/
POP before SMTP連携のためDRAC設定
/usr/local/etc/postfix/main.cfのmynetworksを修正
mynetworks = 127.0.0.0/8, xxx.xxx.xxx.xxx/yy, btree:/usr/local/etc/dracd
SSL/TLSの設定
まず自己証明書を作成する。
秘密鍵作成
# openssl genrsa -des3 -out server.key 1024 <= 秘密鍵作成 Enter pass phrase for server.key: <= パスフレーズ Verifying - Enter pass phrase for server.key: <= パスフレーズ(確認)
パスフレーズを抜く
# openssl rsa -in server.key -out server.key Enter pass phrase for server.key: <= 秘密鍵作成時のパスフレーズ入力
サーバ用公開鍵作成
# openssl req -new -key server.key -out server.csr -days 3650 <= 公開鍵作成 Country Name (2 letter code) [AU]:JP <= 国名 State or Province Name (full name) [Some-State]: Tokyo <= 都道府県名 Locality Name (eg, city) []:Ikebukuro <= 市町村名 Organization Name (eg, company) [Internet Widgits Pty Ltd]:FOO.BAR <= サイト名 Organizational Unit Name (eg, section) []: <= 空ENTER Common Name (eg, YOUR name) []:mail.foo.bar.com <= ホスト名 Email Address []:webmaster@foo.bar.com <= 管理者用メールアドレス Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: <= 空ENTER An optional company name []: <= 空ENTER
サーバ用証明書の作成
# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 3650 Signature ok subject=/C=JP/ST=Tokyo/L=Ikebukuro/O=FOO.BAR/CN=mail.foo.bar.com/emailAddress=webmaster@foo.bar.com Getting Private key
一式をディレクトリにコピー
# mv server.key server.csr server.pem /usr/local/etc/postfix/ssl
/usr/local/etc/postfix/main.cfに以下を追加
smtpd_tls_cert_file = /usr/local/etc/postfix/ssl/server.pem smtpd_tls_key_file = /usr/local/etc/postfix/ssl/server.key smtpd_tls_session_cache_database = hash:/usr/local/etc/postfix/ssl/smtpd_scache smtpd_tls_loglevel = 3
/usr/local/etc/postfix/master.cfに以下を追加
submission inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
SMTP認証の設定
/usr/local/lib/sasl2/smtpd.confの作成
pwcheck_method: saslauthd mech_list: plain login
postfix 再起動
postfix stop; postfix start