web-dev-qa-db-ja.com

Postfixは、「smtp_tls_security_level = Fingerprint」の場合でも、「証明書の検証に失敗した」と不平を言います

Postfix(RHEL6のバージョン2.6.6)を使用して、内部ネットワークのメールリレーに接続し、メールリレーでメールを送信しようとしています。ポート25でSTARTTLSに接続したい(このサーバーではポート465は使用できません)。メールリレーは自己署名SSL/TLS証明書を使用するため、認証局を使用した証明書の検証をスキップする必要がありました。トラストチェーンや有効期限などをチェックしない smtp_tls_security_level = fingerprint を発見しました。代わりに、証明書のフィンガープリントを使用して確認します。

これは完璧な解決策だと思ったのですが、メールを送信しようとすると、/var/log/maillogpostfix/smtp[15182]: certificate verification failed for xxxxxxxxxxxx[zz.zz.zz.zz]:25: untrusted issuerというエラーが表示されます。

fingerprintセキュリティレベルの要点は、証明書の検証をスキップすることだと思いました。このオプションのポイントを誤解していますか?他に設定する必要があるものはありますか?

main.cfの関連する行を次に示します。

relayhost = [xxx.xxx.xxx]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl-passwords
smtp_sasl_security_options=
smtp_generic_maps = hash:/etc/postfix/generic
smtp_use_tls = yes
smtp_tls_security_level = fingerprint
smtp_tls_fingerprint_digest = sha1
# fingerprint changed for ServerFault. just an example.
smtp_tls_fingerprint_cert_match = c1:d3:54:12:00:r0:ef:fa:42:48:10:ff:ac:1e:75:13:dd:ad:af:3e
smtp_tls_note_starttls_offer = yes

編集:太字を追加

2
fronzee

ここで私自身の質問に答えます。 fingerprint検証を正常に機能させることができませんでしたが、証明書検証なしでTLSを取得する方法を発見しました。 manual から:

必須のTLS暗号化は、「smtp_tls_security_level = encrypt」を設定することで構成できます。 TLS暗号化は常に使用されますが、サーバー証明書が信頼されていないか、間違った名前が付けられていても、メール配信は続行されます。

私はある時点でこれを試しましたが、すべての正しいオプションを有効にしていたはずはありません。しかし、上記の設定を使用して、私はsmtp_tls_security_levelからencryptまで。正常に動作します。

2
fronzee

Postfixはchroot(デフォルトではDebian) "/etc/postfix/master.cf"を有効にしているので:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      unix  -       -       -       -       -       smtp

変数のデフォルト値smtp_tls_CAfileは空であり、証明書ファイルの場所を内部に設定するためのソリューションパスde chroot:

「/etc/postfix/main.cf」で:

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
1
Rfraile