web-dev-qa-db-ja.com

メールサーバーのSSLを修正する方法は?

私たちのメールサーバーは元々、自分で作成した証明書を使用して設定されていました。しかし、それらが期限切れになり、私がそれらを再現しようとしたとき、すべてが爆発しました。それが重要になることはわかっているので、Debianサーバーと接尾辞を実行しています。

これで、メールログに次のエラーが生成されたことがわかります。

May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: cannot get certificate from file /etc/postfix/ssl/smtpd.cert
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:02001002:system library:fopen:No such file or directory:bss_file.c:352:fopen('/etc/postfix/ssl/smtpd.cert','r'):
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:354:
May 15 08:06:34 letterpress postfix/smtpd[22901]: warning: TLS library problem: 22901:error:140DC002:SSL routines:SSL_CTX_use_certificate_chain_file:system lib:ssl_rsa.c:720:
May 15 08:06:34 letterpress postfix/smtpd[22901]: cannot load RSA certificate and key data

また、ローカルネットワークの外部からThunderbirdなどのクライアントから電子メールにアクセスしようとすると、「SMTPサーバーに接続できません」というメッセージが表示されます。

ファイル/etc/postfix/ssl/smtpd.certが存在することを確認しました。ファイルの現在の所有者はroot:root。これを変更する必要がありますか?

3
Noah Goodrich

きみの /etc/postfix/main.cfには、次の3つのディレクティブが含まれます。

 smtpd_tls_cert_file=
 smtpd_tls_key_file=
 smtpd_use_tls=yes

これは、PostfixにTLSを使用するように指示します。

TLSを無効にするか、新しい証明書を作成することで、再び機能させることができます。

TLSの無効化

  1. smtpd_use_tlsをyesからnoに変更します
  2. /etc/init.d/postfix restart

新しい証明書の作成

  1. キーファイルを見つけます(smtpd_tls_key_fileによる)。欠落している場合は、新しいものを作成する必要があります。 (openssl genrsa -out filename.key 1024; chmod 600 filename.key
  2. [〜#〜] csr [〜#〜]openssl req -new -key filename.key -out filename.csr)を作成します
  3. 証明書を作成します(openssl x509 -req -days 730 -in filename.csr -signkey filename.key -out filename.crt
  4. .pem形式にします(cat filename.key filename.crt> filename.pem; chmod 600 filename.pem; chown postfix filename.pem

次に、/ etc/postfix/main.cfに従って必要な場所にあることを確認し、Postfixを再起動します。あなたは行ってもいいはずです。

4
Brent

「/etc/postfix/ssl/smtpd.cert」に問題があるように見えます。ファイルが見つからないか、ファイルのアクセス許可が間違っているか、ファイル内の証明書の形式が無効です。

1
WerkkreW

私はこの問題を抱えていました。私の秘密鍵の名前はmailserverであることが判明しました。pemそれでもpostfixの設定ではmailserverでした。key。両方に.pem拡張子が付いたチュートリアルに従いました。

また、証明書と秘密鍵の両方をrootでのみ読み取り可能にし、rootとpostfixの両方で読み取り可能になるように変更しました(chown root:postfix filename; chmod 640filename)。この2番目のステップが必要かどうかわからない。

0
thomasrutter