ペアで定義された後置グローバルホワイト/ブラックリスト


0

次のオプションを使用してMYSQLを使用して、postfixでグローバルホワイトリストを定義しました。

smtpd_recipient_restrictions =
        reject_invalid_hostname,
        check_client_access mysql:/etc/postfix/client_whitelist
        check_sender_access mysql:/etc/postfix/sender_whitelist
        check_recipient_access mysql:/etc/postfix/recipient_whitelist
        permit_mynetworks,reject

の内容 /etc/postfix/client_whitelist

host = localhost:3306
user = root
password = password
dbname = postfix
query = SELECT restriction FROM client_whitelist WHERE client = "%s" AND status = "1";

mysqlテーブル

+---------------+-------------+--------+
| client        | restriction | status |
+---------------+-------------+--------+
| 192.168.66.18 | OK          |      1 |
| 192.168.66.92 | OK          |      1 |
| 192.168.66.93 | REJECT      |      1 |
+---------------+-------------+--------+

そして、私は送信者と受信者に同じ表を持っています。私の主な問題は、ポストフィックスの背後に複数のドメインがあり、受信者であるアカウントを考慮してクライアント/送信者をフィルタリングしたいことです。例えば:

Mail from 192.168.66.92 and sender "user1@test.com" IS ALLOW to "user2@domain1.com"

Mail from 192.168.66.92 and sender "user1@test.com" IS NOT ALLOW to "user2@domain2.com"

Mail from 192.168.66.18 IS ALLOW for recipient or domain "domain1.com"

Mail from 192.168.66.18 IS NOT ALLOW for recipient or domain "domain2.com"

これを後置で実装する方法はありますか?私はグーグルで検索していますが、運はありません。

別の方法では、「後置プロキシ」を配置して別の後置インスタンスにリダイレクトし、各インスタンスが各ドメインをフィルタリングすることを考えていました。しかし、たとえ可能であっても、この環境のパフォーマンスについてはわかりません。

回答:


2

これは、1つのアクセスチェックでは不可能です(入力した値(クライアント、送信者、または受信者のいずれか、使用したアクセスチェックに基づく)のうちの1つのみ)。

これは、後置アクセステーブルの機能に固有のものです。

この問題を回避するには、postfwdなどのポリシーサービス(これらすべての値に一度にアクセスできる)を使用するか、制限クラスを使用します

これにより、たとえば、クライアントに制限クラスを実装し、OKまたはREJECTの代わりにアクセスチェックを結果として返すことができます

アクセスマップと可能な結果の詳細については、アクセスのマニュアルページ参照してください。

「ホワイトリスト」は、結果に「OK」と「拒否」の両方が含まれている場合、使用しているものの有用な用語ではないことに注意してください。


指示をありがとう、制限クラスとpostfwdを見ていきます。
magiza83
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.