SMTP가 아닌 명령 시도를 무시하거나 완전히 차단해야 합니까?

SMTP가 아닌 명령 시도를 무시하거나 완전히 차단해야 합니까?

내 Postfix 메일 로그에는 매일 다음과 같은 여러 메시지가 나타납니다.

postfix/smtpd[7363]: warning: non-SMTP command from unknown[xx.xx.xx.xx]: GET / HTTP/1.0

무시해야 할까요, 아니면 차단해야 할까요? 이러한 시도를 차단해야 하는 경우 가장 좋은 접근 방식은 무엇입니까(iptables, 접미사 액세스 매핑 등)?

답변1

저는 Fail2ban을 사용합니다. /etc/fail2ban/filter.d/postfix.conf를 편집하여 추가 시도를 포착할 수 있습니다. 의심스러운 동작이 있는지 /var/log/mail.log 파일을 모니터링하고 필요에 따라 postfix.conf에 추가합니다. 여기 위에서 언급한 줄을 캡처하는 내 postfix.conf가 있습니다.

[INCLUDES]


before = common.conf

[Definition]

_daemon = postfix/smtpd

failregex = ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 554 5\.7\.1 .*$
        ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 450 4\.7\.1 : Helo       command rejected: Host not found; from=<> to=<> proto=ESMTP helo= *$
        ^%(__prefix_line)sNOQUEUE: reject: VRFY from \S+\[<HOST>\]: 550 5\.1\.1 .*$
        ^%(__prefix_line)sNOQUEUE: reject: RCPT from \S+\[<HOST>\]: 454 4\.7\.1 :*$
        reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
        reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
        reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1
    reject: RCPT from unknown\[<HOST>\]: 454 4.7.1
    connect from unknown\[<HOST>\]

ignoreregex = 

추가할 수도 있습니다.

warning: non-SMTP command from unknown\[<HOST>\]:: GET / HTTP/1.0

위 내용으로 모든 내용이 해결되지 않는 경우.

과거 IP 주소를 수동으로 금지하려면 IP 테이블을 사용하세요.

인사말과 행운을 빕니다.

매트

답변2

"명령"을 차단할 필요가 없습니다. 누군가가 잘못된 명령을 대량으로 실행하는 것을 발견하면 해당 IP 주소가 차단됩니다. 잘못된 명령은 해를 끼치지 않으며 어떤 경우에는 실용적입니다(예: 문제가 있는 클라이언트를 지원하기 위해).

관련 정보