postfixとdovecotでメールサーバ
Ubuntu 14.04です。 postfix(SMTPサーバ)は基礎的な設定はすでになされているものとします。
Dovecot, postfixのインストール
$ sudo apt-get install dovecot-core dovecot-imapd dovecot-pop3d postfix
dovecot.confの設定
dovecot.conf
protocols = imap pop3
を追記imaps
やpop3s
は追加しない。
listen = *, ::
のコメントアウトを外す(アンコメントというらしい)
conf.d/10-auth.conf
disable_plaintext_auth
をアンコメントしてno
に値を変更- SSL/TLSだから平文でもヘーキヘーキ…
auth_mechanisms
をplain login
に変更- postfixのように
,
をつけてはいけない
- postfixのように
conf.d/10-master.conf
inet_listener imap
の中のport
を0
にセット- こうすることでSSL/TLSを用いないIMAPを使えなくする
- https://blog.apar.jp/linux/678/
inet_listener imaps
の中をアンコメントしておくinet_listener pop3
,inet_listener pop3s
も同様にservice auth
の中のunix_listener auth-userdb
とunix_listener /var/spool/postfix/private/auth
の中をアンコメント
conf.d/10-mail.conf
mail_location = maildir:~/Maildir
と設定
conf.d/10-ssl.conf
ssl
をyes
またはrequired
に設定ssl_cert
の値を</etc/letsencrypt/live/(メールサーバのホスト名)/fullchain.pem
に変更- あとで
.pem
はつくります
- あとで
ssl_key
を</etc/letsencrypt/live/(メールサーバのホスト名)/privkey.pem`に
conf.d/10-logging.conf
log_path
の値を/var/log/dovecot/dovecot.log
に変更
postfixの設定
main.cf
他に頼ってね
# basic
mydomain = (ドメイン)
myhostname = (メールサーバのホスト名)
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname $mydomain
mynetworks = 192.168.1.0/24 127.0.0.0/8
relayhost =
home_mailbox = Maildir/
# size
message_size_limit = 40960000
# security
smtpd_client_restrictions =
permit_mynetworks,
check_client_access hash:/etc/postfix/access,
reject_rbl_client all.rbl.jp,
reject_rbl_client bl.spamcop.net,
reject_rbl_client sbl.spamhaus.org,
reject_unknown_client,
permit
smtpd_etrn_restrictions =
reject_unknown_hostname
smtpd_banner = $myhostname ESMTP
disable_vrfy_command = yes
smtpd_helo_required = yes
smtpd_helo_restrictions =
permit_mynetworks,
check_helo_access hash:/etc/postfix/access,
reject_invalid_hostname,
permit
strict_rfc821_envelopes = yes
smtpd_data_restrictions =
reject_unauth_pipelining,
reject_multi_recipient_bounce
smtpd_sender_restrictions =
permit_mynetworks,
check_sender_access hash:/etc/postfix/access,
reject_unknown_sender_domain,
reject_non_fqdn_sender
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_recipient_access hash:/etc/postfix/access,
reject_non_fqdn_recipient,
reject_unauth_destination,
permit_auth_destination,
reject
# ssl/tls
smtpd_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_cert_file = /etc/letsencrypt/live/(メールサーバのホスト名)/cert.pem
smtpd_tls_key_file = /etc/letsencrypt/live/(メールサーバのホスト名)/privkey.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/(メールサーバのホスト名)/chain.pem
smtpd_tls_CApath = /etc/letsencrypt/live/(メールサーバのホスト名)/
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
# sasl
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = (メールサーバのホスト名)
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
master.cf
smtpd_tls_wrappermode
, smtpd_sasl_auth_enable
, smtpd_reject_unlisted_recipient
, smtpd_relay_restrictions
をアンコメント
(省略)
smtps inet n - - - - smtpd
# -o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=yes
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
(省略)
$ sudo service postfix restart
を忘れずに
SSL/TLS(Let’s Encrypt)
- ここを参考に http://dev.classmethod.jp/server-side/lets-encrypt-beta/
- 発行ドメインはメールサーバのホスト名で
- 発行が終わったら放置でok(すでに設定した)
SASL
今回はCyrus SASLではなくDovecot SASLを使います。 また、OSユーザでの認証となります。設定はすでにしました。 (OSとは別のユーザ・パスワードで使いたい → バーチャルメールボックス)
Backlinks
There are no notes linking to this note.