LINUX.ORG.RU
ФорумAdmin

Спам рассылки с почтового сервера

 , ,


0

2

Всем доброго времени суток. Неделю назад началась массовая рассылка спам писем с одного конкретного адреса. fail2ban настроен, вроде заносит в черный список адреса, но что-то проходит. В итоге дошло до того, что репутация почтового сервера упала из-за одного конкретного адреса. Open relay точно закрыт. Centos 7+dovecot+postfix. Компьютер пользователя уже перерыли, там ничего такого нет. Даже с outlook решили пересадить на веб. В какую сторону копнуть?

Пример maillog с письмом:

Nov  8 10:55:43 mail postfix/pickup[21530]: BB424226220B: uid=1025 from=<info@mydomain.ru>
Nov  8 10:55:43 mail postfix/cleanup[22916]: BB424226220B: message-id=<20221108075543.BB424226220B@mail.mydomain.ru>
Nov  8 10:55:43 mail opendkim[1621]: BB424226220B: no signing table match for 'info@mydomain.ru'
Nov  8 10:55:43 mail opendkim[1621]: BB424226220B: no signature data
Nov  8 10:55:43 mail postfix/qmgr[4930]: BB424226220B: from=<info@mydomain.ru>, size=5499, nrcpt=1 (queue active)
Nov  8 10:55:44 mail postfix/cleanup[20715]: ECE1D2262207: message-id=<20221108075543.BB424226220B@mail.mydomain.ru>
Nov  8 10:55:44 mail postfix/smtp[3066]: BB424226220B: to=<lewisoski22@wp.pl>, relay=127.0.0.1[127.0.0.1]:10025, delay=0.35, delays=0.12/0.03/0.06/0.14, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as ECE1D2262207)
Nov  8 10:55:44 mail postfix/qmgr[4930]: BB424226220B: removed

postconf:

address_verify_sender = postmaster@mydomain.ru
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
anvil_rate_time_unit = 60s
black_client = check_sender_access hash:/etc/postfix/lists/black_client
black_client_ip = check_client_access hash:/etc/postfix/lists/black_client_ip
block_dsl = check_client_access regexp:/etc/postfix/lists/block_dsl
bounce_template_file = /etc/postfix/bounce.cf
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
content_filter = scan:[127.0.0.1]:10025
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
dovecot_destination_recipient_limit = 1
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
local_recipient_maps = unix:passwd.byname $alias_maps
mail_owner = postfix
mailbox_size_limit = 4098000000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maximal_backoff_time = 15m
maximal_queue_lifetime = 5h
message_size_limit = 4096000000
milter_default_action = accept
milter_protocol = 2
mime_header_checks = pcre:/etc/postfix/pcre_mime_header_checks
minimal_backoff_time = 5m
mx_access = check_sender_mx_access cidr:/etc/postfix/lists/mx_access
mydestination = localhost.$mydomain, localhost, $mydomain
myhostname = mail.mydomain.ru
mynetworks = 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
non_smtpd_milters = $smtpd_milters
queue_directory = /var/spool/postfix
queue_run_delay = 5m
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
receive_override_options = no_address_mappings
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sender_bcc_maps = hash:/etc/postfix/sender_bcc
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_destination_recipient_limit = 1024
smtpd_client_connection_rate_limit = 20
smtpd_client_message_rate_limit = 100
smtpd_client_recipient_rate_limit = 30
smtpd_client_restrictions = permit_mynetworks white_client white_client_ip black_client black_client_ip permit_sasl_authenticated reject_unauth_pipelining permit
smtpd_data_restrictions = permit
smtpd_end_of_data_restrictions = permit
smtpd_helo_required = no
smtpd_helo_restrictions = permit_mynetworks white_client_ip white_helo black_client_ip block_dsl
smtpd_milters = inet:127.0.0.1:8891
smtpd_recipient_restrictions = permit_mynetworks white_client white_client_ip black_client black_client_ip reject_unlisted_recipient permit_sasl_authenticated reject_non_fqdn_recipient reject_unauth_destination reject_unknown_recipient_domain reject_unverified_recipient reject_unknown_reverse_client_hostname reject_unknown_client_hostname reject_rbl_client bl.spamcop.net reject_rbl_client cbl.abuseat.org reject_rbl_client dul.ru reject_rbl_client dnsbl.abuse.ch reject_rbl_client zen.spamhaus.org=127.0.0.[2..11] reject_rbl_client zen.spamhaus.org reject_rbl_client psbl.surriel.com reject_rbl_client b.barracudacentral.org permit
smtpd_relay_restrictions = permit_mynetworks black_client black_client_ip
smtpd_restriction_classes = white_client_ip black_client_ip block_dsl white_client white_helo black_client mx_access
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_restrictions = permit_mynetworks white_client black_client white_client_ip black_client_ip permit_sasl_authenticated reject_non_fqdn_sender reject_unknown_sender_domain mx_access reject_authenticated_sender_login_mismatch reject_unauthenticated_sender_login_mismatch reject_sender_login_mismatch reject_unlisted_sender reject_unauth_destination check_sender_access hash:/etc/postfix/sender_access permit
smtpd_tls_cert_file = /etc/ssl/mail/public.crt
smtpd_tls_key_file = /etc/ssl/mail/private.key
smtpd_tls_received_header = yes
smtpd_use_tls = yes
soft_bounce = no
transport_maps = hash:/etc/postfix/transport_maps
unknown_local_recipient_reject_code = 550
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:1024
virtual_mailbox_base = /home/mail
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 1024
virtual_transport = dovecot
virtual_uid_maps = static:1024
white_client = check_sender_access hash:/etc/postfix/lists/white_client
white_client_ip = check_client_access hash:/etc/postfix/lists/white_client_ip
white_helo = check_sender_access hash:/etc/postfix/lists/white_helo

Ответ на: комментарий от firkax

часть конфига fail2ban:

[postfix-sasl]
enabled = true
port    = smtp,465,ssmtp,submission,imap2,imap3,imaps,pop3,pop3s
filter = postfix-sasl
#action = iptables[name=Postfix-smtp, port=smtp, protocol=tcp]
action=route
logpath = /var/log/fail2ban.log
bantime = -1
maxretry = 3
findtime = 3600
ignoreip=127.0.0.1/8 192.168.8.0/24 192.168.5.0/24 192.168.63/24 192.168.61.0/24 192.168.62/24

maximice
() автор топика
Ответ на: комментарий от maximice
smtpd_client_restrictions = permit_mynetworks white_client white_client_ip black_client black_client_ip permit_sasl_authenticated reject_unauth_pipelining permit

Вот это:

permit_mynetworks white_client white_client_ip black_client black_client_ip

Разрешение для сетей, в том числи и permit_mynetworks должно идти ниже проверки на авторизацию.

Ты разрешаешь отправку писем сразу с доверенных IP адресов.

Остальные проверки при этом не проходят.

У тебя, скорее всего, почту отправляют через прямое подключение на SMTP порт почтового сервера.

Проверь отправку почты через telnet подключение на SMTP порт почтового сервера ручным вводом команд.

Если это так, то у тебя сейчас любой из Internet или твоей локальной сети подключившись напрямую на порт почтового сервера может отправить почту с любого почтового адреса.

Сейчас не найду, но примерно так: https://practical365.com/how-to-send-email-via-telnet/

Проверь, если так письмо отправится, значит проблема именно в том, что я написал.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от maximice

Повышай уровень логирования и смотри откуда.

Но вообще, мне кажется, что при такой настройке, как раз при подключении с сервера и отправляется.

По первому подходящему правилу разрешения, если выше не было запрещающих правил, отправляемое сообщение выходит из цепочки проверки.

Попробуй всё же переемесить разрешённые сети вниз.

У меня вот так:

# Sender restrictions
smtpd_sender_restrictions =
    reject_authenticated_sender_login_mismatch
    reject_unknown_sender_domain
    reject_non_fqdn_sender
    reject_unlisted_sender
    permit_mynetworks
    permit_sasl_authenticated
    permit

smtpd_recipient_restrictions =
    check_sender_access texthash:/etc/postfix/lists/local_only,
    check_client_access cidr:/etc/postfix/client_checks,
    check_recipient_access hash:/etc/postfix/tables/recipients_access
    reject_unknown_recipient_domain
    reject_non_fqdn_recipient
    reject_unlisted_recipient
    permit_sasl_authenticated
    reject_unauth_destination
    permit_mynetworks
    permit

У тебя в smtpd_recipient_restrictions тоже permit_mynetworks стоит самым первым, это думаю неправильно.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 2)
Ответ на: комментарий от AS

Пример письма

*** ENVELOPE RECORDS deferred/6/6A2EC226220A ***
message_size:            2920             664               1               0            2920
message_arrival_time: Fri Nov 25 10:44:08 2022
create_time: Fri Nov 25 10:44:08 2022
named_attribute: log_ident=6A2EC226220A
named_attribute: rewrite_context=local
sender: info@mydomain
named_attribute: log_client_name=localhost
named_attribute: log_client_address=127.0.0.1
named_attribute: log_client_port=40338
named_attribute: log_message_origin=localhost[127.0.0.1]
named_attribute: log_helo_name=mail.mydomain
named_attribute: log_protocol_name=ESMTP
named_attribute: client_name=localhost
named_attribute: reverse_client_name=localhost
named_attribute: client_address=127.0.0.1
named_attribute: client_port=40338
named_attribute: helo_name=mail.mydomain
named_attribute: protocol_name=ESMTP
named_attribute: client_address_type=2
named_attribute: dsn_orig_rcpt=rfc822;amycarroll@insightbb.com
original_recipient: amycarroll@insightbb.com
recipient: amycarroll@insightbb.com
*** MESSAGE CONTENTS deferred/6/6A2EC226220A ***
Received: from mail.mydomain.ru (localhost [127.0.0.1])
        by mail.mydomain.ru (Postfix) with ESMTP id 6A2EC226220A
        for <amycarroll@insightbb.com>; Fri, 25 Nov 2022 10:44:08 +0300 (MSK)
Received: by mail.mydomain (Postfix, from userid 1025)
        id 46A482262207; Fri, 25 Nov 2022 10:44:06 +0300 (MSK)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.mydomain 46A482262207
X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.mydomain
X-Spam-Level: ****
X-Spam-Status: No, score=4.9 required=5.0 version=3.4.0
Received: from mydomain.ru (unknown [37.0.15.243])
        by mail.mydomain (Postfix) with ESMTP id 57B17226221B
        for <amycarroll@insightbb.com>; Fri, 25 Nov 2022 10:43:44 +0300 (MSK)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.mydomain 57B17226221B
Reply-To: infouncc@vivaldi.net
From: Mr James Wells <info@mydomain.ru>
To: amycarroll@insightbb.com
Subject: Urgent
Date: 25 Nov 2022 07:43:43 -0800
Message-ID: <20221125074343.03D7E13BCAE1C10F@mydomain.ru>
MIME-Version: 1.0
Content-Type: text/plain;
        charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Virus-Scanned: ClamAV using ClamSMTP

Attention
=20
This is to draw your attention to your payment lying with the=20
suspense Department. We have been authorized to effect every=20
outstanding payment immediately based on the new Government=20
instruction, the only problem now is that we detected a lot of=20
irregularities associated with your master card delivery and we=20
will appreciate it if you answer the following question.

=20
(1) Did you at any time delegate anybody from your family to=20
claim your MasterCard on your behalf?
=20

=20
(2) Were you involved in the corona virus?
=20

=20
(3)  Are you aware of or related to one Mr. Thomas Mick from your=20
country?
=20

=20
Please reconfirm and answer the above questions because Mr.=20
Thomas Mick came to our foreign payment department and submitted=20
an application that you authorized your payment to be released to=20
him with a report that you are now dead with corona virus.

=20
After processing the application of Mr. Thomas Mick himself which=20
he made known to us that he came from you, he submitted some=20
required documents as to make sure that we effect the release of=20
payment as quickly as possible without any further delay
=20

=20
The delay in transferring the Payment is due to the request for a=20
power of attorney authorizing him to pursue this payment on your=20
behalf. He asked for a week to submit the document, but up till=20
now we have not received any of the documents from any of you.=20
Why? Please forward us the power of attorney. so that we can=20
effect the  payment  to Thomas Mick on your behalf without delay.
=20

=20
Awaiting your prompt response.
=20

=20
Best Regards
Mr James wells
*** HEADER EXTRACTED deferred/6/6A2EC226220A ***
*** MESSAGE FILE END deferred/6/6A2EC226220A ***

maximice
() автор топика
Ответ на: комментарий от maximice
Received: from mydomain.ru (unknown [37.0.15.243])
        by mail.mydomain (Postfix) with ESMTP id 57B17226221B
        for <amycarroll@insightbb.com>; Fri, 25 Nov 2022 10:43:44 +0300 (MSK)

Open relay (термин такой; гуглится, а не только переводится) судя по всему. Ищи правила, по которым у тебя позволено для не пойми кого (т.е. 37.0.15.243) принимать транзитные E-Mail.

AS ★★★★★
()
Ответ на: комментарий от maximice

Received: from mydomain.ru (unknown [37.0.15.243])

Кстати, я бы правило написал, чтобы с helo=`hostname` и не 127.0.0.1 сразу бы шли лесом. Но «open relay» лечить надо отдельно.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от maximice

В самом первом сообщении у меня postconf.

Я не пользуюсь Постфиксом, даже пытаться понять не буду, что там. Но в заголовке явно написано, что Received: from mydomain.ru (unknown [37.0.15.243]). Вот и надо разбираться, на каком основании сообщение от 37.0.15.243 принято. Домен insightbb.com не локальный же?

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)