after-queue 統合
2024年7月4日
ID 43923
after-queue 統合を使用し、メッセージを Kaspersky Security 8 for Linux Mail Server に転送してスキャンし Postfix メールサーバーに戻す場合、次の条件を満たす必要があります:
- フィルターを設定して、Postfix メールサーバーからのメッセージを
socket-in
を使用して傍受する必要があります。このソケットは、以下の手順のステップ 9 で、製品の設定ファイルに指定されます。 - フィルターは、そのメッセージをスキャンのために
scanner
ソケット経由で Scan Logic に転送する必要があります。このソケットは、初期設定スクリプトの実行中に指定されます。 - フィルターは、
socket-out 経由でメッセージを Postfix メールサーバーに戻す必要があります。
このソケットは、以下の手順のステップ 9 で、製品の設定ファイルに指定されます。
Kaspersky Security 8 for Linux Mail Server が Postfix メールサーバーと連携している時、socket-in はネットワークソケットのみを参照することができます
。scanner
と socket-out
はネットワークソケットまたはローカルソケットを参照できます。
Kaspersky Security 8 for Linux Mail Server と Postfix の after-queue 統合を実行するには:
- 設定ファイル main.cf を開きます。
- ファイル main.cf の末尾に次の文字列を追加します:
#klms-begin-afterqueue-filter
content_filter = klms_postfix-afterqueue:$sock_postfix_format
#klms-end-afterqueue-filter
ここで、
$sock_postfix_format
は、フィルターが受信接続の待ち受けに使用する IP アドレスとポート番号であり、<IP アドレス>:<ポート>
の形式(ネットワークソケットの場合)で指定します。 - 設定ファイル master.cf を開きます。
- ファイル master.cf の末尾に次の文字列を追加します:
- inet ソケットの場合:
#klms-begin-afterqueue-filter
klms_postfix-afterqueue unix - - n - 20 smtp
-o smtp_send_xforward_command=yes
127.0.0.1:$forward_port inet n - n - 10 smtpd
-o content_filter=
-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
-o smtpd_tls_security_level=none
-o message_size_limit=0
#klms-end-afterqueue-filter
ここで、文字列
127.0.0.1:$forward_port inet n - n - 10 smtpd
は、Postfix がフィルターから処理されたメッセージを受け入れ、$forward_port でデータをリッスンできるようにするために必要です。 - Unix ソケットの場合:
#klms-begin-afterqueue-filter
klms_postfix-afterqueue unix - - n - 20 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
-o smtpd_tls_security_level=none
-o message_size_limit=0
#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=afterqueue
START_SMTP_PROXY=1
- ファイル /etc/opt/kaspersky/klms/klms_filters.conf(Linux 環境)または /usr/local/etc/kaspersky/klms/klms_filters.conf(FreeBSD 環境)を開きます。
[global]
セクションのheader-guard
設定で値true
を指定します。[smtp_proxy]
セクションで、次の設定を指定します:socket-in=<IP アドレスとポート番号>
(ウィザードのステップ 2 で$sock_postfix_format
のために指定した値)socket-out=<IP アドレスまたはポート番号>
または<UNIX ソケット>
(手順のステップ 4 で、$forward_port or $unix_socket_name
のために指定した値。形式は、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=inet:10025@127.0.0.1
socket-out=unix:/var/spool/postfix/public/ksmg_forward_sock
- klms サービスを再開します。
- Postfix メールサーバーを再起動します。