设为首页 收藏本站
查看: 1313|回复: 0

[经验分享] Postfix + Openssl + Dovecot + Squirrelmail 搭建安全WEB邮箱服务器

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-24 12:15:34 | 显示全部楼层 |阅读模式
  目录:
  一、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     inet  n       -       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>
RewriteEngine  on
RewriteCond    %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Directory>
其他的可以根据公司的需要进行个性修改

现在输入你的IP地址或者域名就应该能够访问经过加密邮箱了。

  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143058-1-1.html 上篇帖子: Postfix上的反垃圾邮件的四个方法 下篇帖子: 1_ SMTP服务器的构建 Postfix
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表