当前位置:文档之家› postfix+dovecot+openwebmail

postfix+dovecot+openwebmail

postfix+dovecot+openwebmail
postfix+dovecot+openwebmail

Postfix

实验名称:postfix电子邮件服务器配置

实验目的:实现postfix电子邮件服务器的基本环境配置,在些基础上提高postfix防垃圾邮件能力、防电子邮件包含病毒及保护postfix 的安全措施(拒绝服务攻击);如何定期地去清理日志及利用工具查看日志,即是:postfix+dovecot+cyrus-sasl+openwebmail/squirrelmail+mailScanner+An tiviru s+spamAssassin(解释:dovecot提供imap、pop3服务(在新版本的redhat linux 中dovecot代替了imap软件包);cyrus-sasl提供认证功能的;openwebmail/squirrelmail都是提供webmail服务,其中squirrelmail是redhat自带的,在第三张光盘;而openwebmail 则是第三方软件;mailScanner好像是邮件扫描用的,主要与Antivirus(防病毒)结合;spamAssassin是用来处理垃圾邮件的,判断邮件是否为垃圾邮件)

实验内容:

1.设置服务器的IP地址为10.

2.46.129/24,首先DNS为10.2.46.129,关闭防火墙(便于测试)

2.安装dns服务器所需要的软件包:bind-utils(第一张光盘)、bind、bind-libs(第一张光盘)、bind-chroot(第二张光盘)、caching-nameserver (第四张光盘)

3.配置dns服务器的主机记录、邮件记录及测试

4.安装postfix(第三张光盘)和postfix-pflogsumm(依赖于

perl-Date-Cal c→perl-Bit-V ecto r→perl-Carp-Clan)软件包---------所有包都在第二张光盘

5.dovecot及cyrus-sasl(Cyrus-sasl的功能就是实现密码验证机制)一般在系统安装时,都安装上去了

6.配置postfix的主配置文件main,cf及其它文件的配置,如:virtual、access(访问文件)、master.cf(控制文件)

7.安装openwebmail/squirrelmail、mailScanner、Antivirus、spamAssassin及它们相关的配置

8.在实验中遇到的问题时,如何解决,记录解决的方法,做好实验的总结

实验过程:

一、设置服务器的IP地址,关闭iptables及SE linux

#service network restart #service iptables restart #ifconfig eth0

二、DNS配置

#vi named.conf

#vi named.zones

#vi 123.zone

#vi 123.local

▼DNS测试:

先关闭防火墙、selinux,开启dns服务

#chkconfig --level 345 named on

三、postfix的基本配置及启用SMTP认证机制

1、设置服务器的主机名为https://www.doczj.com/doc/573520968.html,

#vi /etc/sysconfig/network

#reboot ------重启后主机名就是https://www.doczj.com/doc/573520968.html,,可以用#hostname来查看

2、由于之前用过sendmail,所以在安装启动postfix时,停止sendmail 服务,最好就是卸载sendmail。这里我停止sendmail服务

3、安装postfix-pflogsumm和postfix软件包,由于postfix-pflogsumm 依赖于perl-Date-Cal c→perl-Bit-V ecto r→perl-Carp-Clan,所以先安装这些软件包

●安装好后在/etc/postfix/目录下,就有相应的配置文件了

主要文件:/etc/postfix/master.cf是控制文件

/etc/postfix/main.cf是主配置文件

/etc/postfix/virtual是虚拟域名文件

/etc/aliases是别名配置文件

/etc/access允许那些网段、区域邮件进行转发4.编辑/etc/postfix/main.cf

#vi /etc/postfix/main.cf

指定运行Postfix邮件系统的主机名称

指定Postfix邮件系统使用的域名

指定发件人所在的域

注意:这里的$mydomain是一个变量,myorigin的值等于前面赋予https://www.doczj.com/doc/573520968.html,

指定Postfix邮件系统监视的网络接口

指定Postfix接收邮件时收件人的域名

注意:这里的mynetworks_style的值

class =>与伺服器位于同一级IP网路的主机都可以使用代转服务subnet =>所在网域的任一个IP都可以使用代转服务

host =>仅开放localhost为信任?可代转的主机

指定您所在的网络地址10.2.46.0/24

5.保存并退出,重启postfix服务,如果DNS服务器开启了,此时你就会发现在启动postfix服务时,很慢很慢,甚至启动失败;如果关闭DNS服务器,再启动postfix服务时,就可启动了。但是实验中要用到DNS域名解释。出现此问题的原因主要是:对于redhat的linux 默认的mta是sendmail(之前用过sendmail电子邮件服务),所以要设置mta是postfix才行,就是使用alternatives –-config mta 然后选择postfix(当然你系统要已经安装了postfix)就可以使用postfix来作默认的mta了。

#chkconfig --level 345 postfix on

6.此时就可以发邮件了,但还不能收邮件;在新版本的linux里已经用dovecot代替了pop3、imap4,dovecot接收邮件软件包,包含了pop3 imap4等协议,所以还必须安装dovecot和启用dovecot服务,其中dovecot依赖于perl-DBI、mysql,有的还会提示libpq.so.4 is needed by dovecot-1.0-1.2.rc15.el5.i386;还需安装postgresql-libs。这里采用在安装系统时,就安装好的dovecot,#service dovecot restart域者#vi /etc/dovecot.conf #protocols = imap imaps pop3 pop3s前面的#去掉,再#service dovecot restart也可以。

#netstat -antl

7.安装好cyrus-sasl(Cyrus-sasl的功能就是实现密码验证机制)后,修改#vi /etc/sysconfig/saslauthd

通过shadow来认证登录用户

#service saslauthd restart

测试一下是否成功#testsaslauthd -u root -p root用户密码

若看到0: OK "Success. ",那么启动密码验证机制就成功了#saslauthd -v 可以查看saslauthd有支持哪些密码管理机制

8.开启smtpd认证机制

(1)SMTPd_sasl_auth_enable:设置是否要启动sasl认证的意思,如果设置,Postfix会主动去加载cyrus sasl的函数库,而该函数库会依据/usr/lib/sasl2/SMTPd.conf的设置来连接到正确的管理账号与密码的服务,即saslauthd。

(2)broken_sasl_auth_Clients:这是针对早期非正规MUA的设置项目,因为早期软件开发商在开发MUA时没有参考通信协议标准,所以造成在SMTP认证时可能会发生的一些困扰。例如MS的Outlook Express第4版就是这样,后来的版本应该没有这个问题。所以这个设置值您也可以不设置。

(3)SMTPd_sasl_security_options:要取消哪些登录方式的意思。可以取消匿名登录的可能性,所以设置为noanonymous即可。由于saslauthd使用的是plaintext,所以不能设置noplaintext,这里需要留意。

(4)smtpd_sasl_local_domain:确认已经通过认证的网域

(5)SMTPd_recipient_restrictions:最重要的就是这个。sasl认证可以放在第二行,在局域网的可信任区域的后面加以认证。上述代码的设置意义是:局域网内的MUA不需要认证也能够进行Relay,而非局域网内的其他来源才需要进行SMTP认证。

●smtp 认证机制测试是否成功

可以用Outlook Express 来测试,也可以用telnet https://www.doczj.com/doc/573520968.html, 测试,方法:telnet 命令可以连接到Postfix 服务器的25号端口,也就是发信服务器端口,然后输入几个命令,就可以知道配置是否成功了。由于telnet 用的明文的密码,而postfix 的SMTP 用户身份认证采用的不是明文方式,所以首先要计算出用户名和密码,通过perl 命令就可以很快计算出来:用户名为lili 、密码为123的等价模式

#telnet https://www.doczj.com/doc/573520968.html,

25

经过编码后的用户名bGlsaQ

同时也可以通printf “lili” |openssl base64和printf “123” |openssl base64计算出用户名和密码。如果在测试时,出现出现:{535 5.7.8 Error: authentication failed: another step is needed in authentication}表示输入的BASE64编码有问题

9.到此时配置的基本环境已经起来了,可以进行测试了

/etc/resolv.conf

解释方法:#vi

#service network

restart Array

10.新建两个用户分别是redhat和rongli,利用outlookup进行测试

同样方法,再建一个rongli@https://www.doczj.com/doc/573520968.html,邮箱

此时查看#tail /var/log/maillog ,就可以看到用户redhat 和rongli 登录postfix 服务器的信息了,如下:

测试收发信

redhat@https://www.doczj.com/doc/573520968.html,

rongli@https://www.doczj.com/doc/573520968.html,

/var/log/maillog

查看

相关主题
文本预览
相关文档 最新文档