Интересный СПАМ, 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 - все внятно объяснил. Есть заголовок письма и есть конверт, они >могут быть различны. А разве почтовые сервера определяют дальнейший маршрут письма не по заголовку???
- Интересный СПАМ, Etch, 17:05 , 12-Фев-10 (6)
>А разве почтовые сервера определяют дальнейший маршрут письма не по заголовку??? Сюрприииз :) Гуглить: протокол smtp
- Интересный СПАМ, DN, 17:12 , 12-Фев-10 (7)
>>PavelR - все внятно объяснил. Есть заголовок письма и есть конверт, они >>могут быть различны. > >А разве почтовые сервера определяют дальнейший маршрут письма не по заголовку??? По заголовкам на конверте, проставленные MTA . Загловки Mail user agent (MUA) From: , To: для человека больше служат. http://www.soslan.ru/tcp/tcp28.html
- Интересный СПАМ, 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"
|