이러한 "단일 점" smtp 연결 실패는 어디에서 발생합니까?

이러한 "단일 점" smtp 연결 실패는 어디에서 발생합니까?

저는 postfix를 기반으로 메일서버를 운영하고 있습니다. 다음과 같은 연결 실패가 많이 있습니다.

Transcript of session follows.

Out: 220 hostname.tld ESMTP Postfix
In:  .
Out: 502 5.5.2 Error: command not recognized
In:
Out: 500 5.5.2 Error: bad syntax

Session aborted, reason: lost connection

이러한 연결은 서로 다른 IP에서 이루어지지만 대부분의 경우 IP당 수십에서 수백 번의 시도가 이루어집니다.

이러한 연결의 원인은 무엇입니까? 이것이 "문을 두드리는" 바이러스, 웜 또는 봇넷이라면 호스트당 왜 그렇게 여러 번 발생합니까? 아니면 단일 점에 일종의 기능 테스트를 보내고 서버가 잘못된 방식으로 반응합니까? 다시 말하지만, 여러 번 시도하는 것은 의미가 없습니다. 그리고 DoS 규모와는 거리가 멀습니다.

어쩌면 여러분 중 일부는 그곳에서 무슨 일이 일어나고 있는지 알고 있습니까?

답변1

점은 SMTP 프로토콜에서 이메일 메시지를 종료하는 데 사용됩니다. 빈 줄(CR, LF)과 단일 점, 다시 CR 및 LF가 포함된 개행이 옵니다. 그러나 여기서는 분명히 그렇지 않습니다.

이러한 SMTP 클라이언트가 봇넷인지 합법적인 발신자인지 확인하려면 해당 IP의 PTR을 살펴보세요. 둘 다 기록됩니다. PTR이 공급자의 일반적인 PTR인 경우 192-0-2-1.broadband.customers.example.com. 그런 다음 실제로 이를 무시하고 Fail2ban을 사용하여 차단할 수 있습니다.

HELO는 PTR과 일치해야 합니다. 최소한 모범 사례입니다. 그러나 유사하지 않다면 이는 아마도 봇넷일 가능성이 높습니다.

다른 경우에는 누군가가 귀하의 서버를 스캔하고 TLS 프로토콜과 암호를 조사하고 있을 수도 있습니다.


이러한 요청 후에 클라이언트를 금지하려면 잘못된 요청이 너무 많으면 일시적으로 IP를 차단하는 fall2ban을 사용할 수 있습니다.

filter.d/postfix-syntax.conf

[INCLUDES]
before = common.conf

[Definition]
failregex = reject: RCPT from (.*)\[<HOST>\]: 502 5.5.2
            reject: RCPT from (.*)\[<HOST>\]: 500 5.5.2
ignoreregex =

그리고 이것을 다음 항목에 추가하세요 jail.conf.

[postfix-syntax]
enabled  = true
port     = smtp,ssmtp,submission
filter   = postfix-syntax
logpath  = /var/log/mail.log
maxretry = 10

답변2

메일 서버를 인터넷에 노출한 경우 대부분의 연결은 스팸봇 및 기타 불법적인 발신자로부터 이루어질 것으로 예상됩니다.

나는 fall2ban의 모든 오류에 대해 일치하는 거부를 고려할 것입니다. 합법적인 발신자는 생성 및 오류가 거의 발생하지 않으며 차단되면 나중에 다시 시도합니다. 나는 스패머로 의심되는 사람들에게 불쾌한 일을 하고 있으며, 합법적인 발신자가 배달 지연 이외의 문제를 겪은 지 수년이 지났습니다.

나는 보낸 사람의 적법성을 확인하기 위해 몇 가지 테스트를 사용합니다.

  • IP가 에 나열되어 있지 않습니다 zen.spamhaus.org. (다양한 동적 IP를 포함합니다.)
  • IP에 PTRrDNS를 통과하는 DNS가 있습니다. 합법적인 메일에 PTR기록이 없는 경우는 거의 없으며 rDNSIP 주소의 경우 거의 항상 통과합니다.
  • HELO/EHLO 명령의 이름은 rDNS를 전달하는 FQDN(정규화된 도메인 이름)입니다. 한 대기업을 제외하면 거의 항상 통과됩니다. 일반적으로 이 이름은 IP 주소에 사용되는 이름과 동일합니다.
  • PTR 레코드의 이름과 HELO 명령은 직접 또는 상위 도메인에 대해 SPF HELO 확인을 통과합니다. SPF 레코드가 없는 도메인도 통과는 되지만 신뢰성은 얻지 못합니다. 이는 대규모 조직의 도메인을 사용하여 자신을 식별하는 스팸봇을 차단합니다.

DKIM을 사용하여 유효성을 검사하고 싶지만 높은 비율의 발신자가 공개 키를 DNS에 제대로 게시하지 않습니다.

연결이 아직 열려 있는 동안 이러한 테스트를 실행할 수 없는 경우 보낸 사람이 스푸핑되지 않았음을 확인할 수 없으면 메시지를 반송하지 마십시오. (FBI, UN, 은행 등에서 자금을 제안해 주셔서 감사합니다. 하지만 아직 자금이 전달되지 않았습니다.)

관련 정보