メールサーバをたててみた(postfix+dovecot)

設定は、散々回っているはずなんだけど 意外と苦労したw
OSはCentOS
SSL対応

POP3サーバはyumに標準で入っている、dovecotを使った

さて、設定を書いていきます!
(多分)設定したところだけ


/etc/postfix/main.cf

myhostname = falog.net
mydomain = falog.net
myorigin = $myhostname
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
#mailbox_command = /usr/bin/procmail
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes

#smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_mechanism_filter = cram-md5, digest-md5 ,plain, login


smtpd_sasl_local_domain = $myhostname

smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination

smtpd_sasl_security_options = noanonymous


smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_cert_file = /etc/ssl/certs/mail/mail.crt
smtpd_tls_key_file = /etc/ssl/certs/mail/mail.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom


※#しているところは、コメントアウトしたところです。 今は使ってない。

続いて、sasl2!

/etc/sasl2/smtpd.conf

pwcheck_method: saslauthd
mech_list: cram-md5 digest-md5 plain login

/etc/sysconfig/saslauthd

MECH=shadow

ユーザを作成

# saslpasswd -u falog.net -c fal

//uオプションをつけなかったら、設定されているドメインが使われるようです。

/etc/sasldb2
にファイルが作成される。

これを、postfixで読むには権限を与えてやらないといけない
グループ権限を今回は与えた

# chgrp postfix /etc/sasldb2
# chmod 640 /etc/sasldb2


これで、
warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied
というエラーは出なくなる

それから cyrus-sasl系パッケージが入ってなかったのでインストールした

# yum install cyrus-sasl cyrus-sasl-md5 cyrus-sasl-plain

Cyrpt-saslは結構手こずった!
この辺りのエラーをだしているのであれば、上記のパッケージを確認するべき!

続いてdovecot
dovecotは、pop3s imapsと指定しなくてもssl化してくれるっぽい

/etc/dovecot/dovecot.conf

protocols = imap pop3

/etc/dovecot/conf.d/10-auth.conf

auth_mechanisms =  plain


//cram-md5とかに設定するとエラーが出た のでとりあえず回避

/etc/dovecot/conf.d/10-ssl.conf

ssl_cert = </etc/pki/tls/certs/mail/mail.crt
ssl_key = </etc/pki/tls/certs/mail/mail.key

opensslで鍵を作成

# openssl genrsa -out mail.key 2048
# openssl req -new -key mail.key -out mail.csr
# openssl x509 -req -days 365 -in mail.csr -signkey mail.key -out mail.crt
# chmod 400 mail.*

今は動いている!

Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。