Zimbra 8.8.9を実行していますが、smtp-authで認証した後、1人のユーザーがsmtp経由で送信できるメッセージの数をレート制限しようとしています。目的は、私のユーザーのパスワードの1つがスパマーによって推測/取得された場合の被害を制限することです。
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をセットアップします。
Alias /webui /opt/zimbra/common/share/webui/
を追加します/opt/zimbra/common/share/webui/includes/config.php
の設定ファイルを編集して、適切なsqlite dbを指すようにしました。
$DB_DSN="sqlite:/opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb";
そして最後にcronjobを追加して、zimbraのcrontabの最後で追跡データベースを定期的にクリーンアップします。
# 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
ポリシー付きのWebuiを使用してレート制限を設定する方法の段階的な例を見つけることができませんでした。また、インターフェースは直感的に使用するにはほど遠いものです。
各アカウントから送信された電子メールをカウントするポリシーを設定し、それらをレート制限するにはどうすればよいですか?
最初に、追加の対策を講じない限り、ポリシー付きの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 に移動し、「追加」を選択します。次のように入力します:
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 に移動し、[アクション] [追加]を選択します。次のように入力します:
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のメッセージを送信できるようにする場合は、[アクション] [追加]を選択して次のように入力します。
今注意してください、あなたはドリルを知っているので、「クォータ制限に戻る」をクリックしないと、道に迷ってしまいます。 Counter Limit = 200の行を選択し、「アクション」「変更」を選択します。無効を「いいえ」に設定して送信します。