polin 发表于 2015-11-24 12:15:34

Postfix + Openssl + Dovecot + Squirrelmail 搭建安全WEB邮箱服务器

  目录:
  一、Postfix 的安装配置
  二、Dovecot 的安装配置
  三、Openssl 的安装配置
  四、邮箱Web 界面的安装配置


  环境:CentOS release 6.5 (Final)




  一、Postfix 的安装配置:
  安装:
  



yum install postfix配置 /etc/postfix/main.cf文件  因为语法规则是默认后面的规则自动覆盖前面的,所以可以一次性在文件末尾加上.



主要配置:
myhostname = mail.yourdomin</span>
mydomain = mail.yourdomin
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $mydomain $myhostname
mynetworks_style = subnet
mynetworks = 127.0.0.0/8
relay_domains = $mydestination
smtpd_banner = $myhostname ESMTP &quot;Mail Server&quot;
将smtp的密码验证开启开启服务安装组件:
/etc/init.d/saslauthd start
chkconfig saslauthd on
yum install cyrus-sasl-plain cyrus-sasl-md5 cyrus-sasl
保证:/etc/sasl2/smtpd.conf包含
pwcheck_method: saslauthd 这一条规则


  在/etc/postfix/main.cf文件中继续添加 有关认证的语句
  

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_unknown_sender_domain,
reject_unauth_destination

  测试SMTP验证是否生效:

telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 mail.domain.com ESMTP Postfix
ehlo localhost
250-mail.domain.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN #显示此信息代表验证正常
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
  
  二、Dovecot的安装配置
  

yum install dovecot
  
  

在/etc/dovecot/dovecot.conf 文件的最后增加:
protocols = imap pop3 lmtp
login_trusted_networks = all
在/etc/dovecot/conf.d/10-mail.conf 中添加
mail_location = mbox:~/mail:INBOX=/var/mail/%u表示将邮箱目录设置为/var/mail

PS:虽然/var/mail为我们设置的目录,

但是 /var/spool/mail才是真正存放邮件的目录。

一定要将/var/spool/mail目录的权限修改为:770才能正擦汗那个收发邮件。

  


启动Dovecot:  
  

service dovecot start配置到这一步,应该就可以使用邮件客户端进行收发邮件了。如果对邮件没有安全性的要求,就可以使用明文进行正常的邮件收发了。  
  三、Openssl 的安装配置
  

yum install openssl
修改/etc/pki/tls/openssl.cnf文件将【CA_default】选项中的
dir = /etc/pki/CA

  接下来要生成根证书以及私钥

cd /etc/pki/CA
mkdir private crl certs newcerts #新建证书存放目录
echo '00' > serial #新建serial文件并写入初始序列号00
touch index.txt #新建index.txt空文件
openssl genrsa -out private/cakey.pem 1024 #生成CA根证书私钥
openssl req -new -x509 -key private/cakey.pem-out cacert.pem #生成CA根证书最后一步openssl genrsa -out private/server.key 1024
openssl req -new -key private/server.key -out crl/server.csr #生成证书请求文件,可提供认证CA签核,或自签名。
openssl ca -in crl/server.csr -out certs/server.crt #自签名证书。根据出错信息将刚刚生成的文件分别移动到相应的目录。
  注意:这里的ssl是个人企业用来验证用的可能会被浏览器报错,经过全球认证的是要收费的。


  接下来我们开始在Postfix 和Dovecot 里面增加对ssl的支持


  Postfix
的支持:
  

在/etc/postfix/main.cf文件的末尾添加以下语句:
smtp_use_tls = yes
smtpd_tls_key_file = /etc/pki/CA/private/server.key
smtpd_tls_cert_file = /etc/pki/CA/certs/server.crt
smtpd_tls_CAfile = /etc/pki/CA/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
在/etc/postfix/master.cf文件中将以下代码的注释去掉:
smtps   inetn       -       n       -       -       smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject


测试是否配置成功的方法为:  
  

openssl s_client -connect smtp.yourdomin:smtps
SSL-Session:
Protocol: TLSv1
Cipher    : DHE-RSA-AES256-SHA
Session-ID: 65424E5937C2EE0453E796BA179DF8F8D92A523FAD5F170CFE11A64E5A0441D3
Session-ID-ctx:
Master-Key: 43EC9C65F8215B3304C62A4E860116D6CA58BFE732514F5B31EC67196D993F43A19E837CA9BD48D6008A06874ED83BB0
Key-Arg   : None
Krb5 Principal: None
Start Time: 1341366288
Timeout   : 300 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
---
220 mail.yourdomin</span> ESMTP Postfix
quit
221 2.0.0 Bye

Dovecot 的支持  
  

在 /etc/dovecot/conf.d/10-ssl.conf 修改成以下语句:
ssl = yes
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

测试方法:  
  

openssl s_client -connect smtp.yourdomin:imap
openssl s_client -connect smtp.yourdimin:pop

  至此,就可以在邮件客户端中使用ssl进行邮件的收发了。


  


  四、邮箱Web界面的安装配置
  WEB界面的配置是采用的squirrelmail开源邮箱组件。


  由于要运行WEB程序,首先要安装apache
  

yum install httpd
由于安装的apache 一般都没有mod_ssl
所以我们要想使用ssl邮箱,就还要运行命令
yum install mod_ssl
安装成功后 在/etc/httpd/modules/目录下就会多出一个mod_ssl


其次安装squirrelmailyum install squirrelmail
默认的配置文件目录为/etc/squirrelmail
  
  默认的数据文件目录为/usr/share/squirrelmail,我们也可以通过/usr/share/squirrelmail/config下的config.pl脚本进行配置。
  两个全部安装好以后,修改/etc/httpd/conf/httpd.conf文件。
  

按照以下格式修改:
DocumentRoot &quot;/usr/share/squirrelmail&quot;
<Directory &quot;/usr/share/squirrelmail&quot;>
其他的没有特别配置可以保持原样。
进入到/etc/httpd/conf.d/squirrelmail文件修改  
  

将以下代码的注释全部去掉,激活https。
<Directory /usr/share/squirrelmail>
RewriteEngineon
RewriteCond    %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Directory>
其他的可以根据公司的需要进行个性修改。

现在输入你的IP地址或者域名就应该能够访问经过加密的邮箱了。
  
  
页: [1]
查看完整版本: Postfix + Openssl + Dovecot + Squirrelmail 搭建安全WEB邮箱服务器