LINUX.ORG.RU

Postfix — почему-то спамеры могут использовать мой сервер без аутен-ции

 


1

1

Когда я отправляю мыл со своего postfix'a, то в логах вот это

       postfix/submission/smtpd: ehlo=2 starttls=1 auth=1 mail=1 rcpt=1 data=1 quit=1 commands=8

Почему спамеры, могут отправлять мылы от моего имени мне же без аутентификации?

      postfix/smtpd:  helo=1 mail=1 rcpt=1 data=1 commands=4

Везде в конфигах настроена аутентификация. В каждой секции есть permit_sasl_authenticated. И др. настройки тоже на месте.

Что я мог забыть?


Почему спамеры, могут отправлять мылы от моего имени мне же без аутентификации?

Потому, что это почтовый сервер, и приём почты — его основная обязанность. Для борьбы со спамом надо не MDA шатать, а milter установить и настроить. На выбор тысячи их, но лично я рекомендую связку rspamd+sieve.


UPD:

от моего имени

Что я мог забыть?

Показать конфиг Postfix, например?

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

Потому, что это почтовый сервер, и приём почты — его основная обязанность.

Что правда? А я думал, что он нужен, чтобы планету греть.

buev
() автор топика
Ответ на: комментарий от buev

Я прощёлкал то, что он позволяет отправлять тебе письма от тебя самого, ниже я исправил, так что давай по теме — конфиг Postfix в студию.

mord0d ★★★★★
()

потому, что нги не отправляют от твоего же имени, они отправляют от adsfqerg@werfgwergre.com , но в поле from стоит твое мыло.

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

check_sender_access hash:/etc/postfix/sender_access

/etc/postfix/sender_access

yourdomain.com REJECT
postmap /etc/postfix/sender_access

Таким образом, авторизованные проверку проходят , письма с не твоего домена проходят, а письма не авторизованные, но с типа с твоего домена, идут в REJECT

Но если тебе надо разжевывать, то да, тогда надо твой конфиг

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

Таким образом, авторизованные проверку проходят , письма с не твоего домена проходят, а письма не авторизованные, но с типа с твоего домена, идут в REJECT

А как вообще письма могут быть «*не авторизованные*, но с типа с твоего домена»? Все ведь аутентификацию обязаны проходить, хоть мой домен, хоть не мой.

buev
() автор топика
Ответ на: комментарий от buev

А как вообще письма могут быть «*не авторизованные*, но с типа с твоего домена»? Все ведь аутентификацию обязаны проходить, хоть мой домен, хоть не мой.

Общение с почтовым сервером делится на два типа. Почтовые клиенты и другие почтовые сервера. Авторизовываться должны только почтовые клиенты. Если другой почтовый сервер посылает тебе сообщение, то он никогда не авторизовывается( откуда ему знать вообще что-то про твои пароли) Если он при этом шлет тебе письмо от твоего же домена , то это можно запретить одним параметром. Но, как я уже написал выше, тут чуть сложнее. Спам идет от реального другого домена , но в хедере в поле from прописан ящик от твоего домена.

P.S. логи , то ты прислал, не информативны. Нужен полный лог одной сессии и source спам письма ( те не просто текст сообщения , который видно в почтовом клиенете, а весь файл с технической информацией) Тогда я тебе дам полную картину твоей проблемы,

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

Аааа, тогда понятно почти. Отправлять ведь мылы можно от from кого-угодно. Это зависит от того, примет ли другой Postfix такое мыло.

Какой параметр отвечает за это, это в sender_restrctions?

--------------

У меня логи в journalctl -u postfix, они вот такие, который я запостил + вырезал убрал дату, время. Где взять более подробные?

--------------

Конфиг - он длинный, он действительно нужен весь? Вот часть:

 smtpd_sender_restrictions =
#  permit_mynetworks, # <--- это я только что закомментил
  permit_sasl_authenticated,
  reject_sender_login_mismatch,
  reject_authenticated_sender_login_mismatch,
  reject_non_fqdn_sender,
  reject_unknown_sender_domain,
  reject_unauth_pipelining,
  reject_unknown_address

и

#mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 # тоже тоолько что закомментил

mynetworks = 127.0.0.0/8
buev
() автор топика
Ответ на: комментарий от constin

Добавил «check_sender_access hash:/etc/postfix/sender_access»

там прописал

mydomain.com 500 get out hacker

будем ждать

buev
() автор топика
Ответ на: комментарий от buev

спс, работает

ну и чудно. главное, что добавить надо в конце списка.

У меня логи в journalctl -u postfix, они вот такие, который я запостил + вырезал убрал дату, время. Где взять более подробные?

/var/log/mail.log

или

/var/log/maillog

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

Я уже к тому моменту спал. Видно же, что тупил, ну.

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

вообще, да работает, уже несколько отсеялось

 Sender address rejected: not logged in; .....

Но, одно как-то прошло. Не знаю как

-----

/var/log/mail.log и /var/log/maillog - нет их у меня

buev
() автор топика
# 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
    check_sender_access pcre:/etc/postfix/sender_access.pcre

# Recipient restrictions
smtpd_recipient_restrictions =
    reject_unknown_recipient_domain
    reject_non_fqdn_recipient
    reject_unlisted_recipient
#   check_policy_service inet:127.0.0.1:7777
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination

Проверь, что есть reject_authenticated_sender_login_mismatch

anonymous
()
Ответ на: комментарий от constin

Заголовки этого мыла. Свое мыло изменил.

Return-Path: <registropropiedad@municipiodeguano.gob.ec>
Delivered-To: ivan_petr@my_main_email.com
Received: from mail.my_postfix123.com
  by localhost with LMTP
  id W8mZLL/mtlyPTgAA0J78UA
  (envelope-from <registropropiedad@municipiodeguano.gob.ec>)
  for <ivan_petr@my_main_email.com>; Wed, 17 Apr 2019 08:41:35 +0000


Received: from mail.municipiodeguano.gob.ec (mail.municipiodeguano.gob.ec [186.47.86.6])
  (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
  (No client certificate requested)
  by mail.my_postfix123.com (Postfix) with ESMTPS id 84D801E922
  for <ivan_petr@my_main_email.com>; Wed, 17 Apr 2019 08:41:34 +0000 (UTC)


Received: from localhost (localhost.localdomain [127.0.0.1])
  by mail.municipiodeguano.gob.ec (Postfix) with ESMTP id 5683F2016DA21
  for <ivan_petr@my_main_email.com>; Wed, 17 Apr 2019 03:41:20 -0500 (-05)


Received: from mail.municipiodeguano.gob.ec ([127.0.0.1])
  by localhost (mail.municipiodeguano.gob.ec [127.0.0.1]) (amavisd-new, port 10032)
  with ESMTP id kIQcQCz0Numk for <ivan_petr@my_main_email.com>;
  Wed, 17 Apr 2019 03:41:19 -0500 (-05)


Received: from localhost (localhost.localdomain [127.0.0.1])
  by mail.municipiodeguano.gob.ec (Postfix) with ESMTP id 9F7AF201766D4
  for <ivan_petr@my_main_email.com>; Wed, 17 Apr 2019 03:41:19 -0500 (-05)
X-Virus-Scanned: amavisd-new at municipiodeguano.gob.ec


Received: from mail.municipiodeguano.gob.ec ([127.0.0.1])
  by localhost (mail.municipiodeguano.gob.ec [127.0.0.1]) (amavisd-new, port 10026)
  with ESMTP id k63sqJdI3XWX for <ivan_petr@my_main_email.com>;
  Wed, 17 Apr 2019 03:41:19 -0500 (-05)


Received: from [ns3099982.ovh.net] (ns3099982.ovh.net [37.59.8.29])
  by mail.municipiodeguano.gob.ec (Postfix) with ESMTPSA id 9B7E5201805E6
  for <ivan_petr@my_main_email.com>; Wed, 17 Apr 2019 03:41:17 -0500 (-05)
X-CSA-Complaints: whitelistcomplaints@municipiodeguano.gob.ec
Message-ID: <hoasragx-7q6t3n9p-5031374405-573138154725@municipiodeguano.gob.ec>
User-Agent: SquirrelMail/1.4.9a
Organization: Nwgvchqm
Content-Type: multipart/related;
 boundary="FA4EAF44659004FF-5767BA1F3DAAFDC-A7955D-F741E4FFC-E2FEFACB4"
MIME-Version: 1.0
From: <ivan_petr@my_main_email.com>
Date: Wed, 17 Apr 2019 10:41:18 +0200
Errors-To: geylp02n5wwb@municipiodeguano.gob.ec
Subject: me
X-Sender: <registropropiedad@municipiodeguano.gob.ec>
X-aid: 7169046023
List-Help: <http://gkhllrrvj.com/xt/gjmsm/ssqhkdlhb>
X-Mailer: Kegsnab
To: ivan_petr@my_main_email.com

This is a multi-part message in MIME format

buev
() автор топика
Ответ на: комментарий от buev

Давай целиком конфиг postfix, main.cf и master.cf или просто вывод postconf, но лучше структурированный в файлах.

Какая настройка SSL в конфиге postfix?

anonymous
()
Ответ на: комментарий от anonymous

выложу позже.

судя по этим заголовкам

1) он аутентифицировался? то есть, он знает пароль?

2) почему во from - не мой адрес? А в почте mail на MacOS - мой

buev
() автор топика
Ответ на: комментарий от buev

Включи это ограничение: reject_authenticated_sender_login_mismatch, смотри выше.

Потому включи запуск postfix с флагом '-v', для этого в master.cf припиши:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       1       postscreen
smtpd     pass  -       -       y       -       -       smtpd -v
dnsblog   unix  -       -       y       -       0       dnsblog
tlsproxy  unix  -       -       y       -       0       tlsproxy
#submission inet n       -       y       -       -       smtpd

и перезапусти postfix, после чего анализируй логи, смотри что сыпется в /var/log/mail.log.

Логов будет много.

tail -n 5000 /var/log/mail.log | less
anonymous
()
Ответ на: комментарий от anonymous

Так они ведь эти спамеры не аунтефицированные, зачем reject_authenticated_sender_login_mismatch? А если они знают пароль, то это - плохо.

Пароль у меня случайный и сложный, сгенерированный в keepass, как они могли его подобрать?

buev
() автор топика
Ответ на: комментарий от buev

зачем reject_authenticated_sender_login_mismatch?

А если пароль утёк где-нибудь, то ты будешь гадать почему у тебя в логах сыпется спам от user1, в то время, как виной всему user2, под которым авторизуются на сервере, но ящик отправителя ставят user1.

Для того, что бы понять что у тебя происходит нужно включить эту опцию и ряд других, смотри выше в моём сообщении, а потом включить параметр '-v' у smptpd и перезапустить postfix и анализировать логи.

сгенерированный в keepass, как они могли его подобрать?

Могли и не подбирать, может быть хозяин ящика где-нибудь его неосторожно ввёл, либо сохранил а его утянул вирус / троян.

anonymous
()
Ответ на: комментарий от anonymous

я - хозяин ящиков, кроме меня там пользователей нет, этой мой postfix. в браузере пароли не сохраняю.

попробую.

buev
() автор топика
Ответ на: комментарий от anonymous

reject_authenticated_sender_login_mismatch

если я его добавлю, то я сам не смогу аутентифироваться от userN, и отправлять мыло от userM. А мне это нужно, потому что у меня там несколько доменов и вэб приложения, которые подключаются через единый логин и отправляют почту потом каждый со своего домена и пользователя.

buev
() автор топика
Ответ на: комментарий от buev

если я его добавлю, то я сам не смогу аутентифироваться от userN, и отправлять мыло от userM. А мне это нужно, потому что у меня там несколько доменов и вэб приложения, которые подключаются через единый логин и отправляют почту потом каждый со своего домена и пользователя.

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

Сделай для хотя бы для анализа логов и смотри что будет сыпаться.

А вообще, делай как хочешь. Ты не находишь, что это странно, что тебя упрашивают сделать настройки и выполнить действия, нужные ТЕБЕ для получения и правильного анализа логов для решения ТВОЕЙ ПРОБЛЕМЫ.

anonymous
()
Ответ на: комментарий от anonymous

у что у меня там уже было


smtpd_sender_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_sender_login_mismatch,
  reject_authenticated_sender_login_mismatch,
  reject_non_fqdn_sender,
  reject_unknown_sender_domain,
  reject_unauth_pipelining,
  reject_unknown_address,
  check_sender_access hash:/etc/postfix/sender_access.txt


buev
() автор топика
Ответ на: комментарий от buev

Ну вот и смотри, что сыпется в лог. В любом случае логи смотреть тебе и думать почему и что происходит.

anonymous
()

Ты, видимо путаешь два процесса. Отправку и приём.

Везде в конфигах настроена аутентификация.

это надо чтобы нельзя было кому попало отправить от твоего сервера. А вот принимать почту он будет в любом случае и решения проблемы спама попросту не существует. Потому что для решения задачи определения «спам или нет» нужен достаточно мощный интеллект. У многих людей нет достаточно мощного для этой задачи интеллекта.

А вообще вот тебе дока, пробежись по ней, там всё на пальцах https://workaround.org/ispmail

А вот ресурс для проверить твой почтовый сервер https://www.mail-tester.com/

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

Включи это ограничение: reject_authenticated_sender_login_mismatch, смотри выше.

это все не по теме. это письмо НЕ от его мыла. просто подделан хедер. неужели ты этого не видишь?

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

Ок, следующий этап - это проверка хедеров. Я попробую накидать фильтр сеголдня, если будет время.

Но вот тебе пример:

брать его целиком не надо, надо брать идею и перерабатывать под твой сервер и его настройки

http://www.postfix.org/BACKSCATTER_README.html

В целом чуть такая:

мы берем header_checks = pcre:/etc/postfix/header_checks и внутри проверяем, если письмо пришло не от нашего сервера, но в хедере в поле from стоит наш домен, то блокируем.

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

мы берем header_checks = pcre:/etc/postfix/header_checks и внутри проверяем, если письмо пришло не от нашего сервера, но в хедере в поле from стоит наш домен, то блокируе

Очень старое заблуждение.

header_checks не может проверять по двум условиям из РАЗНЫХ заголовков. Данные считывает построчно (в пределах одно заголовка). Проверку домен-сендер нужно делать через smtpd_restriction_classes

Bootmen ☆☆☆
()
Последнее исправление: Bootmen (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.