和6年能登半島地震により亡くなられた方々のご冥福をお祈りするとともに、被害に遭われた皆さまに対し、心よりお見舞い申し上げます。一日も早く被災地の安全が確保され、復旧が進む事を心よりお祈り申し上げます。

メールサーバ構築メモ

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

最新版はこちら「Dovecot-SASLでSMTPの認証」2021年01月25日更新

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"

コメント