在 Zimbra 8.8.x 上设置 policyd,以限制每个帐户可以使用 smtp-auth 发送的消息数量

在 Zimbra 8.8.x 上设置 policyd,以限制每个帐户可以使用 smtp-auth 发送的消息数量

我正在运行 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 的行,然后选择操作“更改”。将禁用设置为“否”并提交。

相关内容