postfix电子邮件服务器配置_第1页
postfix电子邮件服务器配置_第2页
postfix电子邮件服务器配置_第3页
postfix电子邮件服务器配置_第4页
postfix电子邮件服务器配置_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

postfix+dovecot+openwebmail安装设置 Postfix实验名称: postfix电子邮件服务器配置实验目的:实现postfix电子邮件服务器的基本环境配置,在些基础上提高postfix防垃圾邮件能力、防电子邮件包含病毒及保护postfix的安全措施(拒绝服务攻击);如何定期地去清理日志及利用工具查看日志,即是:postfix+dovecot+cyrus-sasl+openwebmail/squirrelmail+mailScanner+Antivirus+spamAssassin(解释:dovecot提供imap、pop3服务(在新版本的redhat linux 中dovecot代替了imap软件包);cyrus-sasl提供认证功能的;openwebmail/squirrelmail都是提供webmail服务,其中squirrelmail是redhat自带的,在第三张光盘;而openwebmail则是第三方软件;mailScanner好像是邮件扫描用的,主要与Antivirus(防病毒)结合;spamAssassin是用来处理垃圾邮件的,判断邮件是否为垃圾邮件)实验内容:1.设置服务器的IP地址为29/24,首先DNS为29,关闭防火墙(便于测试)2. 安装dns服务器所需要的软件包:bind-utils(第一张光盘)、bind、bind-libs(第一张光盘)、bind-chroot(第二张光盘)、caching-nameserver(第四张光盘)3. 配置dns服务器的主机记录、邮件记录及测试4.安装postfix(第三张光盘)和postfix-pflogsumm(依赖于perl-Date-Calcperl-Bit-Vectorperl-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及SElinux#service network restart#service iptables restart#ifconfig eth0二、DNS配置#vi named.conf#vi named.zones#vi 123.zone#vi 123.localDNS测试:先关闭防火墙、selinux,开启dns服务#chkconfig -level 345 named on三、postfix的基本配置及启用SMTP认证机制1、设置服务器的主机名为#vi /etc/sysconfig/network #reboot -重启后主机名就是,可以用#hostname来查看2、由于之前用过sendmail,所以在安装启动postfix时,停止sendmail服务,最好就是卸载sendmail。这里我停止sendmail服务3、安装postfix-pflogsumm和postfix软件包,由于postfix-pflogsumm依赖于perl-Date-Calcperl-Bit-Vectorperl-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的值等于前面赋予123.com配置文件main.cf默认开启的,必须注释,否则inet_interfaces = all就不生效指定Postfix邮件系统监视的网络接口指定Postfix接收邮件时收件人的域名注意:这里的mynetworks_style的值class =与伺服器位于同一级IP网路的主机都可以使用代转服务subnet =所在网域的任一个IP都可以使用代转服务host =仅开放localhost为信任?可代转的主机指定您所在的网络地址/245.保存并退出,重启postfix服务,如果DNS服务器开启了,此时你就会发现在启动postfix服务时,很慢很慢,甚至启动失败;如果关闭DNS服务器,再启动postfix服务时,就可启动了。但是实验中要用到DNS域名解释。出现此问题的原因主要是:对于redhat的linux默认的mta是sendmail(之前用过sendmail电子邮件服务),所以要设置mta是postfix才行,就是使用alternatives -config mta 然后选择postfix(当然你系统要已经安装了postfix)就可以使用postfix来作默认的mta了。 #chkconfig -level 345 postfix on6.此时就可以发邮件了,但还不能收邮件;在新版本的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 测试,方法:telnet命令可以连接到Postfix服务器的25号端口,也就是发信服务器端口,然后输入几个命令,就可以知道配置是否成功了。由于telnet用的明文的密码,而postfix的SMTP用户身份认证采用的不是明文方式,所以首先要计算出用户名和密码,通过perl命令就可以很快计算出来:用户名为lili、密码为123的等价模式 经过编码后的用户名bGlsaQ经过编码后的密码为MTIz#telnet 25 同时也可以通printf “lili” |openssl base64和printf “123” |openssl base64计算出用户名和密码。如果在测试时,出现出现:535 5.7.8 Error: authentication failed: another step is needed in authentication表示输入的BASE64编码有问题9.到此时配置的基本环境已经起来了,可以进行测试了提示解释失败解释方法:# vi /etc/resolv.conf #service network restart 10.新建两个用户分别是redhat和rongli,利用outlookup进行测试 同样方法,邮箱此时查看#tail /var/log/maillog,就可以看到用户redhat和rongli登录postfix服务器的信息了,如下: 测试收发信 查看/var/log/maillog四、用tls加密SMTP会话1.进入目录/etc/pki/tls/certs,运行命令# openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x5092.此时就会在当前目录下生成smtpd.cert和smtpd.key文件,移动smtpd.key到/etc/pki/tls/private/目录下3.编辑/etc/postfix/main.cf文件,加入下面的内容smtpd_use_tls = yes 是启用tls加密smtp会话smtpd_tls_cert_file = /etc/pki/tls/certs/smtp.cert TLS需要的ssl证书存放位置smtpd_tls_key_file = /etc/pki/tls/private/smtpd.key TLS需要的ssl私钥存放位置4保存退出,并重新读取配置文件5测试当出现(250 STARTTLS )说明tls已经启用了五、使用ssl加密的方法接收邮件pop3及IMAP4协议都是采用明文方式进行数据传输,不过可以通过SSL对其数据传输进行加密,在/etc/pki/tls/certs目录下输入以下命令生成密钥(dovecot.pem只是文件名可任意) 有空格 此时生成的密钥及证书,就在当前目录下的dovecot.pem。密钥及证书都在dovecot.pem里面, cp /etc/pki/tls/certs/dovecot.pem /etc/pki/tls/private/dovecot.pem就可以了#cat dovecot.pem 编辑/etc/dovecot.conf文件 在dovecot配置完成后可以通过mutt命令对pop3/pops及imap/iamps进行测试。具体方法如下:1、使用POP3方法验证Dovecotmutt -f pop:/userserver:portmutt -f pops:/userserver:port输入命令可通过pop(如使用pops方式,将下图命令中pop改为pops即可)方式收取邮件,注意是接服务器名称。mutt -f pops:/按“o”同意, 按“o” 输入密码: 使用IMAP4方法验证Dovecotmutt -f imap:/userserver:portmutt -f imaps:/userserver:port同样,输入命令可通过imap(如使用imaps方式,将下图命令中imap改为imaps即可)方式收取邮件,注意是接服务器名称。mutt -f imaps:/输入”o”同意开始通过imap连接服务器,测试也同上面的一样Outlook Express测试把用户的客户端软件outlook express的“工具”-“帐户”-“属性”-“高级” 出现这样的情况,可能是证书没有授权的原因,因为证书是自己做的,证书不是由证书颁发机构颁发的,但还可以继续使用这个服务器。六、以Web方式收发电子邮件 由于在sendmail配置时,用过了Openwebmail。所以想在postfix里使用一下SquirrelMai,Red Hat Enterprise Linux 5内置了Postfix的Web支持-SquirrelMail,但在默认情况下并没有安装。1. 将Red Hat Enterprise Linux 5的第2、3张安装盘放入光驱,加载光驱后在光盘的Server目录下分别找到SquirrelMail的RPM安装包文件php-mbstring(第二张光盘) 和squirrelmail(第三张光盘),然后使用下面的命令安装。2.配置squirrelmailSquirrelMail的主配置文件为/etc/squirrelmail/config.php。要配置SquirrelMail,可以直接修改该文件的内容,但是使用SquirrelMail的配置工具来配置更方便、更直观,配置工具是:/usr/share/squirrelmail/config/conf.pl#vi /etc/squirrelmail/config.php #/usr/share/squirrelmail/config/conf.plSquirrelMail的配置界面包括组织信息、服务器设置、目录设置、一般选项、界面主题、地址簿、插件、数据库、语言、设置IMAPservers、保存和退出等部分,这就要根据个人意向去设置了(主要的设置是在Server Settings)配置SquirrelMail的imap服务器,输入Ddovecot回车 配置Squirrelmail的缺省语言,选择“10” “1”zh_CN回车,再选择“2” “GB2312” 回车 配置Squirrelmail的域名和smtp服务器,选择“2” “1” 输入域名回车“3” “2” 回车 保存配置,选择主菜单s保存,配置将保存在创建squirremail别名#vi /etc/httpd/conf.d/squirrelmail.conf添加如下内容(默认存在,无需设置)alias /webmail /usr/share/squirrelmail启动apache服务,使squirrelmail别名生效#service httpd start3.测试:打开SquirrelMail的登录界面,如下用redhat用户登录后,记住账号是:redhat,而不是收发信测试:选择“撰写邮件”,还可以增加附件 发信箱“Sent” rongli用户登录 4.通过tls安全连接#/usr/share/squirrelmail/config/conf.pl ,选择“2”“A” “7” “y” 回车“5” “993” “回车” “B” “8” “y” 回车,之后保存退出#service httpd restart测试,不过可能连接过程有点慢Tls连接 七、安装防范病毒软件F-Prot Antivirus软件包安装和配置过程,可以通过迅雷下载F-Prot Antivirus软件包,下载地址:安装F-Prot Antivirus软件包前,请先启动SpamAssassin服务器,其中SpamAssassin(SA)是较为流行的反垃圾邮件软件,SpamAssassin利用Perl语言来对邮件内容进行规则匹配,从而达到判断过滤垃圾邮件的目的。它的判断方式是基于评分的方式,也就是说如果这封邮件符合某条规则,则给与一定分值;当累计的分值超过了一定限度时,则判定该邮件为垃圾邮件。对Sendmail、Qmail、Postfix和Exim等各种邮件平台都适用。SpamAssassin的安装过程比较简单。而在RHEL5.0 默认已经安装了,如果没有安装, spamassassin是(在第二张光盘)#service spamassassin start# rpm -ivh fp-linux-ws.rpm 出现上面的情况,并不是fp-linux-ws.rpm安装不成功,只是提示不能升级的F-Prot Antivirus病毒库而已,可以用#rpm q fp-linux-ws查看有没有安装了。若以后想对病毒库进行升级,可以输入如下命令进行升级#cd /usr/local/f-prot/tools/#./check-updates.pl由于我这里不能上网,所以升级不了,可以设定时间对病毒库进行升级,假如在星期日的5:00定时对病毒库进行升级方法如下#crontab -u root -e #crontab l u root -可以查看MailScanner软件包安装和配置过程 可以先到网上下载mailscanner软件包,之后进行解压安装,安装过程如下:#tar -zxvf MailScanner-4.80.4-1.rpm.tar.gz# cd MailScanner-4.80.4-1 如果不会安装,可以阅读# more README帮助文档# ./install.sh (执行MailScanner软件的安装命令)安装过程如下: 安装过程时间比较长,大概要30分钟左右,可以使安装在后台进行#./install.sh &更改incoming、quarantine两个目录相关用户和组的使用权限incomingquarantine修改/etc/MailScanner/目录下的MailScanner.conf文件#vi /etc/MailScanner/MailScanner.conf 修改/etc/postfix/目录下的header_checks文件,新增加以下一行内容到文件中,详细内容如下#vi /etc/postfix/header_checks 修改/etc/postfix/目录下的main.conf文件 停止Postfix服务器,因为启动MailScanner服务时会自动启动Postfix服务器启动MailScanner服务器和设置开机时自动启动:病毒检测测试添加附件:H:portfixemail病毒.txt在发送后查看日志/var/log/maillog 我做的测试不成功,是不是没有上网更新病毒库,所以扫不出病毒来?八、自动监控Postfix邮件服务器 安装源代码软件包Time-HiRes-1.9721.tar.gz File-Tail-0.99.3.tar.gz rrdtool-1.2.15.tar.gz mailgraph-1.14.tar.gz #tar zxvf Time-HiRes-1.9721.tar.gz#cd Time-HiRes-1.9721#perl Makefile.PL#make #make test#make install#cd .#tar zxvf File-Tail-0.99.3.tar.gz#cd File-Tail-0.99.3#perl Makefile.PL#make #make test#make install#cd .#tar rrdtool-1.2.15.tar.gz#cd rrdtool-1.2.15#./configure#make#make install# make site-perl-install#tar zxvf mailgraph-1.14.tar.gz#cd mailgraph-1.14.tar.gz 修改配置文件/etc/init.d/mailgraph-init#service httpd restart#/etc/init.d/mailgraph-init start在启动mailgrap-init时,会遇到上面的错误;解决方法:修改mailgraph.pl文件,保证RRDs.pm模块能包含进来。打开/usr/local/bin/mailgraph.pl文件,在第二行加上use lib /usr/local/rrdtool-1.2.15/lib/perl/;可以通过命令来查找RRDs.pm模块#find /usr -name “RRDs.pm” -print再启动mailgraph-init就不会出现刚才的错误了可是在访问会出现错误而查看web日志时,#tail -f /var/log/httpd/error_log,还是出现上面的问题根据日志,可以看出Cant locate RRDs.pm in INC,而INC是一个很多路径的集合,在这些路径里,都找不到这RRDs.pm,所以解决方法就做一个软件链接RRDs.pm,具体情况如下:再测试,还会遇下面的问题,找不到RRDs模块,即是RRDs.so,找到RRDs.so,再做一个软链接#service httpd restart再测试,就可以了编辑/var/log/www/cgi-bin/mailgraph.cgi#service httpd restart 在网上查看了一些资料,出现错误的还有一种情况,就是Cant locate File/Tail.pm in INC,这时就要上网下载安装File:Tail,不过前面已经安装了,也可以这样安装#cpancpan install Time:HiRescpan install File:Tailcpan exit或者#perl -MCPAN -e shellcpan install File:Tail)九、自动向管理员发送日志分析文件 -参考 安装postfix-pflogsumm软件包,如果没有安装,可以到第二张光盘里找到,也可以到网上找源代码。Logrotate是系统自身带的一个日志轮循程序,它的执行程序所在的目录是/usr/sbin/logrotate ,是专门对各种系统日志; Red Hat Linux 缺省的crontab 来每天运行logrotate(syslogd,mail)进行轮循的程序logrotate 的配置文件是 /etc/logrotate.conf。 主要参数:compress 通过gzip 压缩转储以后的日志nocompress 不需要压缩时,用这个参数copytruncate 用于还在打开中的日志文件,把当前日志并截断nocopytruncate 备份日志文件但是不截断create mode owner group 转储文件,使用指定的文件模式创建新的日

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论