Debian 9의 exim4에서 TLS 치명적인 경고가 수신되었습니다.

Debian 9의 exim4에서 TLS 치명적인 경고가 수신되었습니다.

메일을 보내도록 서버를 구성하려고 하는데 메일을 보내려고 할 때마다 "TLS 치명적 경고" 오류가 나타납니다.

나는 다음에 표시된 단계를 따랐습니다.이 게시물내 문제와 관련하여 문제를 극복하려고 시도했지만 결국 내가 설명하는 오류가 발생했습니다.

apt install gnutls-bin
cd /etc/exim4/
certtool --generate-privkey --outfile exim.key
certtool --generate-request --load-privkey exim.key --outfile exim.csr
  • 일반 이름: gestion decorreos.es

  • 나머지는 비워두겠습니다(입력)

  • URL:http://www.cacert.org/

  • CACert에 로그인 => "서버 인증서" 클릭 => 새로 만들기

  • 인증서 요청에 붙여넣으라는 메시지가 표시됩니다. exim.csr 파일의 내용을 붙여넣습니다.

  • CACert는 호스트 이름을 확인하도록 요청합니다.

  • 그 후 결과 웹 페이지에 인증서가 표시됩니다. exim.crt라는 새 파일에 인증서를 넣습니다.

    cd /etc/exim4/ chgrp Debian-exim exim.key chmod g+r exim.key vim /etc/exim4/conf.d/main/000_local (새 파일)

  • 내부에 삽입하십시오 :

    MAIN_LOG_SELECTOR=+tls_cipher +tls_peerdn MAIN_TLS_ENABLE=t

    update-exim4.conf /etc/init.d/exim4 재시작

TLS를 통해 메일 서버에 연결하려고 합니다.

gnutls-cli -s -p 587 gestiondecorreos.es
ehlo gestiondecorreos.es
starttls
^D (ctr+d)
  • 오류 결과:

*** Starting TLS handshake
- Certificate type: X.509
- Got a certificate list of 1 certificates.
- Certificate[0] info:
 - subject `EMAIL=eguz*****@gmail.com,CN=server.example.com,OU=IT,O=Vesta Control Panel,L=San Francisco,ST=California,C=US', issuer `EMAIL=eguz*****@gmail.com,CN=server.example.com,OU=IT,O=Vesta Control Panel,L=San Francisco,ST=California,C=US', serial 0x0086e738bec1714309, RSA key 4096 bits, signed using RSA-SHA256, activated `2020-02-04 15:42:00 UTC', expires `2021-02-03 15:42:00 UTC', key-ID `sha256:6095e39dc286060d74d300f494814744d803ad2f5c55587ca38a2d7ed2b58194'
   Public Key ID:
      sha1:5f4b******************
      sha256:6095****************
   Public key's random art:
      +--[ RSA 4096]----+
      |        ..o    .o|
      |       .   o   +.|
      *******************
      |             .oo.|
      +-----------------+

- Status: The certificate is NOT trusted. The certificate issuer is unknown. The name in the certificate does not match the expected.
*** PKI verification of server certificate failed...
*** Fatal error: Error in the certificate.
*** Handshake has failed

왜 제목처럼 CN=server.example.com이 나타나는지 모르겠습니다.

/var/log/exim4/mainlog 파일에 따르면 다음과 같습니다.

TLS error on connection from lixxxxxx.members.linode.com ([127.0.0.1]) [xxxxxxxxxxx] (gnutls_handshake): A TLS fatal alert has been received.

내 linode-vps에서 기본 도메인은 gestion decorreos.es이고 orbelanet.com은 내가 smtp 테스트를 실행 중인 또 다른 도메인입니다.

미리 감사드립니다! 미켈

답변1

시도된 솔루션:

  • 호스트 이름 변경(vestacp에서): (server => gestiondecreos.es, 내 기본 도메인은 server ):

    /usr/local/vesta/bin/v-change-sys-hostname gestiondecorreos.es

  • gestion decorreos.es에 letsencrypt 설치:

/usr/local/vesta/bin/v-add-letsencrypt-domain 'admin' gestiondecorreos.es '' 'yes'

  • Vesta, exim 및 dovecot의 이전 단계에서 설치된 SSL 인증서를 적용합니다.

/usr/local/vesta/bin/v-update-host-certificate admin gestiondecorreos.es

  • /usr/local/vesta/conf/vesta.conf에 "update_hostname_ssl='yes'"를 추가하십시오:

    echo "UPDATE_HOSTNAME_SSL='yes'" >> /usr/local/vesta/conf/vesta.conf

이렇게 하면 SSL이 갱신될 때마다 Vesta가 SSL을 Vesta, Exim 및 dovecot 데몬으로 업데이트하도록 지시합니다. 이 작업은 자동으로 수행됩니다.

해결책

  • 이전 단계에서 및 파일을 다시 생성하고 이번에는 tls 메일 서비스 테스트를 수행하면 exim.key오류 exim.csrexim.crt발생 gnutls-cli -s -p 587 gestiondecorreos.es하지 않고 모든 것이 정상입니다.

  • 하지만 새 이메일을 보내려고 하면 다음 오류가 발생합니다.

    H=lixxxxxxxx.linode.com ([127.0.0.1]) [172.xxxxxxxxxx] X=TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128 CV=no rejected MAIL <xxxx@xxxxxxxx>: Helo name contains a ip address (HELO was [127.0.0.1]) and not is valid

  • 해결책은 /etc/exim4/exim4.conf에서 다음 줄을 계속 비활성화하는 것입니다.

\# deny condition = ${if eq{$sender_helo_name}{}}
\# message = HELO required before MAIL

\# drop message = Helo name contains a ip address (HELO was $sender_helo_name) and not is valid
\# condition = ${if match{$sender_helo_name}{\N((\d{1,3}[.-]\d{1,3}[.-]\d{1,3}[.-]\d{1,3})|([0-9a-f]{8})|([0-9A-F]{8}))\N}{yes}{no}}
\# condition = ${if match {${lookup dnsdb{>: defer_never,ptr=$sender_host_address}}\}{$sender_helo_name}{no}{yes}}
\# delay = 45s

\# drop condition = ${if isip{$sender_helo_name}}
\# message = Access denied - Invalid HELO name (See RFC2821 4.1.3)
  • exim4 다시 시작:

    service exim4 restart

이제 문제 없이 이메일을 보낼 수 있습니다!

관련 정보