为安全IMAP和SMTPconfigurationpostfix和dovecot

我在Debian 8操作系统上安装了一个干净安装的postfix和dovecot-core dovecot-imapd dovecot-lmtpd。

我想configuration邮件使用PAM,但我想限制它是用户邮件组的一部分,因此不是每个Linux用户都有邮件访问。

我也想确保以下文件configuration正确。 我想确保用户/密码不是以纯文本forms发送的,而是encryption的。

我只显示我修改过的行。 对于一个我不确定的部分,我问了一个问题。

的dovecot / 10-auth.conf

 disable_plaintext_auth = yes auth_username_chars = abcdefg....AbCdefg...0123...@ 

应该plain login用于安全SMTP和IMAPS或只是plain

 auth_mechanisms = plain login 

这个如果用于PAMauthentication

 !include auth-system.conf.ext 

的dovecot / 10-master.conf

所有其他人都注释掉,所以只有IMAPS将工作。

 service imap-login { inet_listener imaps { port = 993 ssl = yes } | 

postfix是正确的用户,还是应该在这里使用dovecot?

 service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } service auth { 

我需要使用这个而不是Postfix smtp-auth?

  unix_listener auth-userdb { #mode = #user = #group = } 

应该使用postfix还是dovecot作为用户?

  # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0666 user=postfix group=postfix } 

的dovecot / 10-mail.conf

使用maildir而不是Maildir可以吗? 电子邮件客户端或服务器会使用全部小写字母吗?

 mail_location = maildir:~/Maildir 

的dovecot / 10-ssl.conf中

 ssl = required ssl_cert = /etc/dovecot/*.pem ssl_key = /etc/dovecot/private/*.pem 

我需要排除!SSLv2和!SSLv3强制TLS?

这是dovecot -n的输出:

  mail_location = maildir:~/Maildir namespace inbox { inbox = yes location = prefix = } passdb { driver = pam } protocols = imap lmtp service auth { unix_listener /var/spool/postfix/private/auth { group = postfix user = postfix mode = 0666 } } service imap-login { inet_listener imaps { port = 993 ssl = yes } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix user = postfix mode = 0600 } } ssl = required userdb { driver = passwd } 

后缀/ main.cf

 virtual_transport = lmtp:unix:private/dovecot-lmtp smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_tls_auth_only = yes 

后缀/ master.cf

我只是取消注释这一行:

 submission inet n - - - - smtpd 

更新:

有了这个configuration,我试图从客户端发送邮件到一个Gmail帐户时收到错误消息。 我的iPhone也得到一个validation错误信息。 用户已经创build并使用input的密码。

 Warning: hostname mobile.abcd-mycingular.net does not resolve to address abcd connect from unknown warning: SASL: connect to private/auth failed: no such file or directory fatal: no SASL authentication mechanisms /usr/lib/postfix/smtpd bad command startup --throttling 

的dovecot / 10-auth.conf

你应该设置PLAIN和LOGIN,你的实际configuration看起来不错。

的dovecot / 10-master.conf

这是没有必要评论其他服务,与

 ssl = required 

在您的鸽舍configuration中,用户只有通过ssl连接才能login。 这是一个更好的方法,因为用户可能想要使用STARTTLS 。

对于validation套接字,您应该使用运行第三方服务的用户,在这种情况下,您应该将postfix设置为用户。

的dovecot / 10-mail.conf

你可以在没有任何问题的情况下设置没有大写字母的maildir。

的dovecot / 10-ssl.conf中

您不会强制通过禁用SSLv2和SSLv3 tls,但是您将阻止用户使用SSL。

后缀/ main.cf

这部分看起来不错。

 warning: SASL: connect to private/auth failed: no such file or directory 

意思是不能find鸽鸽authentication。 你应该确保authentication套接字文件存在于这个目录中