The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Интересный СПАМ, !*! osiris, 12-Фев-10, 14:53  [смотреть все]
Добрый день. Помогите разобраться со СПАМ-ерским письмом которое, как по мне, имеет интересное содержание.

Суть:
- есть большая корпоративная сеть с таким почтовым сервером Postfix+Amavisd-new+Spamassassin+CommuniGate.
- Пользователю «А» пришло спамерское письмо которое было адресовано пользователю «В»
- Пользователь  «В» понятное дело это письмо не отсылал, и это видно из заголовка письма так как первый   Received это какой-то интернет сервер.
- Интересно то что и отправитель письма и получатель письма пользователь «B»
- А самое интересное что в X-Spam-Status пишется что срабатывает правило USER_IN_WHITELIST_TO. Но вот в конфиге Spamassassin пользователь «В» не прописан в белом списке.

Само письмо и конфиги выложены ниже. Название своего сервера и пользователей я заменил на myserver и «А», «В», «С».

Не могу понять почему на письмо сработало правило USER_IN_WHITELIST_TO и почему оно пришло пользователю «А» которого вообще нет в заголовке.

ЗАГОЛОВОК ПИСЬМА:

Return-Path: <mootermk@sendsmtp.com>

Received: from [123.44.55.66] (HELO relay.myserver.com)
  by myserver.com (CommuniGate Pro SMTP 4.2.10)
  with ESMTP id 10124872; Tue, 02 Feb 2010 23:14:28 +0200

Received: from localhost (localhost [127.0.0.1])
    by relay.myserver.com (Postfix) with ESMTP id BF989E0051;
    Tue,  2 Feb 2010 23:14:28 +0200 (EET)

Received: from relay.myserver.com ([127.0.0.1])
by localhost (relay [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
id 30727-12; Tue,  2 Feb 2010 23:14:26 +0200 (EET)

Received: from host-81-190-2-17.gdynia.mm.pl (host-81-190-2-17.gdynia.mm.pl [81.190.2.17])
    by relay.myserver.com (Postfix) with ESMTP id 266F7E004F;
    Tue,  2 Feb 2010 23:14:25 +0200 (EET)

Received: from 81.190.2.17 by vanitysmtp.changeip.com; Tue, 2 Feb 2010 22:13:48 +0100

Message-ID: <000d01caa44c$9c930130$6400a8c0@mootermk>

From: B@myserver.com
To: <B@myserver.com>

Subject: I'll like you? Remember that night in the hotel?
Date: Tue, 2 Feb 2010 22:13:48 +0100
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_0007_01CAA44C.9C930130"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.3790.1830
X-MimeOLE: Produced By Microsoft MimeOLE 6.00.3790.1830
X-Virus-Scanned: by amavisd-new at relay.myserver.com
X-Spam-Status: No, hits=-45.606 tagged_above=-100 required=9.5 tests=BAYES_99,
DCC_CHECK, DIGEST_MULTIPLE, HELO_DYNAMIC_IPADDR, HTML_80_90, HTML_MESSAGE,
INFO_TLD, NO_REAL_NAME, RAZOR2_CF_RANGE_E8_51_100, RAZOR2_CHECK,
RCVD_IN_BL_SPAMCOP_NET, RCVD_IN_SORBS_DUL, RCVD_IN_SORBS_WEB, RCVD_IN_XBL,
UNPARSEABLE_RELAY, URIBL_AB_SURBL, URIBL_JP_SURBL, USER_IN_WHITELIST_TO
X-Spam-Level:


Основные моменты amavisd.conf:

$sa_local_tests_only = 0;   # (default: false)
$sa_mail_body_size_limit = 1024*1024;  
$sa_tag_level_deflt  = -100.0;
$sa_tag2_level_deflt = 9.5;
$sa_kill_level_deflt = 9.5;
$sa_spam_subject_tag = '***** SPAM ***** ';    
$sa_spam_modifies_subj = 1;
$sa_debug = 1;

Основные моменты Local.cf:

use_razor2 1
use_bayes 1
bayes_auto_learn 0
bayes_path /var/spool/amavis/.spamassassin/bayes
bayes_auto_learn_threshold_nonspam 0
bayes_auto_learn_threshold_spam 20.0
use_pyzor 0
ok_locales              all
razor_config            /var/spool/amavis/.razor/razor-agent.conf

whitelist_to            C@myserver.com
whitelist_to            D@myserver.com
whitelist_to            F@myserver.com

score USER_IN_WHITELIST_TO      -100.000

  • Интересный СПАМ, !*! PavelR, 14:56 , 12-Фев-10 (1)
    >Не могу понять почему на письмо сработало правило USER_IN_WHITELIST_TO и почему оно
    >пришло пользователю «А» которого вообще нет в заголовке.

    Рассмотрим бумажный конверт. На нем написан адрес: город Лупкино, улица Бабкина, Васе Пупкину.

    А внутри письма - "Здравствуй, дорогой Петя Иванов".


    ----

    Так и тут, при отправке письма сервер сначала говорит кому это письмо (конверт), а затем уже кидает содержимое (внутри письма).

    • Интересный СПАМ, !*! osiris, 15:01 , 12-Фев-10 (2)
      >Так и тут, при отправке письма сервер сначала говорит кому это письмо
      >(конверт), а затем уже кидает содержимое (внутри письма).

      Отправитель говорит что письмо
      From: B@myserver.com
      To: <B@myserver.com>

      Внутри письма спам, что не интересно. А вот почему оно попало пользователю A@myserver.com при полном отсутствии его в заголовке это не понятно.

      • Интересный СПАМ, !*! valentine31, 16:01 , 12-Фев-10 (3)
        PavelR - все внятно объяснил. Есть заголовок письма и есть конверт, они могут быть различны.
        • Интересный СПАМ, !*! Golub Mikhail, 16:07 , 12-Фев-10 (4)
          >PavelR - все внятно объяснил. Есть заголовок письма и есть конверт, они
          >могут быть различны.

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

        • Интересный СПАМ, !*! osiris, 16:09 , 12-Фев-10 (5) –1
          >PavelR - все внятно объяснил. Есть заголовок письма и есть конверт, они
          >могут быть различны.

          А разве почтовые сервера определяют дальнейший маршрут письма не по заголовку???

      • Интересный СПАМ, !*! Vitaly_loki, 21:12 , 12-Фев-10 (9)
        >>Так и тут, при отправке письма сервер сначала говорит кому это письмо
        >>(конверт), а затем уже кидает содержимое (внутри письма).
        >
        >Отправитель говорит что письмо
        >From: B@myserver.com
        >To: <B@myserver.com>
        >
        >Внутри письма спам, что не интересно. А вот почему оно попало пользователю
        >A@myserver.com при полном отсутствии его в заголовке это не понятно.

        Потому что во время smtp-сессии клиент сказал так:

        EHLO blah-blah-blah
        MAIL FROM:<blah-blah@domain.com>
        RCPT TO:<A@myserver.com>     <-- вот оно

        ,а затем

        DATA
        From: B@myserver.com
        To: <B@myserver.com>
        Subject

        spam
        .
        --
        Все что до DATA - это конверт, все что после, но до пустой строки - заголовки письма (используются в почтовых клиентах для удобства, сортировки и т.д.). После пустой строки - текст письма

        • Интересный СПАМ, !*! osiris, 13:28 , 13-Фев-10 (10)
          время smtp-сессии клиент сказал так:
          >
          >EHLO blah-blah-blah
          >MAIL FROM:<blah-blah@domain.com>
          >RCPT TO:<A@myserver.com>     <-- вот оно
          >

          А почему этот адрес не указывается в заголовке письма?


          • Интересный СПАМ, !*! Vitaly_loki, 15:56 , 13-Фев-10 (14)
            >А почему этот адрес не указывается в заголовке письма?

            Osiris, еще разок... внимательней будьте. Объясняю... Клиент соединяется на 25 TCP/порт с вашим SMTP-серверов. После приглашения (код сообщения 220), клиент представляется:

            EHLO domain.name

            сервер отвечает ему:
            250-сообщение какое-нить

            затем клиент начинает говорить от имени кого он отправляет почту, этот адрес будет использоваться для ответа в случае неудачной доставки:

            MAIL FROM:<user@domain.com>

            Затем клиент говорить КОМУ он отправляет почту, это РЕАЛЬНЫЙ адрес доставки или алиас (псевдоним), вот именно на основании этого параметра SMTP-сервер маршрутизирует (кладет в ящик и т.д.) почту:

            RCPT TO:<user@localdomain.com>

            Это всё был конверт письма. Дальше начинает передача содержимого письма, то что вкладывается в конверт:

            DATA
            и тут начинаешь писать какие хочешь заголовки
            From: Bill Gates <Bill.Gates@microsoft.com>
            To: Petya Ivanov <non-existent@yandex.ru>
            Subject: Forged headers
            X-Comment:

            После пустой строки начинается текст письма, а предложение состоящее из одной точки заканчивает текст письма и говорит SMTp-серверу отправить письмо
            .

            QUIT


            Вот Вам такое письмо придет, и там будет написано, что его отправил Билл Гейтс и вообще на яндекс.ру, а не Ваш домен, но пришло оно все-таки Вам... Потому что (еще раз повторю) SMTP-сервер пересылает письма, основываясь на аргументах RCPT TO:<> и MAIL FROM:<>, то что идет после DATA это просто текст письма, там можно что угодно написать, именно их показывают Thunderbird, Outlook и т.д. Надеюсь понятно объяснил

            Вот как это в реальности работает:

            > telnet localhost 25

            Trying 127.0.0.1...
            Connected to localhost.
            Escape character is '^]'.
            220 smtp.testdomain.org ESMTP MeTA1-1.0.PreAlpha32.0
            ehlo localhost
            250-smtp.testdomain.org ESMTP Hi there
            250-PIPELINING
            250-STARTTLS
            250-AUTH LOGIN PLAIN GSSAPI DIGEST-MD5 CRAM-MD5
            250-SIZE 10485760
            250-8BITMIME
            250-ENHANCEDSTATUSCODES
            250-XVERP
            250 HELP
            MAIL FROM:<vit@remotedomain.ru>
            250 2.1.0 Sender ok
            RCPT TO:<vit@testdomain.org>
            250 2.1.5 Recipient ok

            DATA
            354 Go
            From: Bill Gates <Bill.Gates@microsoft.com>
            To: Petya Ivanov <non-existent@yandex.ru>
            Subject: Forged headers

            message text
            .
            250 2.0.0 got it id=S000000000000006A00
            quit
            221 2.0.0 Bye
            Connection closed by foreign host.

            • Интересный СПАМ, !*! osiris, 18:22 , 13-Фев-10 (15)
              Vitaly_loki, спасибо за столь детальный ответ. Все, я понял. Просто раньше думал что адреса на "конверте" тоже указываются в заголовках.

              На счет этого я знаю, сам так не раз почту отправлял:

              Trying 127.0.0.1...
              Connected to localhost.
              Escape character is '^]'.
              220 smtp.testdomain.org ESMTP MeTA1-1.0.PreAlpha32.0
              ehlo localhost
              250-smtp.testdomain.org ESMTP Hi there
              250-PIPELINING
              250-STARTTLS
              250-AUTH LOGIN PLAIN GSSAPI DIGEST-MD5 CRAM-MD5
              250-SIZE 10485760
              250-8BITMIME
              250-ENHANCEDSTATUSCODES
              250-XVERP
              250 HELP
              MAIL FROM:<vit@remotedomain.ru>
              250 2.1.0 Sender ok
              RCPT TO:<vit@testdomain.org>
              250 2.1.5 Recipient ok

              DATA
              354 Go
              From: Bill Gates <Bill.Gates@microsoft.com>
              To: Petya Ivanov <non-existent@yandex.ru>
              Subject: Forged headers

              message text
              .
              250 2.0.0 got it id=S000000000000006A00
              quit
              221 2.0.0 Bye
              Connection closed by foreign host.

              Тогда получается что реального отправителя (тот который на конверте) можно найти только в логах (/var/log/mail)?

              И всетки если уж письмо попало A@myserver.com то почему на него сработало правило USER_IN_WHITELIST_TO в SpamAssassin? Ведь такой пользователь не прописан в белом списке.

              • Интересный СПАМ, !*! Vitaly_loki, 20:53 , 13-Фев-10 (16)
                >Тогда получается что реального отправителя (тот который на конверте) можно найти только
                >в логах (/var/log/mail)?

                Совершенно верно, но не только. К примеру, sendmail добавляет аргумент RCPT TO:<> в заголовок конверта (но делать это не обязан, потому некоторые MTA это не делают):

                Return-Path: <vit@testdomain.org>
                Received: from localhost (localhost [127.0.0.1])
                        by smtp.testdomain.org (8.14.3/8.14.3) with ESMTP id o1DHeQi4001443
                        for <vit@testdomain.org>; Sat, 13 Feb 2010 22:40:40 +0500 (YEKT)

                Видите "for <vit@testdomain.org>"? Это и есть аргумент RCPT TO:<> А реальный отправитель это "Return-Path: <vit@testdomain.org>", т.е. то, что клиент указал в MAIL FROM:<>.
                >И всетки если уж письмо попало A@myserver.com то почему на него сработало
                >правило USER_IN_WHITELIST_TO в SpamAssassin? Ведь такой пользователь не прописан в белом
                >списке.

                Вот тут точно не могу сказать, с SA не работал, но подозреваю, что B@myserver.com в белом списке, а SA видимо смотрел именно заголовки. Это мое предположение

                • Интересный СПАМ, !*! osiris, 21:09 , 13-Фев-10 (17)
                  >Совершенно верно, но не только. К примеру, sendmail добавляет аргумент RCPT TO:<> в заголовок конверта

                  Спасибо, теперь я разобрался почему письмо попало пользователю A@myserver.com а не B@myserver.com

                  >Вот тут точно не могу сказать, с SA не работал, но подозреваю,
                  >что B@myserver.com в белом списке, а SA видимо смотрел именно заголовки.
                  >Это мое предположение

                  Основные моменты Local.cf:

                  use_razor2 1
                  use_bayes 1
                  bayes_auto_learn 0
                  bayes_path /var/spool/amavis/.spamassassin/bayes
                  bayes_auto_learn_threshold_nonspam 0
                  bayes_auto_learn_threshold_spam 20.0
                  use_pyzor 0
                  ok_locales              all
                  razor_config            /var/spool/amavis/.razor/razor-agent.conf

                  whitelist_to            C@myserver.com
                  whitelist_to            D@myserver.com
                  whitelist_to            F@myserver.com

                  score USER_IN_WHITELIST_TO      -100.000

                  В белом списке нет пользователей "A" и "B"




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру