before-queue 統合

2024年7月4日

ID 43928

before-queue 統合を使用し、メッセージを Kaspersky Security 8 for Linux Mail Server に転送してスキャンし Postfix メールサーバーに戻す場合、次の条件を満たす必要があります:

  • フィルターを設定して、Postfix メールサーバーからのメッセージを socket-in を使用して傍受する必要があります。このソケットは、以下の手順のステップ 8 で、製品の設定ファイルに指定されます。
  • フィルターは、そのメッセージをスキャンのために scanner ソケット経由で Scan Logic に転送する必要があります。このソケットは、初期設定スクリプトの実行中に指定されます。
  • フィルターは、socket-out 経由でメッセージを Postfix メールサーバーに戻す必要があります。このソケットは、以下の手順のステップ 8 で、製品の設定ファイルに指定されます。

Kaspersky Security 8 for Linux Mail Server が Postfix メールサーバーと統合されている場合、socket-inscanner、および socket-out は、ネットワークソケットまたはローカルソケットを参照できます。

Kaspersky Security 8 for Linux Mail Server と Postfix の before-queue 統合を実行するには:

  1. 設定ファイル master.cf を開きます。
  2. ファイル master.cf で、

    smtp inet n - n - - smtpd

    の後に、次の各行を追加します:

    #klms-postfix-prequeue-start

    -o smtpd_proxy_filter=$sock_postfix_format

    -o smtpd_proxy_options=speed_adjust (Postfix 2.7 以降との統合の場合)

    #klms-postfix-prequeue-end

    ここで、$sock_postfix_format は、フィルターが受信接続の待ち受けに使用する IP アドレスとポート番号であり、<IP アドレス>:<ポート> の形式(ネットワークソケットの場合)で指定します。

  3. 設定ファイル master.cf の末尾に次の文字列を追加します:
    • inet ソケットの場合:

      #klms-begin

      127.0.0.1:$forward_port inet n - n - 10 smtpd

      -o receive_override_options=no_unknown_recipient_checks, no_header_body_checks,no_address_mappings

      -o smtpd_helo_restrictions=

      -o smtpd_client_restrictions=

      -o smtpd_sender_restrictions=

      -o smtpd_recipient_restrictions=permit_mynetworks,reject

      -o mynetworks=127.0.0.0/8,[::1]/128

      -o smtpd_authorized_xforward_hosts=127.0.0.0/8,[::1]/128

      #klms-end

      ここで、文字列 127.0.0.1:$forward_port inet n - n - 10 smtpd は、Postfix がフィルタから処理されたメッセージを受け取り、$forward_port でデータをリッスンできるようにするために必要です。

    • Unix ソケットの場合:

      #klms-begin

      klms_postfix-prequeue unix - - n - 10 smtp

      -o smtp_send_xforward_command=yes

      $unix_socket_name unix n - n - 100 smtpd

      -o receive_override_options=no_unknown_recipient_checks, no_header_body_checks,no_address_mappings

      -o smtpd_helo_restrictions=

      -o smtpd_client_restrictions=

      -o smtpd_sender_restrictions=

      -o smtpd_recipient_restrictions=permit_mynetworks,reject

      -o mynetworks=127.0.0.0/8,[::1]/128

      -o smtpd_authorized_xforward_hosts=127.0.0.0/8,[::1]/128

      #klms-end

      ここで、文字列 $unix_socket_name unix n - n - 100 smtpd は、Postfix がフィルターから処理されたメッセージを受け入れ、$unix_socket_name unix ソケットでデータをリッスンできるようにするために必要です。

  4. ファイル /var/opt/kaspersky/klms/installer.dat(Linux 環境)または /var/db/kaspersky/klms/installer.dat(FreeBSD 環境)を開きます。
  5. 次の行をファイルに追加します:

    POSTFIX_INTEGRATION_TYPE=prequeue

    START_SMTP_PROXY=1

  6. ファイル /etc/opt/kaspersky/klms/klms_filters.conf(Linux 環境)または /usr/local/etc/kaspersky/klms/klms_filters.conf(FreeBSD 環境)を開きます。
  7. [global] セクションで header-guardfalse に設定します。
  8. [smtp_proxy] セクションで、次の設定を指定します:

    $sock_postfix_format のウィザードのステップ 2 で指定した socket-in=<IP アドレスとポート番号> または <UNIX ソケット>

    socket-out=<IP アドレスまたはポート番号> または <UNIX ソケット>$forward_port or $unix_socket_name の手順のステップ 3 で指定した値。形式は、inet:<ポート>@<IP アドレス>(ネットワークソケットの場合)または unix:<UNIX ソケット>(UNIX ソケットの場合))。

    例 1:

    socket-in=inet:10025@127.0.0.1

    socket-out=inet:10026@127.0.0.1

    例 2:

    socket-in=unix:/var/run/ksmg/ksmg_smtp_sock

    socket-out=unix:/var/spool/postfix/public/ksmg_forward_sock

  9. klms サービスを再開します。
  10. Postfix メールサーバーを再起動します。

この記事はお役に立ちましたか?
改善できる点がありましたらお聞かせください。
フィードバックをいただき、ありがとうございました。改善に向けて取り組んでまいります。
フィードバックをいただき、ありがとうございました。改善に向けて取り組んでまいります。