나는 홈 서버를 가지고 있으며 /home 및 /var에 대해 USB와 HDD의 조합에 있었던 것처럼 시스템 드라이브를 SSD로 업데이트했습니다. USB가 이전 버전의 Debian에 있었기 때문에 새로 설치하여 이전에 4.94.2를 사용했던 EXIM 버전 4.95로 업그레이드했습니다.
동일한 스마트호스트 구성에도 불구하고 내 ISP의 SMTP 서버를 사용하려면 더 이상 TLS를 사용하지 않고 유효성 검사 오류가 발생합니다.
/var/log/exim4/메인로그:
2022-04-12 03:30:25 1ne6I7-000AHw-MF TLS session: (certificate verification failed): delivering unencrypted to H=<DOMAIN> [<IP>] (not in hosts_require_tls)
메일은 여전히 암호화되지 않은 상태로 허용되지만 이제 크론 작업에서 보낸 메일은 내 ISP에 의해 스팸으로 표시됩니다. 유일한 변경 사항은 메시지가 존재에서 그냥으로 Received
변경된 헤더 라는 것입니다 . 따라서 아마도 그 차이점이 추가적인 관심을 끌기 위한 신호일 것입니다.with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
with esmtp (Exim 4.95)
이전 설치와 동일한 자체 서명 키와 인증서(2013) 타임스탬프를 사용하고 있었습니다. 나는 또한 비슷한 효과가 없는 새로운 쌍을 생성해 보았습니다.
온라인에서 조언을 검색한 후 검증할 수 있도록 letsencrypt 구성을 사용하는 것이 좋습니다. 이미 사용하고 있지만 EXIM에서도 동일한 동작이 발생했습니다.
이것이 내 구성입니다.
/etc/exim4/update-exim4.conf.conf:
dc_eximconfig_configtype='smarthost'
dc_other_hostnames='<LOCAL DOMAIN>'
dc_local_interfaces='127.0.0.1 ; ::1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='<ISP DOMAIN>:587'
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
/etc/exim4/etc/exim4/conf.d/main/00_local_settings:
MAIN_TLS_ENABLE = yes
MAIN_TLS_CERTIFICATE = /etc/letsencrypt/live/<LOCAL DOMAIN>/fullchain.pem
MAIN_TLS_PRIVATEKEY = /etc/letsencrypt/live/<LOCAL DOMAIN>/privkey.pem
/etc/letsencrypt/archive/<로컬 도메인>/*15.*
-rw-r--r-- 1 root Debian-exim 1870 Mar 28 00:48 /etc/letsencrypt/archive/<LOCAL DOMAIN>/cert15.pem
-rw-r--r-- 1 root Debian-exim 3749 Mar 28 00:48 /etc/letsencrypt/archive/<LOCAL DOMAIN>/chain15.pem
-rw-r--r-- 1 root Debian-exim 5619 Mar 28 00:48 /etc/letsencrypt/archive/<LOCAL DOMAIN>/fullchain15.pem
-rw------- 1 root Debian-exim 1708 Mar 28 00:48 /etc/letsencrypt/archive/<LOCAL DOMAIN>/privkey15.pem
또한 내 SMTP 로그인 세부 정보가 포함된 파일도 있는데 /etc/exim4/passwd.client
분명히 메일을 보내는 데 작동하고 있습니다.
내 집 IP 주소를 가리키는 도메인입니다.
00_local_settings의 letsencrypt 키 항목은 현재 버전으로 이동하는 심볼릭 링크를 가리킵니다. EXIM이 개인 키를 볼 수 있도록 그룹 소유권을 변경했지만 권한은 그대로 두었습니다.
이전 작업 구성은 동일했지만 자체 서명된 파일 exim.crt
과 exim.key
에 파일이 있어서 /etc/exim4
00_local_settings 파일에 후자의 두 줄이 없었습니다.
/etc/exim4
또한 letsencrypt 파일을 복사하여 이름을 지정 exim.cert
하고 동일한 권한 640을 사용하고 00_local_settings에는 아무것도 지정 하려고 시도했지만 exim.key
아무것도 변경되지 않았습니다.
특히 짜증나는 점은 최종 테스트에서 어떤 일이 일어날지 확인하기 위한 구성 없이 키를 삭제했다는 것입니다. 동일한 오류가 발생하여 사용한 키에 문제가 있는지, 아니면 전혀 표시되지 않는지 알 수 없습니다.
답변1
나는 계속해서 연구를 했고, 일종의 답을 찾았습니다. 누구의 인증서가 확인되고 있는지 명확하지 않았고, 내 인증서라고 생각했지만 그것이 원격 SMTP 서버 중 하나일 수 있다는 것을 깨달았습니다.
확인을 비활성화 하려면 아래 항목을 추가하면 /etc/exim4/etc/exim4/conf.d/main/00_local_settings
TLS를 사용할 수 있습니다.
REMOTE_SMTP_SMARTHOST_TLS_VERIFY_HOSTS = !*
이는 이제 수신 중임을 보여주는 메시지 헤더에서 확인할 수 있습니다.with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95)
나는 이것이 이전에 일어난 일이고 Debian이나 Exim이 초기 구성 이후 확인이 필요하도록 기본값을 변경했다고 가정합니다.
아마도 원격 서버가 자체 생성 인증서를 사용하는 경우 확인할 수 없습니까?