iredmail  0.8.7 新版本 Roundcube Webmail 的相应配置文件变了。位置在:
/var/www/roundcubmail-1.0.1/config/defaults.inc.php
在387行,改为:
$config['username_domain'] = '%d';

在此留下关闭fail2ban的方法(其实,我很不情愿,那是多么好的东东呀!)
由于是防火墙的映射地址(172.18.81.20)被阻挡,把这个地址除外就可以了,方法如下:
# vim /etc/fail2ban/jail.conf
其中,头部[DEFAULT]默认区,有个除外设置
ignoreip = 127.0.0.1 后加入 172.18.81.20 ,如下
ignoreip = 127.0.0.1 172.18.81.20
重启服务
# fail2ban-client reload (注:fail2ban 是通过 fail2ban-client 调用 fail2ban-server 服务及守护进程)
以上处理好像还没解决问题,还要在服务器启动时不启动fail2ban服务,具体在以下路径文件:
/etc/rc.d/rc3.d/S92fail2ban 改为 K92fail2ban(会linux的朋友,你懂得!)
# cd /etc/rc.d/rc3.d/
# mv S92fail2ban K92fail2ban
# fail2ban-client stop
这才算差不多了。

参考文章:使用 fail2ban 自动封IP  http://linux.chinaunix.net/techdoc/net/ … 9293.shtml

感谢老大回复,您说的我是明白的。amavis部分可以显示后面的地址(125.44.244.76),估计是寄邮件服务器的所属域地址,攻击地址不一定是邮箱域地址,对吗?甚至有时也无法分析出源域地址。
只是不理解fail2ban.sh是如何的防护机制?好像有计数器和计时器什么的。

服务器环境:rhel5.6 + 硬件防火墙地址映射(172.18.81.20)
邮件服务器版本:iredmail-0.7.30-rc2

问题提出:本邮件服务器在防火墙后面,且外部访问被统一映射成了一个地址(172.18.81.20),在受到恶意访问时激发了fail2ban服务的ban和unban(禁止和解禁)机制,造成服务器随机出现访问中断,解禁时间间隔60分钟(查看日志知道的)。现阶段还不具备将邮件服务器迁至DMZ区,故暂时禁用failban服务。

建议改进:查看管理员邮件日志里的amavis部分,发现映射地址(172.18.81.20)后可以显示真实的来源地址(125.44.244.76),如下:
##################################################################
  --------------------- amavis Begin ------------------------
11 messages checked and passed.

**Unmatched Entries**
Passed SPAM, MYNETS LOCAL [172.18.81.20] [125.44.244.76]

能否将fail2ban服务做个选项,通过真实的地址来判断是否是攻击源,来激发ban和unban机制。

“spam”标签,原来这是amavisd-new 在这里起的作用(只不过有时个别不准):

   * 负责调用 ClamAV 对邮件进行病毒扫描
   * 负责调用 SpamAssassin 对邮件内容进行过滤

SPAM邮件进入垃圾箱

如果用户是使用邮件客户端,是无法收取到junk的邮件,所以iredmail缺省是让spam的邮件进入收件箱。如果我们希望让spam的邮件,不进入收件箱,直接存在垃圾邮箱的文件夹里。

# cd /var/vmail/sieve
# cp dovecot.sieve.sample dovecot.sieve

    重启dovecot 服务

# /etc/init.d/dovecot restart

这样,RoundCube Mail就不需要在“邮箱设置”里定义“过滤器”了。

参考:http://wiki.ubuntu.org.cn/index.php?title=IRedMail&variant=zh-cn

感谢老大的回复!我根据以上main.inc.php文档说明,现已测试通过。

参考文档:Roundcube Webmail 安装配置篇(http://blog.dvxj.com/pandola/roundcube-install-config.html)

通过查看Roundcube Webmail的主配置文件main.inc.php好像可以解决,本文档的说明里有描述:

// Automatically add this domain to user names for login
// Only for IMAP servers that require full e-mail addresses for login
// Specify an array with 'host' => 'domain' values to support multiple hosts
// Supported replacement variables:
// %h - user's IMAP hostname
// %n - http hostname ($_SERVER['SERVER_NAME'])
// %d - domain (http hostname without the first part)
// %z - IMAP domain (IMAP hostname without the first part)
// For example %n = mail.domain.tld, %d = domain.tld

将如下配置:
#$rcmail_config['username_domain'] = "***.***"; (注:***.***为自己安装时指定的域名)
改为:
$rcmail_config['username_domain'] = "%d";

Roundcube Webmail能根据安装时设定的初始域名省略域,正常登陆邮箱。但新增的域邮箱就不能这样,必须输入完整的邮箱格式,才能使用。

能否根据地址栏输入的域名自动判断所属域名正常登陆?使用户体验良好。

又有个问题:为何清除blacklist黑名单上的记录后,可以收到邮件了,但在邮件的标题上前缀了“spam”,百度后知道这是提示“发垃圾邮件”,这又是为何呢?

感谢“木鸟”的提示!

的确在policyd数据库里的blacklist表里发现“172.18.81.20 ”被阻挡,可能需要调整邮件服务器地址,访问地址无需映射成统一的“172.18.81.20”,不然眉毛胡子就一把抓了,分不清哪是恶意访问哪是友好访问了。

抱歉!以上报错信息是QQ邮箱发送邮件到iredmail失败后的退件提示的信息,不是iredmail的日志信息。显然是被自己的邮件服务器拒绝了。

贴上maillog昨天相关日志内容(***@***.***代表本地的邮箱,***@sina.com代表新浪的邮箱,***@qq.com代表腾讯邮箱。172.18.81.20是公网访问到本地的统一的映射地址。vm202是邮件服务器的主机名。)

Jul 20 11:49:27 vm202 policyd: connection from: 127.0.0.1 port: 39930 slots: 1 of 2044 used
Jul 20 11:49:27 vm202 policyd: rcpt=167, blacklist=block, host=172.18.81.20 (unknown), from=***@sina.com, to=***@***.***, size=1140
Jul 20 19:49:27 vm202 postfix/smtpd[14448]: NOQUEUE: reject: RCPT from unknown[172.18.81.20]: 554 5.7.1 <***@***.***>: Recipient address rejected: Policy Rejection- Abuse. Go away.; from=<***@sina.com> to=<***@***.***> proto=ESMTP helo=<mail234-183.sinamail.sina.com.cn>
Jul 20 19:49:27 vm202 postfix/smtpd[14446]: disconnect from unknown[172.18.81.20]
Jul 20 19:49:27 vm202 postfix/smtpd[14448]: disconnect from unknown[172.18.81.20]
Jul 20 19:52:47 vm202 postfix/anvil[14449]: statistics: max connection rate 2/60s for (smtp:172.18.81.20) at Jul 20 19:49:25
Jul 20 19:52:47 vm202 postfix/anvil[14449]: statistics: max connection count 2 for (smtp:172.18.81.20) at Jul 20 19:49:25
Jul 20 19:52:47 vm202 postfix/anvil[14449]: statistics: max cache size 1 at Jul 20 19:49:24
Jul 20 19:52:58 vm202 postfix/smtpd[14483]: connect from unknown[172.18.81.20]
Jul 20 11:52:59 vm202 policyd: connection from: 127.0.0.1 port: 41430 slots: 0 of 2044 used
Jul 20 11:52:59 vm202 policyd: rcpt=168, blacklist=block, host=172.18.81.20 (unknown), from=***@qq.com, to=***@***.***, size=0
Jul 20 19:52:59 vm202 postfix/smtpd[14483]: NOQUEUE: reject: RCPT from unknown[172.18.81.20]: 554 5.7.1 <***@***.***>: Recipient address rejected: Policy Rejection- Abuse. Go away.; from=<***@qq.com> to=<***@***.***> proto=SMTP helo=<smtpbg240.qq.com>
Jul 20 19:52:59 vm202 postfix/smtpd[14483]: disconnect from unknown[172.18.81.20]
Jul 20 19:54:47 vm202 postfix/smtpd[14493]: connect from unknown[172.18.81.20]

老大分析正确!的确是“Policy-daemon”的提示信息,请给下一步的提示,谢谢了!

收件人邮件地址(****@***.***)不存在,邮件无法送达。
host mail.***.***[*.*.*.*] said: 554 5.7.1 : Recipient address rejected: Policy Rejection- Abuse. Go away. (in reply to RCPT TO command)

无法收到邮件,显然是Dovecot的问题,以前公网上发送的邮件可以收到的,现在不行了。

本地不同域名的账号可以互相收发邮件。

不知故障从哪里查起?

安装环境:rhel5.6

安装过程:将安装盘挂载到media #mount /dev/cdrom /media,然后配本地的yum源(url=file:///media/Server/),#yum clean all,#yum list后显示有包文件了,以后一路安装顺利完成。

故障起因:用#setup 配防火墙,额的神呀,把原来iredmail自定义的防火墙规则都破坏了(以后才知道的),经过比较安装正确的防火墙规则;关键的是没搞清楚状况又重新安装了一遍iredmail(后来才知道这宝贝是不能随便重新安装的,不过现在也没有出新的卸载程序),这下好,Roundcube Webmail 不能正常访问了,白版一块,什么也没有,本来想发帖子在群里求助的,看来问题古怪也没人遇到过,自力更生吧。

解决办法:用#diff 与正确的文档(我在其他机器上装成功过的)比较内容,比较发现 roundcubemail/config/main.ine.php 的第322行 $rcmail_config['plugins']=array("password","managesieve");“"password","managesieve"”重复了,删除多余的部分,问题解决!!

CENTOS应该是Redhat RHEL企业版的社区版本,应该参照rhel方式配置web服务,如果想偷懒,不搭建虚拟主机的前提下,以root身份修改:
#vim /etc/httpd/conf/httpd.conf
在以上配置文件的292行(用“:set nu” 显示行数),将:
DecumentRoot /var/www/html
修改成:
DecumentRoot  /usr/share/apache2/roundcubemail/
修改完配置文件后,记着重启apache服务:
#/etc/init.d/httpd restart

老大没有说明是在哪个操作系统环境下,本人以ubuntu 10.4.2 环境为例,介绍如下:
# cd /etc/apache2/sites-enabled
# vim 000-defualt
修改 DecumentRoot /var/www,就系统默认的网站跟目录,改成如下路径:
/usr/share/apache2/roundcubemail/
这位网友又要问了,我是怎么知道的了,上面的路径下还有一个文件:default-ssl,看后面的ssl可以猜出这是配置安全访问的配置文件(就是https这样的管理员后台),其中有个mail的访问别名就是要换成的路径。

16

(4 篇回复,发表在 iRedMail 技术支持)

非常感谢你的提示,重启Unix 反病毒工具(扫描器守护进程clamav),问题解决!
# /etc/init.d/clamav-daemon restart

重启服务器,查看进程,若有记录显示,证明clamav服务已经自动加载。ubuntu就是好!
# ps ax |grep clamav

17

(4 篇回复,发表在 iRedMail 技术支持)

补充:邮件服务器不在公网上。简单的mail命令方式可以发送、成功接收的。

18

(4 篇回复,发表在 iRedMail 技术支持)

环境:ubuntu10.4.2 + iRedMail 0.6.1
web界面www账号正常登陆,发送完成,没有报错。
使用“iRedMail命令行测试邮件”测试成功。(参考:http://www.ithov.com/Linux/Ubuntu/services/100682.shtml)
但无法接到邮件。
使用:“ postqueue -p ” 查看队列,报错如下:
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
CEB641800C23      753 Tue Mar  1 14:18:08  www@vm202.ns.cjw
(host 127.0.0.1[127.0.0.1] said: 451 4.5.0 Error in processing, id=14392-12, virus_scan FAILED: AV: ALL VIRUS SCANNERS

FAILED (in reply to end of DATA command))
                                         zhangl@vm201.ns.cjw

7ABB91800C17    95727 Tue Mar  1 14:16:07  www@vm202.ns.cjw
(host 127.0.0.1[127.0.0.1] said: 451 4.5.0 Error in processing, id=14393-12, virus_scan FAILED: AV: ALL VIRUS SCANNERS

FAILED (in reply to end of DATA command))
                                         root@vm201.ns.cjw

2D0EB1800417      404 Tue Mar  1 20:01:43  www@vm202.ns.cjw
(host 127.0.0.1[127.0.0.1] said: 451 4.5.0 Error in processing, id=14392-13, virus_scan FAILED: AV: ALL VIRUS SCANNERS

FAILED (in reply to end of DATA command))
                                         zl2826@gmail.com

D3D4C1800C05      563 Tue Mar  1 14:12:56  www@vm202.ns.cjw
(host 127.0.0.1[127.0.0.1] said: 451 4.5.0 Error in processing, id=14393-13, virus_scan FAILED: AV: ALL VIRUS SCANNERS

FAILED (in reply to end of DATA command))
                                         zl2826@gmail.com

-- 97 Kbytes in 4 Requests.