sendmemo用にトランスポートレイヤーセキュリティー暗号化を有効にする

sendmemoコンポーネントは、メール通知としてまたはメールの実宛先経由で、InfoPrint Managerサーバーからメールを送信する役割を担います。InfoPrint Managerサーバーとメールサーバー間の暗号化された通信を有効にする場合は、sendmemo SSL/TLS構成ファイルを構成する必要があります。smtp-server-portおよびsmtp-server-hostサーバーサーバー属性などの構成ファイルは、サーバーごとに設定されます。このため、構成ファイルの場所はサーバーの作業ディレクトリーです。/var/pd/<your-server-name> ここで、<your-server-name>は、メールサーバーと暗号化た通信しているサーバーの名前です。

    注意:
  • また、メールサーバーにSSL/TLSが設定され、機能している必要があります。STARTTLSまたはSMTPSのいずれかを選択できます。デフォルトでは、STARTTLSはポート25/tcp(smtp)および587/tcp(送信)で使用できます。デフォルトでは、SMTPSはポート465/tcp(smtps)で使用できます。ただし、メールサーバーが他のTCPポートをを使用できるように設定されている場合、そのポートを使用できます。
  • STARTTLSまたはSMTPSによる認証はサポートされていません。

デフォルトでは、sendmemoはTLSを使用してメールサーバーへの接続を暗号化します。これは、メールサーバーと共有されている利用可能な最高の暗号をネゴシエートします。デフォルトでは、SSLv3暗号化は無効になっています。サーバーが非常に古く、暗号化された接続にSSL(Secure Sockets Layer)バージョン3が必要な場合は、環境変数IPM_ENABLE_SSL_V3を空以外の値に設定できます。

重要: SSLv2は無効で、有効にできません。

証明書ファイルとキーが設定ファイルと同じディレクトリーにある場合、フルパスはオプションです。それ以外の場合は、フルパスを指定する必要があります。

sendmemoのTLS暗号化を有効にするには、以下の操作を行います。

  1. 提供されたサンプル構成ファイルsendmemo-ssl.cfgを、/usr/lpp/pd/cfg-samples/ssl/sendmemo ディレクトリーからサーバーの作業ディレクトリーにコピーします。
  2. 独自のCAを使用している場合は、CA証明書ファイル(パブリック部)をInfoPrint Managerサーバーにコピーします。
  3. 証明書失効リスト(CRL)がある場合は、CRLファイルをInfoPrint Managerサーバーにコピーします。
  4. テキストエディターを使用してsendmemo-ssl.cfgファイルを編集します。コメントを解除し、次のキーワードの値を変更します(使用可能な場合)。
    1. EnableTLSキーワードおよび必要な値を次のようにコメント解除します。
      • 0: SMTP セッションの暗号化無効
      • 1: STARTTLSを使用
      • 2: SMTPSを使用
        注意: 正しいSMTPポート番号は、特定のInfoPrint Managerサーバー属性(smtp-server-port)を使用して設定してください。
    2. オプション:カスタムCAを使用している場合、CAFileキーワードのコメントを解除し、CA証明書のファイル名を指定します。
    3. オプション:CRL証明書のファイルがある場合、CrlFileキーワードのコメントを解除し、CRL証明書のファイル名を指定します。
    4. オプション:Hostnameキーワードのコメントを解除し、sendmemo が自身を識別するために使用するホスト名(EHLO)メールサーバーに対して指定します。これは、NATの背後にあり、LANの外部にあるSMTPサーバーにsendmemoがメールを送信する必要がある場合や、自動検出が失敗した場合に便利です。一部のメールサーバーは、EHLOに渡された無効なホスト名を無視する可能性があります。

      形式は次のいずれかである必要があります(RFC 2821)。

      FQDNホスト名:
      例: host.example.com
      括弧で囲まれたIPv4アドレス:
      例: [1.2.3.4]
      括弧で囲まれたIPv6アドレス:
      例: [IPv6:fc00::1]

最後の2つのオプションキーワードは、通常、TLSハンドシェイク中にエラーが発生した場合に使用されます。

  • CertValidationIgnoreHostNameは、DNSのサーバーのホスト名が、TLSハンドシェイク中にサーバーが提示する証明書で設定された値と異なる場合に役立ちます(SubjectフィールドおよびX509v3 Subject Alternative Name(SAN)フィールド)。このキーワードを1に設定すると、ホスト名の検証は行われません。次の表は、証明書の[Subject]フィールドにワイルドカードが含まれている場合の検証方法を示しています。
    ホスト名 証明書のSubjectまたは証明書のSubject Alternative Name 検証
    host.example.com host.example.com OK
    host.example.com *.example.com OK
    host.subdomain.example.com *.subdomain.example.com OK
    host.example.com host.another-example.com 失敗
    host.subdomain.example.com host.another-subdomain.example.com 失敗
    host.example.com host*.example.com 失敗
    host.example.com *host.example.com 失敗
    host.subdomain.example.com host*.subdomain.example.com 失敗
    host.subdomain.example.com *host.subdomain.example.com 失敗
    注意: 有効にするには、証明書のホスト名に2つ以上のドットが含まれている必要があります。
  • IgnoreCertificateErrorsは、サーバー証明書に関連するエラー(証明書のSubjectまたはSANフィールドに無効な値がある、証明書の有効期限が切れているなど)を無視します。

サンプルsendmemo-ssl.cfg構成ファイルの例:

#
# sendmemo SSL/TLS configuration file
#

#############################################################################
#
# Empty lines and whitespace-only lines are ignored, as are lines whose
# first non-whitespace character is a semicolon (;) or a hash (#). This
# file uses hashes to denote commentary and semicolons for options you
# might want to configure.
# Every comment applies to the following section or option. The defaults
# refer to IPM's built-in values, not anything set in this file.
#
# Uncomment the lines where you want to do a change and enter the desired
# value. Option names are case-sensitive.
#
# If a full path is required, but only a file name is provided (i.e., no
# '/' or '\' in file name), the lookup for the file is done only in the
# directory where this configuration file is located. Apply to: CAFile,
# CrlFile, CertFile, KeyFile.
#
#############################################################################

#
# Enable/disable SMTP session encryption. Available options:
#   0: SMTP session encryption disabled
#   1: use STARTTLS
#   2: use smtps
# Note that the correct SMTP port number must be set using the specific
# IPM server attribute (smtp-server-port).
#
# Default: 0
#
;EnableTLS = 0

#
# Path to a file containing one or more Certificate Authority (CA).
# Required if _server_ certificate is not signed by a globally known CA.
# Default: <empty>
#
;CAFile =

#
# Path to a file containing one or more Certificate Revocation List (CRL).
# Default: <empty> 
#
;CrlFile =

#
# When enabled, it prevents comparing _server_ name with the name in
# certificate subject. It also applies to Subject Alternative Name (SAN).
# Ignored if IgnoreCertificateErrors is enabled.
# (0 = disabled, 1 = enabled).
# Default: 0
#
;CertValidationIgnoreHostName = 0
#

# Ignore any errors related to certificate validation (0 = disabled, 1 =
# enabled).
# Default: 0
#
;IgnoreCertificateErrors = 0

# Specify the hostname that sendmemo uses to identify itself (EHLO).
# The format must be one of the following (RFC 2821):
#    * FQDN hostname:
#        host.example.com
#    * Brackets enclosed IPv4 address:
#        [1.2.3.4]
#    * Brackets enclosed IPv6 address:
#        [IPv6:fc00::1]
# Anything else is invalid. Some email servers might ignore an invalid
# hostname passed to EHLO, other will not.
#
# Useful when you are behind NAT and sendmemo needs to send email to SMTP
# servers that are outside of your LAN or when autodetect fails.
# Default: sendmemo will autodetect hostname.
;Hostname =