メールサーバ構築メモ

サーバ移行時に設定したメールサーバのメモφ(..)

FreeBSD 7.2-RELEASE

  • SSLを使用してメール通信を暗号化する。
  • SMTP認証(sasldb2認証)を使用する。
  • postfix/header_checksを設定する。
  • Postfix ポリシーサーバを導入して(postgrey)Spam対策をする。

全てportsからインストールする。

postfix-2.6.3,1
dovecot-1.2.4_1
cyrus-sasl-2.1.23
cyrus-sasl-saslauthd-2.1.23
db42-4.2.52_5

サーバ用秘密鍵の作成

# openssl genrsa -des3 -out server.key 1024

パスフレーズ削除

# openssl rsa -in server.key -out server.key

サーバ用公開鍵の作成

# openssl req -new -key server.key -out server.csr -days 365

サーバ証明書作成

# openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 365

鍵のパーミッション変更

# chmod 400 server.*

鍵の設置場所指定

# vi /usr/local/etc/postfix/main.cf
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_sasl_security_options = noanonymous, noplaintext
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated
reject_unauth_destination
smtpd_tls_cert_file = フルパス/server.pem
smtpd_tls_key_file = フルパス/server.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:/var/db/postfix/smtpd_scache.db
↑sdbmではエラーになる!
vi /usr/local/etc/postfix/master.cf
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes

追加ユーザーは次回からMailディレクトリ自動作成

# mkdir -p /usr/share/skel/Maildir/new
# mkdir -p /usr/share/skel/Maildir/cur
# mkdir -p /usr/share/skel/Maildir/tmp
# chmod -R 700 /usr/share/skel/Maildir/
# vi /usr/local/etc/postfix/header_checks
/^X-Mailer:.*PostMaster General/ REJECT
/name=.*\.scr/ REJECT
/name=\".*\.inf\"/ REJECT
/name=\".*\.scr\"/ REJECT
/name=\".*\.pif\"/ REJECT
/name=\".*\.bat\"/ REJECT
/name=\".*\.dll\"/ REJECT
/name=\".*\.reg\"/ REJECT
/^From:.*<#.*@.*>/ REJECT
/^Return-Path:.*<#.*@.*>/ REJECT
/^Received:/ IGNORE
# vi /usr/local/etc/dovecot.conf
protocols = imaps pop3s
ssl = yes
disable_plaintext_auth = no
ssl_cert_file = フルパス/server.pem ←鍵の設置場所指定
ssl_key_file = フルパス/server.key ←鍵の設置場所指定
mail_location = maildir:~/Maildir
# vi /usr/local/lib/sasl2/smtpd.conf
pwcheck_method: auxprop
mech_list: digest-md5 cram-md5

sasldb2認証のユーザパスワード作成

# /usr/local/sbin/saslpasswd2 -u yumidon.com -c hoge ←ユーザ名:hoge

Postfix ポリシーサーバインストール
postgrey-1.32

# vi /usr/local/etc/postfix/main.cf
smtpd_recipient_restrictions = permit_mynetworks, ---省略---
reject_unauth_destination, check_policy_service inet:127.0.0.1:10023

参考サイト
SPAMメール対策ツールPostgrey

自動起動設定

# vi /etc/rc.conf
postfix_enable="YES"
saslauthd_enable="YES"
saslauthd_flags="-a sasldb"
dovecot_enable="YES"
postgrey_enable="YES"

コメント