Chinaunix首页 | 论坛 | 博客
  • 博客访问: 160304
  • 博文数量: 126
  • 博客积分: 1073
  • 博客等级: 上尉
  • 技术积分: 1175
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 00:32
文章分类

全部博文(126)

文章存档

2018年(56)

2013年(1)

2012年(8)

2011年(61)

分类: LINUX

2011-01-24 21:32:11

下面是关于Linux下面配置Dovecot服务的讨论,

 

Dovecot介绍

Dovecot主要是用来接收邮件的一个服务,它可以支持POP3POP3SIMAPIMAPS这些邮件接收协议。

 

关于邮件接收协议

POP3  

邮局协议                        TCP110

POP3S

使用SSL加密                 TCP995

IMAP

互联网邮件存取协议   TCP143

IMAPS

使用SSL加密                TCP993

 

关于Dovecot这个服务的属性

Dovecot软件包

Dovecot

Dovecot的守护进程

/usr/sbin/dovecot

Dovecot的进程

/etc/init.d/dovecot

Dovecot的端口

110pop3 995pop3s 143imap 993imaps

Dovecot的配置文件

/etc/dovecot.conf

 

下面来配置dovecot服务

首先,我们来安装软件包,

[root@station10 ~]#

[root@station10 ~]# yum -y install dovecot

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package dovecot.i386 0:1.0.7-7.el5 set to be updated

--> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15) for package: dovecot

--> Processing Dependency: libmysqlclient.so.15 for package: dovecot

--> Processing Dependency: libpq.so.4 for package: dovecot

--> Running transaction check

---> Package mysql.i386 0:5.0.77-3.el5 set to be updated

--> Processing Dependency: perl(DBI) for package: mysql

---> Package postgresql-libs.i386 0:8.1.11-1.el5_1.1 set to be updated

--> Running transaction check

---> Package perl-DBI.i386 0:1.52-2.el5 set to be updated

--> Finished Dependency Resolution

 

Dependencies Resolved

 

================================================================================

 Package                Arch        Version                   Repository   Size

================================================================================

Installing:

 dovecot                  i386        1.0.7-7.el5                  base        1.7 M

Installing for dependencies:

 mysql                     i386        5.0.77-3.el5                 base        4.8 M

 perl-DBI                i386        1.52-2.el5                    base        605 k

 postgresql-libs        i386        8.1.11-1.el5_1.1          base        196 k

 

Transaction Summary

================================================================================

Install          4 Package(s)        

Update        0 Package(s)        

Remove       0 Package(s)        

 

Total download size: 7.2 M

Downloading Packages:

(1/4): mysql-5.0.77-3.el5.i386.rpm                             | 4.8 MB     00:01    

(2/4): postgresql-libs-8.1.11-1.el5_1.1.i386.rpm         | 196 kB     00:00    

(3/4): perl-DBI-1.52-2.el5.i386.rpm                           | 605 kB     00:00    

(4/4): dovecot-1.0.7-7.el5.i386.rpm                            | 1.7 MB     00:01    

--------------------------------------------------------------------------------

Total                                                           1.4 MB/s | 7.2 MB     00:05    

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

  Installing     : perl-DBI                                                  1/4

  Installing     : mysql                                                       2/4

  Installing     : postgresql-libs                                          3/4

  Installing     : dovecot                                                    4/4

 

Installed:

  dovecot.i386 0:1.0.7-7.el5                                                   

 

Dependency Installed:

  mysql.i386 0:5.0.77-3.el5                     perl-DBI.i386 0:1.52-2.el5     

  postgresql-libs.i386 0:8.1.11-1.el5_1.1     

 

Complete!

[root@station10 ~]#

OKdovecot软件包就安装成功了。

现在我们启动下dovecot服务,

[root@station10 ~]#

[root@station10 ~]# service dovecot restart

Stopping Dovecot Imap:                                     [  OK  ]

Starting Dovecot Imap:                                       [  OK  ]

[root@station10 ~]#

OK,服务启动成功了,

Dovecot服务的配置文件在/etc/dovecot.conf

在这个文件里有一行,

#protocols = imap imaps pop3 pop3s

代表dovecot服务默认侦听在这些协议上面,

[root@station10 ~]#

[root@station10 ~]# netstat -tulnp | grep 110

tcp        0      0 :::110                      :::*                        LISTEN      14010/dovecot      

[root@station10 ~]# netstat -tulnp | grep 143

tcp        0      0 :::143                      :::*                        LISTEN      14010/dovecot      

[root@station10 ~]# netstat -tulnp | grep 995

tcp        0      0 :::995                      :::*                        LISTEN      14010/dovecot      

[root@station10 ~]# netstat -tulnp | grep 993

tcp        0      0 :::993                      :::*                        LISTEN      14010/dovecot      

[root@station10 ~]#

默认情况下,我们不需要做任何配置,dovecot服务就可以正常工作了。

在图像界面下,可以Thunderbird工具进行客户端工具的测试,

在字符界面下面,我们通常使用mutt工具进行客户端的测试,

Mutt  user1@station20.example.com

发送邮件

Mutt –f  pop://user1@station20.example.com

使用pop协议来接收邮件

为了保证邮件的传输安全,我们需要使用加密的pop3s协议。

首先生成公钥,

[root@station10 ~]#

[root@station10 ~]# cd /etc/pki/tls/

[root@station10 tls]# ls

cert.pem  certs  misc  openssl.cnf  private

[root@station10 tls]# cd certs/

[root@station10 certs]# ls

ca-bundle.crt  make-dummy-cert  Makefile

[root@station10 certs]#

在这个目录下面有个Makefile文件,这个文件是系统帮我们开发的,当我们使用make命令生成公钥的时候,系统会自动的调用这个文件,大大的简化了用户的操作。

现在我们来生成公钥

[root@station10 certs]#

[root@station10 certs]# make dovecot.pem

umask 77 ; \

        PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \

        PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \

        /usr/bin/openssl req -utf8 -newkey rsa:1024 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -set_serial 0 ; \

        cat $PEM1 >  dovecot.pem ; \

        echo ""    >> dovecot.pem ; \

        cat $PEM2 >> dovecot.pem ; \

        rm -f $PEM1 $PEM2

Generating a 1024 bit RSA private key

..++++++

..................................++++++

writing new private key to '/tmp/openssl.X20115'

-----

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [GB]:CN

State or Province Name (full name) [Berkshire]:hubei

Locality Name (eg, city) [Newbury]:wuhan

Organization Name (eg, company) [My Company Ltd]:redhat

Organizational Unit Name (eg, section) []:IT

Common Name (eg, your name or your server's hostname) []:station10.example.com

Email Address []:

[root@station10 certs]#

[root@station10 certs]# ls

ca-bundle.crt  dovecot.pem  make-dummy-cert  Makefile

[root@station10 certs]#

OK,现在这个dovecot.pem这个公钥就生成了。

现在我们在这把公钥复制一份到私钥的目录,

[root@station10 ~]#

[root@station10 ~]# cd /etc/pki/tls/

[root@station10 tls]# ls

cert.pem  certs  misc  openssl.cnf  private

[root@station10 tls]# cd private/

[root@station10 private]# ls

[root@station10 private]# cp /etc/pki/tls/certs/dovecot.pem .

[root@station10 private]# ls

dovecot.pem

[root@station10 private]#

因为使用的是对称算法,所以公钥和私钥是同一把钥匙。

现在我们如何去调用这个钥匙呢,

现在我们还需要去编辑/etc/dovecot.conf这个文件。

ssl_cert_file = /etc/pki/tls/certs/dovecot.pem

ssl_key_file = /etc/pki/tls/private/dovecot.pem

OK,把这两行的注释给取消,并改变它的公钥与私钥的路径。

现在我们启动下dovecot服务,

[root@station10 ~]#

[root@station10 ~]# service dovecot restart

Stopping Dovecot Imap:                                     [  OK  ]

Starting Dovecot Imap:                                       [  OK  ]

[root@station10 ~]#

OK,服务启动成功了,测试下。

现在我们来测试下邮件服务器是否可以通过这把钥匙来加密呢,

[root@station10 ~]#

[root@station10 ~]# mutt -f pops://user1@station10.example.com

可以看到,这里面就有我们刚才输入的信息。

它现在询问我们是否接收这个证书呢,r是不接收,o是接收。

我们选择接收,接收完成后,

接收成功后,需要我们输入这个邮箱用户的密码,

 

OK,现在我们就可以看到这个邮件的内容了。

这样就实现了邮件的接收加密。

 

关于Linux下面配置dovecot服务的讨论就到这里了。

 

阅读(916) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~