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-in
、scanner
、および socket-out
は、ネットワークソケットまたはローカルソケットを参照できます。
Kaspersky Security 8 for Linux Mail Server と Postfix の before-queue 統合を実行するには:
- 設定ファイル master.cf を開きます。
- ファイル 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 アドレス>:<ポート>
の形式(ネットワークソケットの場合)で指定します。 - 設定ファイル 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 ソケットでデータをリッスンできるようにするために必要です。
- inet ソケットの場合:
- ファイル /var/opt/kaspersky/klms/installer.dat(Linux 環境)または /var/db/kaspersky/klms/installer.dat(FreeBSD 環境)を開きます。
- 次の行をファイルに追加します:
POSTFIX_INTEGRATION_TYPE=prequeue
START_SMTP_PROXY=1
- ファイル /etc/opt/kaspersky/klms/klms_filters.conf(Linux 環境)または /usr/local/etc/kaspersky/klms/klms_filters.conf(FreeBSD 環境)を開きます。
[global]
セクションでheader-guard
をfalse
に設定します。[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
- klms サービスを再開します。
- Postfix メールサーバーを再起動します。