E-Post Mail Server Enterprise II 20230929差分 掲載日: 2023-10-05


[修正内容]
サービスプログラムのうち EPSTRS が v4.AG へアップ、EPSTDS が v4.79 へアップします。
EPSTPOP3S は v4.49 へアップ、EPSTIMAP4S は v4.678 へアップします。
EPSTMANAGER は v4.33 のまま、EPSTCONTROL は v4.35 のまま変更ありません。
IPWCS については v1.15 のまま変更ありません。
SSL関連のopenssl 1.1.1系ライブラリ libssl-1_1.dll/libcrypto-1_1.dll は v1.1.1u へアップするとともに、openssl 3.1.0系ライブラリへ移行、libssl-3.dll/libcrypto-3.dll v3.1.1 が追加されます。
SSL関連のopensslライブラリDLL、ssleay32.dll/libeay32.dll は v1.0.2q のまま変更ありません。
EPSTAVSは v0.535 へアップ、MODIFYS、Kasp.exe、AUTOUPDATE は変更ありません。
Kasp.dll は v1.0.0.3 のまま変更ありません。unmail.dll が2019.6.6バージョンのまま変更ありません。

[EPSTRS]
 v4.AC 2021.12.13
 1.特定接続元IPアドレスからの複写転送先指定を無効にする設定テーブル追加した。
 ※設定テーブルは、"[プログラムインストールフォルダ]\ccdisableip.dat" に無効にする接続元IPアドレスを記載します。
  -----------------------------------------------------
  書式) [接続元IP]
  -----------------------------------------------------
  記述例)
  -----------------------------------------------------
  127.0.0.1
  10.0.1.* (*でワイルドカード指定も可)
   :
  xxx.xxx.xxx.xxx
  -----------------------------------------------------
 2.中継の制限(effect.dat)テーブルの設定でIPv6接続時に不正な判定が行われないようにした。
 3.中継の制限(effect.dat)テーブル等の設定に対しIPv6アドレスプレフィックスで定義可能にした。
 4.異なる複数のIPv6アドレスが指定されているとサービス起動に失敗しないようにした。
 v4.AD 2021.12.31
 1.添付分離で'Content-Type'ヘッダより先に'Content-Transfer-Encoding'ヘッダがあると'Content-Transfer-Encoding'ヘッダが無視される不具合の修正。
 2.上長承認とセキュアハンドラ有効時のホワイト&ブラックリスト用のアドレス複数個のワイルドカード指定ができるようにした。
 v4.AE 2022.04.28
 1.リッスンしたIPアドレスのFQDNをホスト名として優先するようにした。
  HKEY_LOCAL_MACHINE
  →SOFTWARE
   →EMWAC
    →IMS
     →LISTENADDRPRI (DWORD デフォルト=1) 1:優先する 0:優先しない(ホスト名)
 v4.AF 2023.03.02
 1.Received:ヘッダに接続時のTLSバージョンとCipherの表記を追加できるようにした。
  ヘッダ編集時の変数名は(&SSLINFO または、&TLSINFO)
 2.本文中の最初に記載されているメールアドレスと、FROMヘッダと一致するか否かの判定(EMOTET対策フィルタ)オプション(#COMPARE_FROM_VS_BODY_EMAIL#)を追加した。
  メールフィルタに設定する場合
  '------------------------------------------------------
  Virus:ALERT EMOTET?       ←変更可
  Comp:1              ←変更不可
  Tag:[ALERT EMOTET?]       ←変更可
  From:*              ←変更不可
  Content-Type:*multipart/mixed;* ←変更不可
  Body:
  #COMPARE_FROM_VS_BODY_EMAIL#   ←変更不可
  BodyEnd:
  Level:310            ←変更可
  VirusEnd:
  '------------------------------------------------------
  ※上記指定(Comp:1オプション)を有効にするための設定を行う必要があります。
  [メール作業フォルダ]\REG\SOFTWARE\EMWAC\IMS\MailFilterUp.1 (デフォルト値=0 / フィルタ処理の強化 0:しない 1:する。'*[STRING]*'のようなワイルドカード指定が可能になります。)
 3.RFC5831(821/2821) でエンベロープFROMの書式違反("MAIL FROM: <xxx>" ':'と'<'間にスペースあり)か否かの判定を行うため、Received:ヘッダ編集ファイル(header.dat)に新たに変数名(&ENVEJUGE)を追加した。
  注意:変数名(&ENVEJUGE)は、Received:ヘッダに挿入しないで下さい。
    3.1 別の拡張ヘッダとして(例 X-epost-envelope-spaces:&ENVEJUGE)別行に追加し判定処理はメールフィルタへ設定する必要があります。
      ------------------------------------------------------
      (header.datへの設定例)
      ------------------------------------------------------
      X-epost-envelope-spaces:&ENVEJUGE
      Received: from &HELO (unverified [&ORIGIN-IP]) by &MTA-NAME
        (&SOFT-NAME &SOFT-VER) with ESMTP
        &SSLINFO
        id <&MSG-ID@&MTA-NAME>
        &PER{for <&RECIPIENT>}; &DATETIME
      ------------------------------------------------------
    3.2 設定後の判定処理はメールフィルタで行います
      ------------------------------------------------------
      (メールフィルタへの設定例)
      ------------------------------------------------------
      Virus:ALERT RFC5321
      Level:300
      Unique-Header:X-epost-envelope-spaces:yes
      Tag:[RFC5321 MAIL FROM: <]
      VirusEnd:
      ------------------------------------------------------
 4.メールフィルタのファイルにバイナリコードが含まれていると処理がスキップしてしまう不具合の修正。
 5.RSETコマンドでRSTファイルが削除されない条件によって削除されなかった不具合の修正。
 6.署名鍵入りメールの添付分離を行わないようにするようにした。(署名鍵が分離されるとメーラー側で正常に表示されない不具合の修正)
 v4.AG 2023.08.21
 1. openssl 1.1.1系からopenssl 3.1.0系ライブラリへ移行した。
 2. headr.datファイルに、Reply-Toヘッダ、Senderヘッダ、Return-Pathヘッダを定義した際に重複登録されないようにした。
 3. header.datにユニーク値生成変数(UNIQID)を追加した。
 4. XAOUTH2認証オプションを機能追加した。
  [手順] oauth2_server_phpでOAuth2サーバを設定した場合。
  (参照:https://bshaffer.github.io/oauth2-server-php-docs/)
  1).レジストリへの追加
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTRS
      →SMTPAUTHMode 文字列で"XOAUTH2" を手動で追加。
  2).認証に使用するアカウントのフォルダ内に"apop.dat"というファイルを作成。(空欄で可)
  3).認証に使用するアカウントのフォルダ内に"oauth2.dat"というファイルを作成し、以下行を認証サーバのアドレスに合わせて設定する。
  [OAuth2_Server_PHPの場合]
   smtp [送信者のメールアドレス] curl https://[認証サーバ/path]/resource.php -s -d access_token=%%s
   もしくは、HTTPヘッダに埋め込み
   smtp [送信者のメールアドレス] curl https://[認証サーバ/path]/resource.php -s -H "Authorization: Bearer %%s"
  [Microsoft Azure ADの場合] Microsoft Azure portalに於いて[アプリの登録]を行っておく必要があります。
   smtp [送信者のメールアドレス] curl https://graph.microsoft.com/oidc/userinfo -H "Authorization: Bearer %%s"
 v4.79 2023.09.27
 1. 送信スレッド内でSTARTTLSでメール送信後の次のメールデータの送信を自動で"SMTP over SSL"として処理を行ってしまう不具合の修正。
 
[EPSTDS]
 v4.74 2021.12.13
 1.gateway.datテーブル等の設定に対しIPv6アドレスプレフィックス指定でも処理を可能にした。
 v4.75 2022.05.08
 1.ゲートウェイ先ごとにSMTP認証ID,PWを規定する場合を有効にするオプションフラグを追加した。
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTDS
      →ExpansionGatewayTable (REG_DWORD) 0:無効(デフォルト) 1:有効
 2.ゲートウェイ先ごとにSMTP認証ID,PWを規定可能にした。(gateway.datへの書式追加した)
  [新書式]
 '対象ドメイン,ゲートウェイ先(FQDN or IP)|[0,1,2,3]|([ID]|[PW])or(BASE64([ID]|[PW])or(BASE64(Original encoding([ID]|[PW]))),接続ポート(*)
 '[ID],[PW]ともMAX127byte。
 '[0,1,2]
  0=SMTP-AUTHを実施しない。
  1=SMTP-AUTHを[ID]|[PW]の生データを使って実施する。
  2=SMTP-AUTHを[ID]|[PW]情報をBASE64エンコードされている文字列を使って実施する。
  3=SMTP-AUTHを[ID]|[PW]情報を独自エンコード後にBASE64エンコードされている文字列を使って実施する。
  ※[独自エンコード後にBASE64エンコードの生成方法]
   コマンドプロンプト上で以下を実行。([ID],[PW]はSMTP認証に使用する任意のID,パスワード)
   epstds -encode "[ID]|[PW]"
   例)
   epstds -encode "test1@@sample.test|test1"[enter]
   base64 pack(encode)
   /08zYjJhM2MzYjdlMGYzYzJlMjIzZjIzMmE2MTNiMmEzYzNiMzMzYjJhM2MzYjdl ← この1行のコードをコピーしてgateway.datに貼り付けする。
   注意)上記生成データは生成時刻によって内容が変化します。
 3.設定ドメイン毎のIPに送信元IPを切替える設定有効時に"Reporting-MTA:"ヘッダを変更するようにした。
 v4.76 2022.07.26
 1."MAIL From:","RCPT To:"のコマンド出力を"MAIL FROM:","RCPT TO:"に変更可能なオプションを追加した。
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTDS (DWORD) SelectCase (Default 2)
      SelectCase動詞部分の大小文字の選択: 0:従来 1:小文字 2:大文字(デフォルト)
 2."MAIL From:","RCPT To:"に続くアドレスの前に半角スペースが含まれないようにした。
 v4.77 2023.04.25
 1.メールボックスへメールを保管する際、"X-UIDL: [ファイル名]"のヘッダを挿入するオプションを追加した。
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTDS (DWORD) XUIDL (Default 0)
     "X-UIDL: [ファイル名]"のヘッダを挿入: 0:無効 1:有効(追加する)
 2.SMTPゲートウェイ欄にゲートウェイ先明記ならセッションを分離しない機能を追加した。
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTDS (DWORD) IncludeForward (Default 1)
     ゲートウェイ先明記でのセッション: 1:セッション分離しない 0:セッション分離する
 3.SMTPゲートウェイ欄にゲートウェイ先明記でセッションを分離しない上記設定のとき、内部ドメインも含まれてしまう不具合を修正した。
 v4.78 2023.08.21
 1. openssl 1.1.1系からopenssl 3.1.0系ライブラリへ移行した。
 2. XAOUTH2認証オプションを機能追加した。
  [手順] oauth2_server_phpでOAuth2サーバを設定した場合。(参照:https://bshaffer.github.io/oauth2-server-php-docs/)
  1).レジストリへの追加
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTDS
      →SMTPAUTHMode 文字列で"XOAUTH2" を手動で追加。
  2).Gateway.datファイルに以下の構造で認証処理を設定する。
  [OAuth2_Server_PHPの場合]
   対象ドメイン,ゲートウェイ先(FQDN or IP)|1|"curl https://[認証サーバ/path]/token.php -s -d "client_id=[クライアントID]" -d "client_secret=[シークレット(IDではない)]" -d "grant_type=authorization_code&code=[認証コード]"|NULL,接続ポート(*)
  [Microsoft Azure ADの場合] Microsoft Azure portalに於いて[アプリの登録]を行っておく必要があります。
   対象ドメイン,ゲートウェイ先(FQDN or IP)|1|"curl https://login.microsoftonline.com/[テナントID]/oauth2/v2.0/token -s -d "client_id=[クライアントID]" -d "client_secret=[シークレット(IDではない)]" -d "grant_type=authorization_code&code=[認証コード]"|NULL,接続ポート(*)
 
[EPSTPOP3S]
 v4.47 2021.12.13
 1.テーブル等の設定に対しIPv6アドレスプレフィックスで定義可能にした。
 2.異なる複数のIPv6アドレスが指定されているとサービス起動に失敗しないようにした。
 v4.48 2022.03.17
 1.受信可能なパスワード長を変更した。(MAX 64byte)
 v4.49 2023.08.21
 1. openssl 1.1.1系からopenssl 3.1.0系ライブラリへ移行した。
 2. XAOUTH2認証オプションを機能追加した。
  [手順] oauth2_server_phpでOAuth2サーバを設定した場合。(参照:https://bshaffer.github.io/oauth2-server-php-docs/)
  1).レジストリへの追加
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTPOP3S
      →AUTHMode 文字列で"XOAUTH2" を手動で追加。
  2).認証に使用するアカウントのフォルダ内に"apop.dat"というファイルを作成。(空欄で可)
  3).認証に使用するアカウントのフォルダ内に"oauth2.dat"というファイルを作成し、以下行を認証サーバのアドレスに合わせて設定する。
  [OAuth2_Server_PHPの場合]
   pop3 [送信者のメールアドレス] curl https://[認証サーバ/path]/resource.php -s -d access_token=%%s
   もしくは、HTTPヘッダに埋め込み
   pop3 [送信者のメールアドレス] curl https://[認証サーバ/path]/resource.php -s -H "Authorization: Bearer %%s"
  [Microsoft Azure ADの場合] Microsoft Azure portalに於いて[アプリの登録]を行っておく必要があります。
   pop3 [送信者のメールアドレス] curl https://graph.microsoft.com/oidc/userinfo -H "Authorization: Bearer %%s"
 
[EPSTIMAP4]
 v4.65 2021.12.13
 1.'{'が含まれたトークンの次通信にトークンが続く場合の判定方法の改善。
 2.テーブル等の設定に対しIPv6アドレスプレフィックスで定義可能にした。
 3.異なる複数のIPv6アドレスが指定されているとサービス起動に失敗しないようにした。
 v4.66 2022.03.18
 1.受信可能なパスワード長を変更した。(MAX 64byte)
 v4.67 2023.09.14
 1. openssl 1.1.1系からopenssl 3.1.0系ライブラリへ移行した。
 2. FETCH ENVELOPE命令で送信先ヘッダに複数のアドレスが記載されている場合正しく応答できない不具合の修正。(Denbun対策)
 3.SEARCH命令でOR指定が含まれると正しく検索結果が出力されない不具合の修正。(Denbun対策)
 4.FETCH ENVELOPE命令の応答でSenderまたはReplytoへの回答がNILだと開封確認ダイアログが表示されない不具合の修正。(Denbun対策)
 5.SEARCH命令で検索速度の向上対策:検索キーワード側を文字コード別に変換してから一括比較するように変更した。
 6.SEARCH命令で検査対象のメールデータを読込みを1回で処理するオプションを追加した(検索機能のチューニング)。
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTIMAP4S
      →BulkSearch (DWORD) デフォルト=1:する 0:しない
 7.FETCH ENVELOPE命令でTO,CC,BCCヘッダのアドレス数の応答上限を増加させた(最大1000アドレス)。
 8.FETCH ENVELOPE命令で取得のメールデータを読込みを1回で処理するオプションを追加した(FETCH機能のチューニング)。
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTIMAP4S
      →BulkFetch (DWORD) デフォルト=0:しない 1:する
 9.検索文字列をダブルクォーテーションで囲うと検索できない不具合の修正。
 10.FETCH命令のHEADER.FIELDSの文字列の並びに"ALL/FULL/FAST"が含まれると、"FETCH ALL/FULL/FAST"として誤って処理してしまう不具合の修正。
 11.FETCH BODYSTRUCTURE命令の応答で"Content-Disposition:"の構造にfilename以降に別の情報が含まれていると、正しいファイル名情報を出力できない不具合の修正。
 12.FETCH BODYSTRUCTURE命令の応答でContent-Disposition:ヘッダの"filename="の項目のみの出力か否かの選択オプションを追加。デフォルト filenameのみ
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTIMAP4S
      →FetchDisposition (DWORD) デフォルト=0:filenameのみ出力 1:filename以外もあれば出力
 13.上記8項のBulkFetchフラグ有効時に対象のファイルの最終行に改行"\r\n"がないとデータ読み込みが終わらない不具合の修正。
 14. XAOUTH2認証オプションを機能追加した。
  [手順] oauth2_server_phpでOAuth2サーバを設定した場合。(参照:https://bshaffer.github.io/oauth2-server-php-docs/)
  1).レジストリへの追加
  HKEY_LOCAL_MACHINE
  →SYSTEM
   →CurrentControlSet
    →Services
     →EPSTIMAP4S
      →ImapAuthType 文字列で"XOAUTH2" を手動で追加。
  2).認証に使用するアカウントのフォルダ内に"apop.dat"というファイルを作成。(空欄で可)
  3).認証に使用するアカウントのフォルダ内に"oauth2.dat"というファイルを作成し、以下行を認証サーバのアドレスに合わせて設定する。
  [OAuth2_Server_PHPの場合]
   imap [送信者のメールアドレス] curl https://[認証サーバ/path]/resource.php -s -d access_token=%%s
   もしくは、HTTPヘッダに埋め込み
   imap [送信者のメールアドレス] curl https://[認証サーバ/path]/resource.php -s -H "Authorization: Bearer %%s"
  [Microsoft Azure ADの場合] Microsoft Azure portalに於いて[アプリの登録]を行っておく必要があります。
   imap [送信者のメールアドレス] curl https://graph.microsoft.com/oidc/userinfo -H "Authorization: Bearer %%s"
 15. FETCH ENVELOPEで256byteを越える各ヘッダ情報読込みがあると、データメモリのオーバーロードが発生してしまう不具合の修正。
 16. "Content-Transfer-Encoding:"ヘッダが"Content-Disposition:"の次にあるとメール本文のエンコーディング情報を正しく返せない不具合の修正。
 17. "Reply-to:","Sender:"ヘッダの情報取得でメモリ確保に失敗する場合がある不具合の修正。
 v4.68 2023.09.29
 1.Content-Type:ヘッダの"name"フィールドの名称が、256byteを越えるMIME-Qエンコードで指定されていると正しいファイルが取得できない不具合の修正。
 
[EPSTMANAGER]
 v4.33 2022.03.19
 1.パスワードの最大入力数を変更できるようにした。(MAX 64byte)
  [メール作業フォルダ]\REG\SOFTWARE\EMWAC\IMS\PasswordLength.1 (デフォルト値=14 最大値=64)
 
[EPSTCONTROL]
 v4.34 2021.01.27
 1.EPSTDSのSMTP認証パスワード入力欄の最大入力文字数を14文字から20文字に変更した。
 v4.35 2021.04.07
 1.複写転送アドレスの入力時に入力項目がソートされないようにした。
 
[libssl-1_1.dll]/[libcrypto-1_1.dll]
 v1.1.1u(1.1.1.21)2023-06-15
 Openssl-v1.1.1u (1.1.1.21) に差替え。詳細は下記。
 
[libssl-3.dll]/[libcrypto-3.dll]
 v3.1.1(3.1.1.0)2023-06-15
 Openssl-v3.1.1 (3.1.1.0) を新たに追加。詳細は下記。
 
 (1).'OBJ_obj2txt' が巨大なオブジェクト識別子サブ識別子を正規の数値テキスト形式に変換するのにかかる時間を軽減した。
 (2).RSA 復号化におけるタイミング Oracle の修正を修正した。(CVE-2022-4304)
 (3).X509_VERIFY_PARAM_add0_policy() のドキュメントを修正し、ポリシーチェックを有効にしないことに言及した。(CVE-2023-0466)
 (4).リーフ証明書の無効な証明書ポリシーが OpenSSL によって暗黙的に無視され、その証明書の他の証明書ポリシーチェックがスキップされる問題を修正した。悪意のある CA がこれを使用して、証明書のポリシーチェックを完全に回避するために、無効な証明書ポリシーを意図的にアサートする可能性があった。(CVE-2023-0465)
 (5).CVE-2023-0464 を軽減するために、ポリシーツリーに作成されるノードの数を制限した。
 
[ssleay32.dll]/[libeay32.dll]
 v1.0.2q(1.0.2.17)のまま変更なし。
 
[IPWCS](※E-Postクラスタ構成時のみ)
 v1.15 のまま変更なし。
 
[EPSTAVS]
 v0.535 2023.05.24
 1.ウイルスDB比較時にKB/MB単位に丸められたファイルサイズ情報でも処理できるように機能を追加した。
 
[Kasp.exe]
 タイムスタンプ 2013-07-13 のまま変更なし。
 
[Kasp.dll]
 v1.0.0.4 のまま変更なし。
 
[unmail.dll]
 タイムスタンプ 2019-06-06 バージョンのまま変更なし。
 
[AUTOUPDATE]
 変更なし。
 
[MODIFYS]
 v1.05 のまま変更なし。