특정 클라이언트에 대해 Postfix 서버 TLS 비활성화

특정 클라이언트에 대해 Postfix 서버 TLS 비활성화

나에게 절실히 필요한 이메일을 보내려고 하는 불량 서버 때문에 문제가 발생했습니다.

발신자는 항상 STARTTLS를 요청하지만 나중에 TLS(내 서버에서 지원하는 v1.2+) 연결 설정에 실패합니다. 아마도 해당 기능을 발표하지 않은 메일 서버에 암호화되지 않은 메일을 전달할 것입니다.

을 사용하여 TLS를 전역적으로 비활성화할 수 있지만 smtpd_tls_security_level정말 좋지 않으므로 나에게 연락을 시도하는 특정 원격 서버 목록에 대해서만 TLS를 비활성화하는 설정을 찾고 싶습니다.

심지어 가능합니까?

편집: 다음은 Postfix의 로그입니다 smtpd_tls_loglevel = 2.

belette64 postfix/smtpd[145475]: connect from smtp.misconfigured.fr[XX.XX.XX.XX]
belette64 postfix/smtpd[145475]: setting up TLS connection from smtp.misconfigured.fr[XX.XX.XX.XX]
belette64 postfix/smtpd[145475]: smtp.misconfigured.fr[XX.XX.XX.XX]: TLS cipher list "aNULL:-aNULL:HIGH:MEDIUM:+RC4:@STRENGTH"
belette64 postfix/smtpd[145475]: SSL_accept:before SSL initialization
belette64 postfix/smtpd[145475]: SSL_accept:before SSL initialization
belette64 postfix/smtpd[145475]: SSL3 alert write:fatal:handshake failure
belette64 postfix/smtpd[145475]: SSL_accept:error in error
belette64 postfix/smtpd[145475]: SSL_accept error from smtp.misconfigured.fr[XX.XX.XX.XX]: -1
belette64 postfix/smtpd[145475]: warning: TLS library problem: error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher:../ssl/statem/statem_srvr.c:2282:
belette64 postfix/smtpd[145475]: lost connection after STARTTLS from smtp.misconfigured.fr[XX.XX.XX.XX]

답변1

그들의 과실을 해결하고 싶다면 다음을 추가할 수 있습니다.별도의 TLS를 무시하는 서버. 그것을 가지고알려진 불량 클라이언트 목록과만 대화(ehlo 또는 주소로 식별), 더 높은 우선순위 값의 MX 레코드나 방화벽을 통해서만 액세스할 수 있도록 하여 다른 클라이언트의 보안을 저하시키지 않도록 합니다.

이것이 단지 와 어떻게 다릅니까 smtp_tls_security_level=may?클라이언트가 보안 채널을 설정하지 못한 경우(메인 MX에 요청한 후) 두 번째 서버가 기능을 알리지 않기 때문에 실수를 반복할 수 없는 두 번째 기회를 허용합니다 STARTTLS.

어떻게 하나요?그만큼별도의 MX 레코드를 통해 게시경로가 더 안전하기 때문에다소간특별한 경우의 구성이 불가피하게 오래되었지만 포트 리디렉션을 수행하는 경우 설정하는 데 더 적은 단계가 필요한 경우 일반적인 경우로 대체됩니다.

  1. 다른 포트와 추가 옵션을 사용하여 smtpd 줄을 복제합니다 master.cf(로그 줄에 태그를 지정하고 향후 관리자가 이 작업이 수행된 이유를 이해할 수 있도록 설명을 추가하세요).
smtp       inet  n       -       y       -       -       smtpd
10025      inet  n       -       y       -       -       smtpd
 -o syslog_name=postfix/smtpd/badstarttls
 -o smtpd_tls_security_level=none
 -o smtpd_helo_required=yes
 -o smtpd_helo_restrictions=pcre:/etc/postfix/helo_badstarttls_allow.pcre,reject
  1. 다른 포트로의 리디렉션은 -A PREROUTING .. -j REDIRECT --to-port ..iptables를 통해 작동합니다. 또는 nftables에서:
tcp dport 25 ip protocol tcp ip saddr { XX.XX.XX.XX } redirect to :10025


그러나 그것은 아마도 가장 쉬운 선택도 아니고 올바른 선택도 아닐 것입니다.메일을 보내는 거의 모든 사람들이 다음과 같은 메일을 보내고 있습니다.~해야 한다안전하게 운송됩니다. 모범 사례를 위반하기 위해 특별 편의를 제공하는 경우 귀하는 이에 연루됩니다.대신 고쳐달라고 하세요.

EU 기반인 경우 다음과 같은 역할에 대해 선호하는 연락 방법을 게시했을 것입니다.데이터 보호 책임자따라서 설정 수정의 우선순위를 설명하는 것은 귀하의 임무가 아닙니다. 귀하가 해야 할 일은 개인 데이터를 처리하는 서버가 관리되지 않고 있다는 사실을 그들에게 알리는 것뿐입니다.

답변2

으로만 설정해야 합니다 may. 기회주의적 TLS는 앞으로 오랫동안 이메일에서 얻을 수 있는 최고의 기술입니다.

관련 정보