![Spamassasin이 점수에 따라 메일을 거부하도록 만드는 방법은 무엇입니까?](https://rvso.com/image/515052/Spamassasin%EC%9D%B4%20%EC%A0%90%EC%88%98%EC%97%90%20%EB%94%B0%EB%9D%BC%20%EB%A9%94%EC%9D%BC%EC%9D%84%20%EA%B1%B0%EB%B6%80%ED%95%98%EB%8F%84%EB%A1%9D%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
저는 Postfix, Dovecot, Postgrey 및 spamassasin/spamd를 사용하여 Linux를 실행하고 있습니다.
이것은 내 main.cf입니다.
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_invalid_hostname,
reject_unauth_pipelining,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
check_policy_service inet:127.0.0.1:10030
postfix가 포착하지 못한 다른 이메일에 스팸 헤더를 추가하는 spamassasin이 생겼는데 어떻게 거부하게 만들 수 있나요?
답변1
Spamassasin/Amavis를 프록시 필터로 사용하도록 postfix를 구성할 수 있습니다. 이렇게 하면 반송을 방지할 수 있습니다. 스팸 검사가 완료될 때까지 SMTP 원격 측에 대한 연결은 열린 상태로 유지되며 Postfix는 OK 또는 REJECTED 메시지로 응답합니다. 이렇게 하면 원격 측에서 바운스를 담당하게 됩니다.
# master.cf
# mail inbound
smtp inet n - - - - smtpd
-o smtpd_proxy_filter=127.0.0.1:10024
-o smtpd_client_connection_count_limit=10
-o smtpd_proxy_options=speed_adjust
# spamassasin/amavis is listening to port 10024 and sending it's
# checked mail to port 10025
amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
# SMTP return (from amavis/spamassasin)
localhost:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_override_options=no_address_mappings
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_unknown_recipient_checks
# main.cf
# for rejecting spam
header_checks = pcre:/etc/postfix/header_checks
# header_checks
/X-Spam-Level: \*{9,}/ REJECT Looks like spam to me.
Amavis를 사용하여 spamassasin을 호출하는 경우 Amavis가 메일을 거부하도록 할 수 있습니다. 거부 임계값은 로 구성할 수 있습니다 $sa_kill_level_deflt
. Amavis 사용 시 SMTP 반환 항목 ,no_header_body_checks
에 추가하세요 .receive_override_options
답변2
일반적으로 당신은 아무것도 거부하고 싶지 않습니다. 대부분의 스팸에는 위조된 헤더가 있으므로 사람들은 자신에게 속하지 않은 반송을 받을 수 있으며, 이는 해당 사람들과 관리자에게 골치 아픈 일이 될 뿐입니다(또는 기본적으로 잘못된 반송으로 사서함이 넘쳐 스팸을 직접 생성하는 것입니다).
더 나은 방법은 스팸을 보관하거나 스팸 폴더에 넣어 사용자가 실제로 스팸이 아닌 경우에도 스팸에 액세스할 수 있도록 하는 것입니다. 그리고 메일이 충분히 오래되면 해당 메일을 삭제하도록 메일 클라이언트를 설정하면 됩니다. 당신은 그것이 필요하지 않을 것이라고 확신합니다.
그 외에는 1차 방어를 위해 메일 서버를 구성하세요. SPF를 사용하도록 설정할 수 있고, RFC 등을 엄격하게 준수하는지 확인할 수 있습니다. 한 단계 더 나아가고 싶다면 RBL에서 거부하도록 확인하세요. 블랙홀 목록에 있는 메일입니다. 강력하지만 잘못 추가된 서버를 주기적으로 차단할 수 있으므로 해당 목록을 사용하려는지는 귀하에게 달려 있습니다. 반면에 이메일은 사람들이 생각하는 것처럼 신뢰할 수 있는 통신 매체가 아닙니다. 이메일은 성공할 수도 있고 그렇지 않을 수도 있습니다. 그리고 어떤 것이 생사에 중요한 경우 다른 매체를 통해 통신하여 수신을 확인하세요...스패머는 모든 사람을 위해 이메일을 망칩니다.
답변3
가장 좋은 아이디어는 점수에 따라 간단히 필터링하는 것입니다. 중요한 전자 메일이 SA에 의해 차단되는 경우가 있는데, 해당 전자 메일을 영구적으로 잃어버리고 싶지는 않을 것입니다(또한 최종 사용자는 해당 전자 메일이 절대 전달되지 않을 것이라고 생각할 것입니다).
내 개인 서버에서는 점수가 3.5보다 높은 모든 항목이 사용자의 스팸 폴더로 전달됩니다. 이렇게 하면 항상 전달되고 사용자는 이에 액세스할 수 있습니다. 그런 다음 해당 폴더에서 3주보다 오래된 항목을 삭제하는 cronjob이 있습니다.
답변4
Milter 프로토콜을 통해 스팸 필터를 사용할 때 Milter 필터 이후 추가 헤더 검사를 수행할 수 있습니다. http://www.postfix.org/header_checks.5.html
milter_header_checks(기본값: 비어 있음)
이는 Milter 애플리케이션으로 추가된 헤더에 적용됩니다. 이 기능은 Postfix 2.7 이상에서 사용할 수 있습니다.