Рейтинг:0

Как предотвратить несанкционированную ретрансляцию почты в Postfix

флаг ru
adm

Похоже, наш почтовый сервер используется для рассылки спама.

  • Отправитель электронной почты является поддельной реальной учетной записью на нашем сервере.
  • В истории отправленных писем для этой учетной записи нет.

Я хотел бы знать, есть ли способ предотвратить это. Любые советы приветствуются.

Лог постфикса:

9 мая 22:12:21 mx postfix/submission/smtpd[1885206]: предупреждение: имя хоста 201-91-101-26.customer.tdatabrasil.net.br не разрешается в адрес 201.91.101.26: имя или служба неизвестны
9 мая 22:12:21 mx postfix/submission/smtpd[1885206]: подключиться от неизвестного[201.91.101.26]
9 мая 22:12:27 mx postfix/submission/smtpd[1885206]: установлено анонимное TLS-соединение от неизвестного[201.91.101.26]: TLSv1.3 с шифром TLS_AES_256_GCM_SHA384 (256/256 бит) обмен ключами X25519 сервер-подпись ECDSA ( P-256) дайджест сервера SHA256
9 мая 22:12:29 mx postfix/submission/smtpd[1885206]: 984BB13B35D: client=unknown[201.91.101.26], sasl_method=PLAIN, [email protected]
9 мая 22:12:31 mx postfix/sender-cleanup/cleanup[1892316]: 984BB13B35D: заменить: header MIME-Version: 1.0 from unknown[201.91.101.26]; from=<[email protected]> to=<****@yahoo.com.br> proto=ESMTP helo=<EHZDDZCUEY0FN7B75U0HKZOH1JP2P2UI>: Mime-версия: 1.0
9 мая 22:12:32 mx postfix/qmgr[944]: 984BB13B35D: from=<[email protected]>, size=18836, nrcpt=1 (очередь активна)
9 мая 22:12:32 mx postfix/smtp[1892491]: 984BB13B35D: to=<****@yahoo.com.br>, relay=smtp.****.****.com[192. ***.***.***]: 587, задержка = 3,9, задержки = 3,6/0,01/0,13/0,13, dsn = 2,0,0, статус = отправлено (250 ОК)
9 мая 22:12:32 mx postfix/qmgr[944]: 984BB13B35D: удалено
9 мая 22:12:35 mx postfix/submission/smtpd[1885206]: E344C13B35D: client=unknown[201.91.101.26], sasl_method=PLAIN, [email protected]
# постконф -n
alias_database = хэш:/и т.д./псевдонимы
alias_maps = хеш:/и т.д./псевдонимы
разрешить_мин_пользователь = да
anvil_rate_time_unit = 60 с
append_dot_mydomain = нет
биф = нет
bounce_queue_lifetime = 7200 с
уровень_совместимости = 2
default_process_limit = 5000
disable_vrfy_command = да
header_checks = pcre:/etc/postfix/maps/header_checks.pcre
inet_interfaces = все
inet_protocols = ipv4
почтовый ящик_размер_лимит = 20000000000
maximal_backoff_time = 7200 с
maximal_queue_lifetime = 7200 с
message_size_limit = 52428800
milter_default_action = принять
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
milter_protocol = 6
минимальное_отступление_время = 1600 сек.
мой пункт назначения = $имя_хоста, локальный_хост.$мой_домен,_локальный_хост
мойдомен = мой-домен.net
myhostname = mx.мой-домен.net
mynetworks = 127.0.0.0/8 [::1]/128 [fe80::]/64 192.168.18.0/24 10.102.0.0/16 172.18.0.0/16 10.102.0.0/16
не_smtpd_milters = инет:127.0.0.1:11332
policyd-spf_time_limit = 3600
postscreen_bare_newline_action = принудительно
postscreen_dnsbl_action = принудительно
postscreen_dnsbl_sites = zen.spamhaus.org*3 bl.mailspike.net b.barracudacentral.org*2 bl.spameatingmonkey.net dnsbl.sorbs.net psbl.surriel.com list.dnswl.org=127.0.[0..255] .0*-2 list.dnswl.org=127.0.[0..255].1*-3 list.dnswl.org=127.0.[0..255].[2..3]*-4
postscreen_dnsbl_threshold = 3
postscreen_dnsbl_whitelist_threshold = -1
postscreen_greet_action = принудительно
queue_run_delay = 200 с
readme_directory = нет
получатель_разделитель = +
relayhost = [smtp.****.****.com]:587
sender_dependent_relayhost_maps = texthash:/etc/postfix/relayhost_map
smtp_destination_concurrency_limit = 10
smtp_discard_ehlo_keywords = размер
smtp_header_checks = pcre:/etc/postfix/maps/sender_header_filter.pcre
smtp_initial_destination_concurrency = 2
smtp_sasl_auth_enable = да
smtp_sasl_password_maps = texthash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = неанонимный
smtp_sender_dependent_authentication = да
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_tls_CApath = /etc/ssl/сертификаты
smtp_tls_loglevel = 1
smtp_tls_note_starttls_offer = да
smtp_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtp_tls_security_level = может
smtp_use_tls = да
smtpd_banner = $myhostname ESMTP
smtpd_client_message_rate_limit = 100
smtpd_client_restrictions = Permit_MyNetworks, Permit_Sasl_аутентифицированный, Check_client_access hash:/etc/postfix/client_access.map, reject_unknown_reverse_client_hostname
smtpd_delay_reject = да
smtpd_error_sleep_time = 1 с
smtpd_hard_error_limit = 20
smtpd_helo_required = да
smtpd_helo_restrictions = check_helo_access pcre:/etc/postfix/helo_access.map Permit_myNetworks Permit_Sasl_authenticated reject_invalid_helo_hostname reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
smtpd_milters = инет:127.0.0.1:11332
smtpd_recipient_restrictions = allow_sasl_authenticated, allow_mynetworks, reject_unauth_destination, check_policy_service unix:private/policyd-spf, reject_unauth_pipelining, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unknown_recipient_domain, check_policy_service reject_client.net:splocalhost,_zenrbl.org:65265
smtpd_relay_restrictions = Permit_MyNetworks Permit_Sasl_Authenticated defer_unauth_destination
smtpd_sasl_auth_enable = да
smtpd_sasl_authenticated_header = да
smtpd_sasl_path = /var/spool/postfix/private/auth
smtpd_sasl_type = голубятня
smtpd_sender_login_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf mysql:/etc/postfix/mysql-virtual-alias-maps.cf mysql:/etc/postfix/mysql-virtual-sender-maps.cf
smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch, check_sender_access hash:/etc/postfix/sender_access.map, reject_non_fqdn_sender, reject_sender_login_mismatch
smtpd_soft_error_limit = 10
smtpd_tls_CApath = /etc/ssl/сертификаты
smtpd_tls_auth_only = да
smtpd_tls_chain_files = /etc/postfix/ssl/key /etc/postfix/ssl/cert
smtpd_tls_dh1024_param_file = /etc/postfix/dhparams.pem
smtpd_tls_exclude_ciphers = ПУСТО, SEED, КАМЕЛИЯ, RSA+AES
smtpd_tls_loglevel = 1
smtpd_tls_mandatory_ciphers = высокий
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1
smtpd_tls_security_level = может
smtputf8_enable = нет
strict_mailbox_ownership = нет
tls_high_cipherlist = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
tls_preempt_cipherlist = да
tls_server_sni_maps = хеш:/etc/postfix/vmail_ssl.map
tls_ssl_options = NO_COMPRESSION, NO_RENEGOTIATION
transport_maps = хеш:/etc/postfix/транспорт
virtual_alias_maps = mysql:/etc/postfix/mysql-виртуальный-алиас-maps.cf
виртуальный_почтовый_домен = mysql:/etc/postfix/mysql-виртуальный-почтовый-домен.cf
виртуальный_почтовый_лимит = 20000000000
virtual_mailbox_maps = mysql:/etc/postfix/mysql-виртуальный-почтовый ящик-maps.cf
виртуальный_транспорт = lmtp:inet:localhost:24
# постконф -M
smtp inet n - n - 1 постскрин
smtpd pass - - n - - smtpd
tlsproxy unix - - n - 0 tlsproxy
dnsblog unix - - n - 0 dnsblog
отправка inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_reject_unlisted_recipient=no -o smtpd_sasl_head_smpstricted_recipients -o smtpd_sasl_recipient=o smtpd_sasl_restricted_authentications =permit_sasl_authenticated,reject_unknown_reverse_client_hostname,reject -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING -o cleanup_service_name=sender-cleanup
smtps      inet  n       -       n       -       -       smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_reject_unlisted_recipient=no -o smtpd_sasl_authenticated_header=yes -o smtpd_client_restrictions =permit_sasl_authenticated,reject_unknown_reverse_client_hostname,reject -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING -o cleanup_service_name=sender-cleanup
pickup fifo n - y 60 1 pickup -o content_filter= -o receive_override_options=no_header_body_checks
очистка unix n - y - 0 очистка
qmgr unix n - n 300 1 qmgr
tlsmgr unix--y 1000? 1 тлсмгр
переписать unix--y--тривиально-переписать
отказ unix - - y - 0 отказ
отложить unix - - y - 0 отказов
трассировка unix - - y - 0 отказов
проверить unix - - y - 1 проверить
прошить unix -ы 1000? 0 флеш
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
реле unix--y--smtp
showq unix n - y - - showq
ошибка unix--y--ошибка
повторите попытку unix--y--ошибка
отбросить unix--y--отбросить
локальный unix - n n - - локальный
виртуальный unix - n n - - виртуальный
lmtp unix - - n - - lmtp
наковальня unix - - y - 1 наковальня
архив unix - - y - 1 архив
maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - флаги канала=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
sender-cleanup unix n - - - 0 cleanup -o syslog_name=postfix/sender-cleanup -o header_checks=pcre:/etc/postfix/maps/sender_header_filter.pcre
policyd-spf unix - n n - 0 spawn user=policyd-spf argv=/usr/bin/policyd-spf
smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disabled_dns_lookups=yes -o max_use=20 -o smtp_tls_security_level=none
127.0.0.1:10025 inet n - n - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_helo_restrictions= -o smtpd_helo_restrictions_ smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/8 -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=0 -o smtpd_client_connection_rate_limit=0 -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters -o smtp_tls_security_level=none
медленная ретрансляция unix - - n - 2 smtp -o smtp_mx_session_limit=5
gmail-smtp unix - - n - 1 smtp -o syslog_name=postfix/gmail -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100
docomo-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100
au-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100
softbank-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100
ymobile-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=60s -o smtpd_client_message_rate_limit=100
icloud-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=30s -o smtpd_client_message_rate_limit=5
ms-smtp unix - - n - 1 smtp -o smtp_destination_concurrency_limit=1 -o smtp_destination_recipient_limit=1 -o anvil_rate_time_unit=30s -o smtpd_client_message_rate_limit=5
adm avatar
флаг ru
adm
[РЕШЕНО] Следуя совету, я изменил настройку **mynetworks** только на 127.0.0.1, и неправильное реле больше не возникает. До этого параметра IPTABLES запрещал доступ из некоторых областей, и как только это было ослаблено, на нескольких учетных записях возникали спорадические несанкционированные ретрансляции. Теперь ретрансляции больше не происходят, даже если ограничения IPTABLES сняты.
Рейтинг:2
флаг za

Как уже было правильно сказано в другом ответе, злоумышленник получил пароль какой-либо учетной записи на вашем сервере. Наверное, он был слишком слаб.Или пользователь этой учетной записи поймал вредоносное ПО, которое украло сохраненный пароль из хранилища его почтового клиента.

Я настоятельно рекомендую вам сделать следующие вещи, чтобы противодействовать:

  1. Использовать фейл2бан для мониторинга журналов Postfix, чтобы остановить брутфорсеры. Таким образом, вы уменьшите шансы взломать даже словарные пароли.

  2. Использовать postfwd2 или любой другой демон политики Postfix, способный ограничить количество почты, которую может отправить каждый пользователь. Например. если обычно пользователь не отправляет более 200 писем в день и более 50 в час, установите это ограничение, и возможность злоупотребления вашим сервисом будет ограничена. Даже если учетная запись будет взломана, они не смогут выйти за эти пределы. В качестве бонуса вы будете получать уведомления о проблемах заранее, либо потому, что пользователь будет жаловаться на внезапное превышение предела, либо потому, что вы сможете отслеживать файл журнала демона политики.

И дополнительное предложение.

mynetworks = 127.0.0.0/8 [::1]/128 [fe80::]/64 192.168.18.0/24 10.102.0.0/16 172.18.0.0/16 10.102.0.0/16

Это Плохо. Best mynetworks это только localhost, да и то спорно. Лучше удалить все, оставить только 127.0.0.1 и [::1] и заставить всех остальных аутентифицироваться. Это сделает вещи намного более контролируемыми.

adm avatar
флаг ru
adm
У меня этот почтовый сервер работает как директор, поэтому я ошибочно подумал, что мне нужно поместить ряд хостов в мою сеть. Я последовал вашему совету и поместил свои сети только на локальный хост, и это сработало нормально. Fail2ban уже активирован. Я буду настраивать postfwd2.
Рейтинг:1
флаг in

Учитывая параметры вашего smtpd_*_restrictions только в вашей конфигурации мои сети и sasl_authenticated может отправлять электронную почту через ваш сервер, что нормально.

Отправитель электронной почты является поддельной реальной учетной записью на нашем сервере.

Судя по логу, пользователю удалось пройти аутентификацию. Это не был поддельный аккаунт.

В истории отправленных писем для этой учетной записи нет.

Вывод: этот аккаунт был взломан

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.