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.