SSL/TLS通信使用時にTLS1.3のみ有効にさせる方法について updated!

E-PostシリーズのSSL/TLS暗号化通信については、openssl のライブラリを使用しています。openssl のライブラリはデフォルトでのコンパイルであり、デフォルトに含まれている暗号化方式はすべて利用可能な状態となっています。メールサーバの暗号化通信のセキュリティを高めるため、旧来のSSLを禁止するだけにとどまらず、TLSのバージョンまで限定する必要があるときには、以下のように行います。

E-Post Mail Server / E-Post SMTP Serverシリーズに実装されているSMTP受信サービス・SMTP配送サービスでのSSL/TLS暗号化通信においてTLSのバージョンまで限定する必要があるとき、下記にあげた SecureLayOption 設定により、TLS1.3での通信のみ有効にさせることが可能になります。ちなみに、FreeBSD 12.0の旧環境では、openssl のライブラリが openssl 1.x系ですが、2025年7月販売のFreeBSD 14.2の新環境では openssl 3.x系 となります。

なお、FreeBSD 14.2の新環境で openssl のライブラリバージョンが openssl 3.x系であれば、SecureLayOption 以外に SecureLevel という値を設定する方法もあります。こちらは通信のセキュリティを強化するためのポリシーを簡単に設定できる仕組みです。具体的には、暗号化アルゴリズムや鍵の強度、プロトコルのバージョンなどに関する最低基準を定義します。これにより、セキュリティ要件を満たさない接続を拒否することができます。詳細は下記設定項目と設定値を参照してください。
それから上記に対応できる openssl.exe を組み込んだ SSL-Key-SHA2a.zipもしくはSSL-Key-SHA2.zip をダウンロードして "CERTIFICATE.BAT" バッチファイルから「公開鍵証明書」と「秘密鍵」を作成しておくようにしてください。

epstrdについて、TLS1.3での通信のみ有効にする方法は下記を設定します。 SecureLayOption.1 設定ファイルがない場合は Default:3 で扱われており SSL2.0 及び SSL3.0 の使用は無効です。TLS1.3 のみ有効にさせる設定を行うためには、SecureLayOption.1 に 31(10進)〔1f(16進)〕を設定、epstrd サービスの再起動を行う手順です。この設定が有効なのは、epstrd v5.01以降になっていることが必要です。
次にもう一つの設定方法です。SecureLevel.1 設定ファイルがない場合は、Default:0 で扱われ レベル0(SecureLevel=0)に設定されていて、TLS1から1.3までが有効範囲です。レベル1(SecureLevel =1)に変更すると、TLS1.2、TLS1.3 のみ有効となります。この設定が有効なのは、epstrd v5.16以降になっていることが必要です。(できればFreeBSD 14.2の新環境)
E-Post V シリーズでは、設定ファイル自体がなければDefault値が適用されるという動きになっています。手動で設定ファイルを作成、その後値を入力してください。
[epstrd]
[メール作業フォルダ] (既定値 /var/spool/epms/)
→reg
 →epost
  →ims
   →EPST5RS
    ->SecureLayOption.1  v5.01〜
    (DWORD Default:3) 1:SSL2.0禁止 2:SSL3.0禁止 3:SSL2.0-3.0禁止(SSL3.0以前禁止) 4:TLS1.0禁止
     7:TLS1.0,SSL2.0-3.0禁止(TLS1.0以前禁止) 8:TLS1.1禁止 15:TLS1.1以前禁止 16:TLS1.2禁止 31:TLS1.2以前禁止
    ※10進指定によるもの。"31"の指定でTLS1.2以前が禁止となり、TLS1.3以降のみの許可となる。
     ちなみに"15"の指定でTLS1.1以前が禁止、TLS1.2以降の許可となる。
    →SecureLevel.1  v5.16〜
     (DWORD default:0)(レベル:0〜5)SSL_CTX_set_security_levelの設定に相当
    ※いずれも変更後のサービス再起動が必要。
epstddについて、TLS1.3での通信のみ有効にするには、以下のファイルを新規に作成し、値を設定します。SecureLayOption.1 設定ファイルがない場合は Default:3 で扱われており SSL2.0 及び SSL3.0 の使用は無効です。TLS1.3 のみ有効にさせる設定を行うためには、SecureLayOption.1 に 31(10進)〔1f(16進)〕を設定、epstdd サービスの再起動を行う手順です。この設定が有効なのは、epstdd v5.01以降になっていることが必要です。
次にもう一つの設定方法です。SecureLevel.1 設定ファイルがない場合は、Default:0 で扱われ レベル0(SecureLevel=0)に設定されていて、TLS1から1.3までが有効範囲です。レベル1(SecureLevel =1)に変更すると、TLS1.2、TLS1.3 のみ有効となります。この設定が有効なのは、epstdd v5.14以降になっていることが必要です。(できればFreeBSD 14.2の新環境)
E-Post V シリーズでは、設定ファイル自体がなければDefault値が適用されるという動きになっています。手動で設定ファイルを作成、その後値を入力してください。
[epstdd]
[メール作業フォルダ] (既定値 /var/spool/epms/)
→reg
 →epost
  →ims
   →EPST5DS
    ->SecureLayOption.1  v5.01〜
    (DWORD Default:3) 1:SSL2.0禁止 2:SSL3.0禁止 3:SSL2.0-3.0禁止(SSL3.0以前禁止) 4:TLS1.0禁止
     7:TLS1.0,SSL2.0-3.0禁止(TLS1.0以前禁止) 8:TLS1.1禁止 15:TLS1.1以前禁止 16:TLS1.2禁止 31:TLS1.2以前禁止
    ※10進指定によるもの。"31"の指定でTLS1.2以前が禁止となり、TLS1.3以降のみの許可となる。
     ちなみに"15"の指定でTLS1.1以前が禁止、TLS1.2以降の許可となる。
    →SecureLevel.1  v5.14〜
     (DWORD default:0)(レベル:0〜5)SSL_CTX_set_security_levelの設定に相当
    ※いずれも変更後のサービス再起動が必要。
E-Post Mail Server シリーズに実装されているPOP3サービス・IMAP4サービスでのSSL/TLS暗号化通信においてTLSのバージョンまで限定する必要があるとき、下記にあげた SecureLayOption 設定により、TLS1.3での通信のみ有効にさせることが可能になります。ちなみに、FreeBSD 12.0の旧環境では、openssl のライブラリが openssl 1.x系ですが、2025年7月販売のFreeBSD 14.2の新環境では openssl 3.x系 となります。

epstpop3dについて、TLS1.3での通信のみ有効にするには、以下のファイルを新規に作成し、値を設定します。SecureLayOption.1 設定ファイルがない場合は Default:3 で扱われており SSL2.0 及び SSL3.0 の使用は無効です。TLS1.3 のみ有効にさせる設定を行うためには、SecureLayOption.1 に 31(10進)〔1f(16進)〕を設定、epstdd サービスの再起動を行う手順です。この設定が有効なのは、epstpop3d v5.01以降になっていることが必要です。
次にもう一つの設定方法です。SecureLevel.1 設定ファイルがない場合は、Default:0 で扱われ レベル0(SecureLevel=0)に設定されていて、TLS1から1.3までが有効範囲です。レベル1(SecureLevel =1)に変更すると、TLS1.2、TLS1.3 のみ有効となります。この設定が有効なのは、epstpop3d v5.06以降になっていることが必要です。(できればFreeBSD 14.2の新環境)
E-Post V シリーズでは、設定ファイル自体がなければDefault値が適用されるという動きになっています。手動で設定ファイルを作成、その後値を入力してください。
[epstpop3d]
[メール作業フォルダ] (既定値 /var/spool/epms/)
→reg
 →epost
  →ims
   →EPST5POP3S
    ->SecureLayOption.1  v5.01〜
    (DWORD Default:3) 1:SSL2.0禁止 2:SSL3.0禁止 3:SSL2.0-3.0禁止(SSL3.0以前禁止) 4:TLS1.0禁止
     7:TLS1.0,SSL2.0-3.0禁止(TLS1.0以前禁止) 8:TLS1.1禁止 15:TLS1.1以前禁止 16:TLS1.2禁止 31:TLS1.2以前禁止
    ※10進指定によるもの。"31"の指定でTLS1.2以前が禁止となり、TLS1.3以降のみの許可となる。
     ちなみに"15"の指定でTLS1.1以前が禁止、TLS1.2以降の許可となる。
    →SecureLevel.1  v5.06〜
     (DWORD default:0)(レベル:0〜5)SSL_CTX_set_security_levelの設定に相当
    ※いずれも変更後のサービス再起動が必要。
epstimap4dについて、TLS1.3での通信のみ有効にするには、以下のファイルを新規に作成し、値を設定します。SecureLayOption.1 設定ファイルがない場合は Default:3 で扱われており SSL2.0 及び SSL3.0 の使用は無効です。TLS1.3 のみ有効にさせる設定を行うためには、SecureLayOption.1 に 31(10進)〔1f(16進)〕を設定、epstdd サービスの再起動を行う手順です。この設定が有効なのは、epstimap4d v5.01以降になっていることが必要です。
次にもう一つの設定方法です。SecureLevel.1 設定ファイルがない場合は、Default:0 で扱われ レベル0(SecureLevel=0)に設定されていて、TLS1から1.3までが有効範囲です。レベル1(SecureLevel =1)に変更すると、TLS1.2、TLS1.3 のみ有効となります。この設定が有効なのは、epstimap4d v5.12以降になっていることが必要です。(できればFreeBSD 14.2の新環境)
E-Post V シリーズでは、設定ファイル自体がなければDefault値が適用されるという動きになっています。手動で設定ファイルを作成、その後値を入力してください。
[epstimap4d]
[メール作業フォルダ] (既定値 /var/spool/epms/)
→reg
 →epost
  →ims
   →EPST5IMAP4S
    ->SecureLayOption.1  v5.01〜
    (DWORD Default:3) 1:SSL2.0禁止 2:SSL3.0禁止 3:SSL2.0-3.0禁止(SSL3.0以前禁止) 4:TLS1.0禁止
     7:TLS1.0,SSL2.0-3.0禁止(TLS1.0以前禁止) 8:TLS1.1禁止 15:TLS1.1以前禁止 16:TLS1.2禁止 31:TLS1.2以前禁止
    ※10進指定によるもの。"31"の指定でTLS1.2以前が禁止となり、TLS1.3以降のみの許可となる。
     ちなみに"15"の指定でTLS1.1以前が禁止、TLS1.2以降の許可となる。
    →SecureLevel.1  v5.12〜
     (DWORD default:0)(レベル:0〜5)SSL_CTX_set_security_levelの設定に相当
    ※いずれも変更後のサービス再起動が必要。
(参考)
SecureLevel について [OpenSSL ドキュメント3.0](英語)
https://docs.openssl.org/3.0/man3/SSL_CTX_set_security_level/#default-callback-behaviour

(関連FAQ)
SMTP/POP3/IMAP4 over SSL/TLS設定方法
SSL/TLS設定で認証局が発行するSHA2(sha256)の証明書に対応しているか
opensslコマンドでTLSバージョンを指定して疎通確認する方法について