RDNS가없는 메일 서버의 메일을 거부하는 것이 좋은 습관입니까


20

최근 SpamAssassin을 삭제했으며 현재 DNSRBL, 그레이 리스팅 및 기타 기본 테스트를 기반으로 스팸을 거부하고 있으며 EHLO와 일치하는 유효한 RDNS가없는 호스트도 차단해야하는지 궁금합니다.

이렇게하면 많은 합법적 인 메일에 문제가 생겨 고객을 화나게합니까? 나는 사람들이 AOL이 이런 일을한다고 생각하는 것을 들었습니다.

또한 RDNS가 최소한 무언가로 설정되어 있는지 확인하여 타협 할 수 있는지 궁금하지만 EHLO와 일치 시키지는 않습니다. Postfix에서도 가능합니까? 유용합니까?


4
예, 매우 적은 수의 사람들이 문제를 겪고 있더라도 일반적으로 수행됩니다. 스팸 방지-이메일 관리자, 도메인 소유자 또는 사용자로 할 수있는 작업을 참조하십시오 . 추가 토론을 위해.
Michael Hampton


많은 달 전에 Red Hat에서 sendmail을 새로 설치했을 때의 역방향 조회가 기본값이었습니다 ... 메일 서버의 공식 표준은 아니지만 rDNS는 사실상의 표준이라고 생각합니다. 그것은 동적 IP 주소 (즉, 소비자 등급 ISP 연결을 가진 가정)의 사람들을 망쳐 놓았지만 연결이있는 동적 IP의 대부분은 오늘날 봇넷이었습니다.
Avery Payne

답변:


10

HELO / EHLO 검사를 통해 100k-200k 사용자 사이의 상당히 적절한 규모의 고객 기반으로 여러 가지 접근법을 시도했으며 결국 다음과 같은 솔루션을 얻었습니다.

  • HELO / EHLO에 도메인 이름이 포함되어 있는지 확인하십시오. -이름이 점으로 표시되도록 대부분 비등합니다. 이름에서 DNS를 확인하면 서버가 내부 이름이나 제대로 확인할 수없는 것을 나타내는 것이 드문 일이 아니기 때문에 많은 서버가 실패했습니다.
  • IP에 역방향 DNS 레코드가 있는지 확인하십시오. -HELO / EHLO와 비교하여 확인하지 않기 때문에이 설정은 지연 설정입니다. HELO / EHLO를 확인하여 너무 많은 티켓을 만들었습니다.이 설정은 하루도 지속되지 않습니다.
  • 발신자 도메인 이름이 유효한지 확인하십시오. -이것은 메시지를 반송해야하는지 확인하기위한 기본 점검입니다. 최소한 서버를 찾는 방법이있을 것입니다.

이러한 검사에 사용하는 Postfix 블록은 다음과 같습니다.

smtpd_recipient_restrictions =
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unknown_reverse_client_hostname,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_sender_domain,
    reject_non_fqdn_recipient

1
또한 좋은 추가 방법은 ISP와 같이 xxxx.dynamic.yyy.com또는 에 의해 동적으로 할당 된 다양한 이름과 일치하는 정규식 목록과 비교하여 호스트 이름을 확인하는 것 12-34-56-78.dsl.zzz.com입니다. 이러한 모든 호스트는 ISP의 릴레이를 통해 메일을 보내야하며 수신자의 MX로 직접 보내지 않아야합니다. 주로 그러한 호스트는 봇넷 노드와 내가 베이를 배우기 위해 사용한 메시지입니다.
Kondybas

이것은 나를위한 해결책 인 것 같습니다. SpamAssassin을 실행하여 RDNS와의 HELO 일치에 실패한 메일을 제외하고 모두 우회하도록하는 방법이 있습니까? 그렇다면 특정 점수 이상의 메일 만 반송합니까? 다른 메일은이 단계를 계속 우회합니다.
피터 스노우

exim MTA를 사용하여 순차적으로 다음과 같이했습니다. 발신자의 주소 / 호스트가 화이트리스트와 비교하여 확인됩니다. 일치하는 경우-즉시 수락하고 그렇지 않으면 블랙리스트와 비교하여 검사합니다. 일치하는 경우-변수 플래그가 "Gotcha!" 메시지도 수락됩니다. 메시지가 목록을 통과 한 경우 데몬으로 작동하는 SA로 전달됩니다. 충분히 높은 값을 반환하면 플래그 "Gotcha!" 제기 및 메시지도 수락되었습니다. 그런 다음 메시지가 라우터로 전달되었습니다.
Kondybas

1
플래그가 발생하지 않으면 평소대로 메시지가 전달됩니다. 그렇지 않으면 블라인드 사본이 생성됩니다. 원본 메시지는 평소와 같이 다시 전달되고 BC는 전송으로 sa- 학습 된 특수 라우터로 전달됩니다. 이러한 체계를 통해 메일 흐름을 SA-bayes를 배우는 확실한 스팸 지점으로 분할하고 SA-bayes가 확인한 나머지 부분을 의심 할 수 있습니다. 플래그가 올린 메시지에는 "정크"로 정렬 할 수있는 추가 헤더도 있습니다.
Kondybas

사서함에 대해 이러한 규칙을 확인했으며 도메인이 아닌 HELO 또는 역방향 DNS 레코드가 없기 때문에 거부 된 전자 메일이 있습니다. 그 중 몇 개 (전자 메일이 4 만 개가 포함 된 사서함에 몇 명의 발신자 만 있음)는 있지만, 중요한 내용이 있습니다. 특히,를 사용한 경우 reject_unknown_reverse_client_hostname특정 동남아시아 국가에 대한 비자 신청 결과가 포함 된 전자 메일이 발송되지 않았을 것입니다. reject_invalid_helo_hostnameand 사용하지 않는 것이 reject_unknown_reverse_client_hostname좋습니다.
michau

12

다음 기본 사항이없는 SMTP 서버를 차단하는 것이 일반적입니다.

  1. HELO 전달의 호스트 이름은 원래 IP 연결로 해석됩니다.
  2. 연결 오리진 IP는 HELO에 청구 된 호스트 이름으로 바뀝니다.
  3. SPF, DKIM 또는 DMARC 정책이 존재하면 확인하십시오.

이 중 하나 때문에 막히려는 사람은 타르와 깃털이 있어야합니다.
다른 이유로, 특히 "비정상적인"상황에서 RFC 적합성에 의존하는 상황으로 인해 막힌 사람들은 동정심을 갖게 될 것입니다. 스팸은 기본 사항을 놓친 것에 대한 변명의 여지가없는 문제입니다.


2
역방향 조회 이름은 HELO와 전혀 일치하지 않아도됩니다. 호스트는 많은 도메인을 작동시킬 수 있지만 역방향 조회는 하나의 기본 이름 만 반환합니다.
Kondybas

1
물론 원하는대로 할 수 있습니다. 귀하의 서버는 511 Your rDNS doesn't match your HELO내 서버 및 다른 많은 서버에서 가져 옵니다. 스팸은 SMTP RFC 설계자가 처리 할 필요가없는 주요 문제입니다. 현실적인 요구 사항은 RFC와는 약간 다릅니다.
Chris S

MTA가 올바르게 구성되어 있으면 스팸은 문제가되지 않습니다. 내 경험에 따르면 (실패한 rDNS OR가 짧은 로컬 정규식 목록 OR베이와 일치 하지 않음 ) 99.99 %의 스팸을 탐지 한 것으로 나타났습니다. DNSBL, 그레이리스트, DKIM, SPF 없음 매월 2 만 건 이상의 수신 메시지 한달에 1-2 false-p, 10-20 false-n.
Kondybas

5

MTA를 보내려면 유효한 RDNS가 필요하지만 EHLO와 일치한다고 주장하면 '고객'이 누구인지에 달려 있습니다. RFC5321 에서 흥미로운 지침을 찾을 수 있습니다 .

2.3.5.

(...) EHLO 명령에 제공된 도메인 이름은 기본 호스트 이름 (주소 RR로 해석되는 도메인 이름)이거나 호스트에 이름이없는 경우 주소 리터럴 (...)이어야합니다.

4.1.4.

(...) SMTP 서버는 EHLO 명령의 도메인 이름 인수가 실제로 클라이언트의 IP 주소와 일치하는지 확인할 수 있습니다. 그러나 확인에 실패한 경우 서버는 해당 메시지를 거부하지 않아야합니다.

그러나 7.9에서.

SMTP 서버가 서버를 제공하는 사이트에 적합한 운영상의 또는 기술적 이유 때문에 메일 수신을 거부 할 수 있다는 것이 잘 확립 된 원칙입니다. (...)


1
실제 환경에서 EHLO와 함께 전송 된 문자열이 RFC를 준수하지 않기 때문에 이것은 아마도 금지되어있을 것입니다. 내부 호스트 이름 localhost및 기타 합법적 인 메일이 포함 된 다른 많은 잘못된 것을 보았습니다 .
Michael Hampton

3

역방향 조회가 반드시 HELO에 제공된 호스트 이름을 가리킬 필요는 없습니다. 때때로 동일한 호스트에서 여러 도메인이 호스트되고 모든 도메인이 동일한 IP 주소를 갖습니다. 그러나 역방향 조회를 수행하려고하면 PTR 레코드에 배치 된 이름이 표시됩니다. 두 FQDN이 다를 수 있다는 것은 명백하며 이는 완전히 수용 가능합니다.

메시지를 삭제할 수있는 유일한 상황은 역방향 조회에 실패한 것입니다. 성공적인 검색은 호스트가 유효 함을 의미합니다. 이름이 일치하지 않아야합니다.


1
"두 FQDN이 다를 것이라는 것은 명백하다. 그리고 그것은 완전히 수용 가능하다." 아니요. PTR 레코드는 하나만 구성 할 수 있으며 메일 서버는 HELO에서 하나의 호스트 이름 만 발표 할 수 있습니다. 따라서 둘 다 일치 할 수 있음이 분명합니다.
Chris S

2

EHLO와 일치하는 유효한 RDNS가없는 호스트도 차단해야하는지 궁금합니다.

아닙니다. 나쁜 습관은 하나의 기준으로 만 전체 이메일을 차단합니다.

이렇게하면 많은 합법적 인 메일에 문제가 생겨 고객을 화나게합니까?

합법적 인 메일을 잃을 가능성이 더 높습니다

또한 RDNS가 최소한 무언가로 설정되어 있는지 확인하여 타협 할 수 있는지 궁금하지만 EHLO와 일치 시키지는 않습니다. Postfix에서도 가능합니까? 유용합니까?

예, 가능합니다. reject_unknown_client_hostname 대신 reject_unknown_reverse_client_hostname을 사용할 수 있습니다

불행히도 postfix에는 "복잡한 결정"을위한 유연한 옵션이 없습니다. 예를 들어 그러한 메일에 대해 몇 가지 요점을 추가 할 수 있습니다.

Score = 0 
1. The HELO or EHLO hostname is not in fully-qualified domain or address literal form. Score +=10
2. The HELO or EHLO hostname has no DNS A or MX record. Score +=20
3. The HELO or EHLO hostname is listed with the A record "d.d.d.d" under rbl_domain. Score +=20
4. The sender domain has no DNS A or MX record. Score +=10
5. SPF checks return softfail. Score +=10, fail, Score +=20
...

등등. 모든 확인이 완료된 후 점수가 100보다 크면 메일을 거부 할 수 있습니다. 실제로 그러한 행동을 취할 수는 있지만 자신의 정책 서비스 를 작성해야 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.