STARTTLS 認証:ローカルでの問題により、TLS が使用できません

Created:

2016-11-16 13:02:12 UTC

Modified:

2017-06-14 13:46:13 UTC

7

Was this article helpful?


Have more questions?

リクエストを送信

STARTTLS 認証:ローカルでの問題により、TLS が使用できません

症状

ユーザが STARTTLS 認証を使用してメールを送信できません。

Out: 220 localhost.localdomain ESMTP Postfix
In: EHLO [192.168.1.10]
Out: 250-localhost.localdomain
Out: 250-PIPELINING
Out: 250-SIZE 10240000
Out: 250-ETRN
Out: 250-STARTTLS
Out: 250-AUTH DIGEST-MD5 LOGIN CRAM-MD5 PLAIN
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In: STARTTLS
Out: 454 4.7.0 TLS not available due to local problem
In: QUIT
Out: 221 2.0.0 Bye

/usr/local/psa/var/log/maillog に以下のエラーが含まれる場合があります。

postfix/smtpd[26508]: warning: cannot get RSA certificate from file /etc/postfix/postfix_default.pem: disabling TLS support
postfix/smtpd[26508]: warning: TLS library problem: 26508:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('/etc/postfix/postfix_default.pem','r'):
postfix/smtpd[26508]: warning: TLS library problem: 26508:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:
postfix/smtpd[26508]: warning: TLS library problem: 26508:error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib:ssl_rsa.c:722:

原因

Postfix TLS の構成が正しくありません。

  • 証明書ファイル postfix_default.pem に有効な SSL 証明書が含まれていないか、破損している
  • /etc/postfix/main.cf で証明書のパスが正しくない
  • /etc/postfix/main.cf に TLS 構成パラメータが不足している

解決策

以下の手順で現在の構成を比較して、必要に応じて構成を修正してください。

  1. tls ディレクトリを作成し、正しい所有者/パーミッションを設定し、証明書ファイルを作成します。

    # mkdir /etc/postfix/tls
    # chown root:postfix /etc/postfix/tls
    # chmod u=rwx,go= /etc/postfix/tls
    # cd /etc/postfix/tls
    # openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 3650
  2. /etc/postfix/main.cf をこれに従って変更します。

    # grep _tls /etc/postfix/main.cf
    smtpd_tls_CAfile = /etc/postfix/tls/smtpd.pem
    smtpd_tls_cert_file = /etc/postfix/tls/smtpd.pem
    smtpd_tls_key_file = /etc/postfix/tls/smtpd.pem
    smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
    smtpd_tls_security_level = may
    smtpd_use_tls = yes
    smtp_tls_security_level = may
    smtp_tls_CAfile = /etc/postfix/tls/smtpd.pem
    smtp_tls_cert_file = /etc/postfix/tls/smtpd.pem
    smtp_tls_key_file = /etc/postfix/tls/smtpd.pem
    smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
    smtp_use_tls = yes
    smtpd_tls_received_header = yes
    smtpd_tls_ask_ccert = yes
    smtpd_tls_loglevel = 1
    tls_random_source = dev:/dev/urandom
  3. Postfix 構成をリロードします。

    # service postfix reload
他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。