我正在运行 Zimbra 8.8.9,并尝试限制单个用户在使用 smtp-auth 进行身份验证后可以通过 smtp 发送的消息数量。目的是在我的用户密码被垃圾邮件发送者猜出/获取的情况下限制损失。
Zimbra 将 CBPolicyD(www.policyd.org)作为 zimbra-mta 包的一部分发布,但默认情况下它是禁用的。
我按照以下方法操作https://wiki.zimbra.com/wiki/How-to_for_cbpolicyd并启用策略:
zmprov ms zimbra.mydomain.tld +zimbraServiceInstalled cbpolicyd
zmprov ms zimbra.mydomain.tld +zimbraServiceEnabled cbpolicyd
我还激活了 Web 界面:
sudo -s
cd /opt/zimbra/data/httpd/htdocs
ln -s ../../../common/share/webui
并设置 Zimbra 的 Apache 来为这个新目录提供服务:
- 编辑/opt/zimbra/conf/httpd.conf
- 添加
Alias /webui /opt/zimbra/common/share/webui/
到文件末尾 - 重启 Zimbra
我编辑了配置文件以/opt/zimbra/common/share/webui/includes/config.php
指向正确的 sqlite db:
$DB_DSN="sqlite:/opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb";
最后在 zimbra 的 crontab 末尾添加了一个 cronjob 来定期清理跟踪数据库:
# ZIMBRAEND -- DO NOT EDIT ANYTHING BETWEEN THIS LINE AND ZIMBRASTART
0 * * * * cat /opt/zimbra/log/clean_cbpolicyd_daily.sql | sqlite3 /opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb
我找不到如何使用 policyd webui 设置速率限制的分步示例,并且界面使用起来远非直观。
我如何制定每个帐户发送的电子邮件数量策略并限制其发送速率?
答案1
首先请注意,policyd webui 不受密码保护,除非您采取额外措施,即.htaccess
向该目录添加一个并向添加AllowOverride AuthConfig
一个httpd.conf
:
<Directory /opt/zimbra/common/share/webui>
AllowOverride AuthConfig
</Directory>
另请注意,默认情况下,policyd 仅在 Zimbra 的明文 Web 界面上可用,即http://zimbra.domain.tld:7780/webui/index.php
采取适当措施确保 Web 界面的安全。
去http://zimbra.domain.tld:7780/webui/policy-main.php并选择“添加”。输入以下内容:
- 名称:smtp-auth-limit
- 优先级:1
- 描述:任何东西
返回http://zimbra.domain.tld:7780/webui/policy-main.php并选择新的“smtp-auth-limit”策略,然后选择操作“更改”。将“禁用”设置为“否”并提交。
现在回到http://zimbra.domain.tld:7780/webui/policy-main.php再次选择‘smtp-auth-limit’并选择操作“成员”。
选择“添加”并输入以下内容:
- 来源:$*
- 目的地:任意
- 评论:随便
现在当心点击“返回会员”而不是“返回政策”,否则您会迷失方向。
如果您很小心的话,请选择来源为“$*”的行并选择操作“更改”。
如果你不小心,回到http://zimbra.domain.tld:7780/webui/policy-main.php选择“smtp-auth-limit”策略,操作“成员”,选择来源“$*”的行,然后选择操作“更改”。
将“禁用”设置为“否”并提交。
最后去http://zimbra.domain.ltd:7780/webui/quotas-main.php并选择操作“添加”。输入以下内容:
- 名称:速率限制 smtp 身份验证
- 轨道:SASL用户名:用户名
- 周期:86400
- 链接到策略:从下拉菜单中选择“smtp-auth-limit”
- 判决结果:延期
- 数据:你说话太快了(这条信息会显示给发送者)
- 在此停止处理:是
返回http://zimbra.domain.ltd:7780/webui/quotas-main.php并选择“smtp-auth-limit”策略,选择操作“更改”。将禁用设置为“否”并提交。
再次返回http://zimbra.domain.ltd:7780/webui/quotas-main.php并选择‘smtp-auth-limit’策略,选择操作“限制”。
选择操作“添加”并输入以下内容,假设您想允许每个帐户每 86400 秒最多发送 200 条消息:
- 类型:消息计数
- 计数器限制:200
- 评论:随便
现在当心,您知道该怎么做,点击“返回配额限制”,否则您会迷路的。选择计数器限制 = 200 的行,然后选择操作“更改”。将禁用设置为“否”并提交。