web-dev-qa-db-ja.com

接尾辞送信エラー:STARTTLSコマンドを発行する必要があります

Ubuntu 12.04を実行し、GMAILを介して送受信を中継するようにpostfixを構成しようとしています。特にTLSで接続の問題が発生しています。一連のトラブルシューティングソリューションを試し、TLSに対応するようにmain.cfを変更しましたが、それでも以下のエラーが発生します。

次の問題のデバッグを試みました:

      `root@mailservice:/etc/postfix# openssl s_client -connect localhost:587 -starttls smtp`

そして私はこれらのエラーを受け取ります

    `connect: Connection refused'
     'connect:errno=111`

私のログには次のように表示されます。

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: warning: cannot get RSA certificate
       from file /etc/postfix/cert.pem: disabling TLS support

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: warning: TLS library problem: 
       3765:error:0906D06C:PEM routines:PEM_read_bio:no start    
       line:pem_lib.c:696:Expecting: TRUSTED CERTIFICATE:

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: warning: TLS library problem:   
       3765:error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM    
       lib:ssl_rsa.c:729:

       Jun 11 13:54:31 mailservice postfix/smtp[3765]: 9986B6846A: to=
       <[email protected]>, relay=smtp.gmail.com[173.194.77.109]:587, delay=0.15, 
       delays=0.02/0.02/0.09/0.02, dsn=5.7.0, status=bounced (Host 
       smtp.gmail.com[173.194.77.109] said: 530 5.7.0 Must issue a STARTTLS command first.  
       hd9sm12170509obc.6 (in reply to MAIL FROM command))

Main.cf(TLSに関連する)の​​内容は次のようになります。

     #TLS Parameters 
     smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
     smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
     smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
     smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

     #TLS Settings 
     smtp_use_tls = yes 
     smtp_tls_security_level = may 
     smtp_tls_loglevel = 1
     smtp_enforce_tls = yes 
     smtp_tls_CAfile = /etc/postfix/cacert.pem
     smtp_tls_cert_file = /etc/postfix/cert.pem 
     smtp_tls_key_file = $smtp_tls_cert_file 
     smtp_tls_session_cache_dataabase = btree:/var/run/smtp_tls_session_cache 
     smtp_tls_note_starttls_offer = yes 
     smtpd_use_tls = yes 
     smtpd_tls_security)level = may 
     smtpd_tls_auth_only = no 
     smtpd_tls_CAfile = /etc/postfix/cacert.pem
     smtpd_tls_cert_file = /etc/postfix/cert.pem
     smtpd_tls_key_file = /etc/postfix/key.pem
     smtpd_tls_received_header = yes 
     smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache 
     smtpd_tls_session_cache_timeout = 3600s 
     tls_random_source = dev:/dev/urandom

私が知る限り、すべてが適切なTLS接続のためであり、メールを送信するためにmain.cfまたは他の場所で何を変更する必要があるかわかりません。

1
Mary Elizabeth

Postixは証明書にアクセスできないと言っています。制限が厳しすぎる権限で作成または保存されていません。

Postfix制限付きユーザーがすべてのファイルにアクセスできることを確認する必要があります。次のように、どのユーザー接尾辞が実行されるかを確認できます。

postconf mail_owner

その後、このユーザーに、構成ファイルに記載されているすべてのキー/証明書へのアクセスを許可する必要があります。

たとえば、私のキーは次のようになります。

-r--r-----  1 postfix  cyrus   668  4 Apr 13:17 somehost.pk
1
kworr

差出人: http://www.postfix.org/TLS_README.html .。

サーバー側のTLSアクティビティログ.。

問題が発生した場合にのみログレベル3を使用します。

もっと...

Postfix SMTPサーバーのTLSアクティビティに関する追加情報を取得するには、ログレベルを0..4から増やすことができます。各ログレベルには、より低いログレベルでログに記録される情報も含まれます。

Level Postfix2.9以降の以前のリリース。

  • 0 TLSハンドシェイクの完了時に要約メッセージのみをログに記録します—クライアント証明書の検証が必要ない場合、クライアント証明書の信頼チェーン検証エラーのログは記録されません。 TLSアクティビティのログを無効にします。
  • 1トラストチェーン検証エラーとピア証明書の要約情報もログに記録します。また、TLSハンドシェイクと証明書情報をログに記録します。
  • 2TLSネゴシエーション中にレベルもログに記録します。
  • 3また、16進数とASCII TLSネゴシエーションプロセスのダンプをログに記録します。
  • 4また、16進数とASCII STARTTLS後の完全な送信のダンプをログに記録します。

問題が発生した場合にのみ、ログレベル3を使用してください。ログレベル4の使用は強くお勧めしません。

2
Keith