1.1, Аноним (1), 00:04, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
>для обеспечения совместимости
какой-то булшит, гнать из профессии
| |
|
2.16, Аноним (16), 06:10, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Согласен. Законодательно применить \n и закрыли тему.
А заголовок Content-Length сделать обязательным.
Тогда и "." ждать не нужно.
| |
|
3.24, Tron is Whistling (?), 09:23, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не Content-Length, не разбирает SMTP сам по себе никаких заголовков.
Добавить DATALEN <x> в протокол и забыть.
| |
|
|
5.72, Аноним (72), 03:24, 23/12/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Поддерживаю, раз на парсют письмы.
Кто-нить займити джуна какого-нить пщай оформит RFC-у и иму профит в карму и старикам приятно =)
| |
|
4.80, Аноним (80), 15:38, 23/12/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
+1
Даже шокирует то, что "диды", пися всё на Сях, так ТУПО спроектировали протокол. Очевидно же, что Сишная программа убога по возможностям прокидывания больших объёмов - в них каждый байт на счету, malloc/free и всё такое. Поэтому ЗАРАНЕЕ знать размер получаемых данных - это ОГРОМНЫЙ плюс при обработке! Но нет, эти кретины придумали текстовую точку(!!!!!!!!!) для окончания текста, в котором самом полно точек!!! *фэйспалм.ави 500ГБ*
| |
|
5.83, Tron is Whistling (?), 22:40, 23/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да, надо было на жабоскриптах писать, желательно всё с нпмочки стянув.
Но вот проблема - ни жабоскрипта, ни нпм у них не было. Да и мозгов было побольше.
| |
5.84, Tron is Whistling (?), 22:42, 23/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
На самом деле этот протокол никто долго не проектировал - его слепили из того, что было, чтобы хоть как-то работало. Заря интернетиков, фтн, гнилой ууцп, все дела. А потом оно просто уже стало везде, и поменять что-то стало сложно. Тут лучше поблагодарить тех, кто не стал следовать стандарту, а начал пихать нестандартные варианты терминаторов так, что под них пришлось адаптироваться.
| |
|
|
|
4.53, Tron is Whistling (?), 15:23, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ух ты, пропустил это расширение.
Ну вот его и оставить, причём запретив пайплайнинг множества сообщений, до окончания данных и получения ответа новых команд слаться не должно, хотя это в RFC описать забыли.
А для DATA оставить возможность отправки только одного сообщения за сеанс.
| |
|
|
6.69, Tron is Whistling (?), 23:32, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Это было актуально при модемах.
На текущих скоростях и делеях сотню соединений вместо одного для передачи почты просто не заметишь.
| |
6.70, Tron is Whistling (?), 23:34, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
(это я тебе как сидящий возле достаточно большого почтовика вещаю, сквозь который миллионы писем в сутки проходят... у меня между gw и серверами как раз выставлено максимум 1 сообщение, но немножко по-другим околотехническим причинам)
| |
|
|
|
|
2.21, лютый жабби... (?), 08:30, 22/12/2023 [^] [^^] [^^^] [ответить]
| –6 +/– |
>гнать из профессии
покажи свой smtp-сервер, который сделан строго по стандарту (u-блюдочному кстати и размазанному по десятку рфц) и которым пользуется хотя бы миллион человек?
| |
|
3.36, лютый жабби... (?), 12:45, 22/12/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
ой, кармадрючеры обиделись.... много тут писателей smtp серверов-то? на расте, кстати, их за 15 лет ноль нормальных родили ) samotop глююкалово и тормозилово.
| |
|
|
1.2, Аноним (-), 00:10, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Прекрасный стандарт. Можно и так трактовать и эдак, удобненько.
А главное все просто plain text, а не ваши новомодные json-чики.
| |
|
2.3, Ivan_83 (ok), 00:27, 22/12/2023 [^] [^^] [^^^] [ответить]
| +7 +/– |
Нельзя.
Просто в отдельные почтовые сервера зачем то доложили совместимостей никого не спросив.
Я бы просто это выкинул и не вспоминал, старые клиенты мертвы, это их проблемы.
/n./n - это похоже для тех кто из консоли руками отправляет.
| |
|
3.23, нах. (?), 08:58, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Просто в отдельные почтовые сервера зачем то доложили совместимостей никого не спросив.
потому что "почта должна ходить". И "принимать все, отправлять - соблюдая стандарты".
А если бы этого не сделали - ты бы до сих пор пользовался прекрасной x.400
Вот там - все было по правилам. И доставка за считанные часы. Что? Часы! Оно так работало.
Предполагалось что хакеры ссущие в солонки - забота полиции, а не владельца солонки.
| |
|
4.44, Ivan_83 (ok), 14:37, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если бы к CRLF.CRLF не понагородили алиасов - ничего бы не случилось, лишь пара странных типов пишущих письма из терминала через телнет/неткат пострадала бы.
| |
|
5.86, нах. (?), 16:30, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
smtp как стандарт почты - не случилось бы. Именно потому что тогда ВСЕ типы были "странные". А одна почта где шаг вправо-шаг влево - ошибка ОШИБКА и твоя почта отправляется в помойку - уже была.
sendmail с его мега-языком для исключительно переписывания адресов - тоже порожден тем же временем. Сейчас его конфиг кажется нелепой архаикой, а тогда это позволяло почте - доходить до адресатов. При том что и адресаты и отправители могли быть в совершенно вычурном виде. И вот то что оно все же доходило - и решило вопрос в пользу smtp и sendmail.
| |
|
|
|
2.5, Аноним (5), 00:31, 22/12/2023 [^] [^^] [^^^] [ответить]
| +5 +/– |
В стандарте чётко оговорено, какой разделитель. Это всё ещё отголоски войны carriage return и line feed в качестве конца строк, ну и костыли в конкретных реализациях почтовиков.
| |
|
3.15, Ivan_83 (ok), 04:09, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Бинарные протоколы очень плохо заходят в индустрию.
Есть с десяток основных бинарных протоколов, но всё что бегает в TCP - в основном текстовое, потому что отлаживать проще.
| |
|
4.34, ОШИБКА Отсутствуют данные в поле Name (?), 11:51, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Регулярно подвергаюсь кенселенгу на опенет за то что ругаю бинарные протоколы, поэтому скажу так: ну и зря! Был не прав! Очень хорошие бинарные протоколы! Побольше бы таких протоколов в индустрию!
| |
|
5.42, Ivan_83 (ok), 14:34, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Я не говорил что они плохие, я говорил что бинарные протоколы очень сложно заходят.
Взять хотя бы HTTP1 vs HTTP2+.
Для HTTP1 особо и прогать не надо чтобы файл скачать: кое как сгенерить запрос, немного распарсить ответ и всё.
Для HTTP2+ нужно нагородить кучу кода и ещё отладить его, полагаю потребуются дополнительные утилиты, которые возможно тоже нужно написать.
| |
|
6.48, all_glory_to_the_hypnotoad (ok), 15:03, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Для HTTP/1 очень даже нужно прогать на серверной части, и довольно долго и аккуратно. Тем более где это ты програешь HTTP/1 руками в наши дни? Поти во всех ЯП есть уже готовые либы, которые для разработчика отдают простой API. Утилиты для HTTP/1 тоже как-бы присутствуют, например curl и wget. Так будет и для HTTP/2 в базовом варианте. В конце концов на коленке создать и разобрать HTTP/2 запрос-ответ на питоновских struct в общем случе будет проще, чем полноценно разбирать HTTP/1 ответ.
| |
|
7.65, Ivan_83 (ok), 19:04, 22/12/2023 [^] [^^] [^^^] [ответить] | +/– | Я писал про клиента, но и серверу для простых вещей много ума не надо Не знаю н... большой текст свёрнут, показать | |
|
6.60, ОШИБКА Отсутствуют данные в поле Name (?), 16:50, 22/12/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Важное преимущество этих протоколов состоит также в том, что их много. Если раньше для того чтобы написать программу с кнопкой, которая скачивает файл по ссылке, нужно было поддерживать HTTP1/1.1, то сейчас нужно добавлять поддержку HTTP2 и HTTP3, а это почти в три раза лучше того что было и требует, например от мобильных/встроенных устройств, где это может быть критично, большего размера бинарника и оперативной памяти. Это в свою очередь будет стимулировать производителей создавать устройства, с более лучшими характеристиками, а пользователей - заменять всё старое на новое, тоже более лучшее. Я очень воодушевлённо рад наблюдаемому прогрессу в развитии протоколов, и надеюсь что в скором времени мы увидим хотя бы ещё один.
| |
|
|
4.39, Neon (??), 13:33, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
То то программы в индустрии все не бинарники, процессоры прямо текст исполняют)))
| |
|
5.43, Ivan_83 (ok), 14:35, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
В индустрии прогают люди, людям проще прочитать текст и написать текст а не заниматся кодированием битов и слежением за порядком байт.
| |
|
|
5.46, Ivan_83 (ok), 15:00, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Тем не менее бинарные протоколы всё ещё плохо заходят.
Тот же nginx имеет реализацию proxy protocol 1 - который текстовый и не имеет версию 2 которая бинарная. (на самом деле обе реализованы там так себе).
Эскейпинг нужен не везде.
Привидите примеры костылей :)
| |
5.79, Аноним (80), 15:31, 23/12/2023 [^] [^^] [^^^] [ответить] | +/– | Можешь сколько угодно САМ СЕБЯ убеждать, что бинари - рулез, но практика и моя ... большой текст свёрнут, показать | |
|
|
|
2.14, Чукча (?), 03:49, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Согласился бы, не будь таких же приколов с JSON из-за разницы в стандартах.
| |
|
1.4, Аноним (4), 00:31, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Postfix, Sendmail, MS Exchange Online
Это примерно половина почтовых серверов? Из крупных похоже только exim оказался незатронут.
| |
|
|
|
|
5.47, Анонимусс (?), 15:01, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
УМВР, наверное ты с неправильного интернета смотришь)
На попробуй другую ссылку
nvd.nist.gov/vuln/detail/CVE-2022-37452
Exim before 4.95 has a heap-based buffer overflow for the alias list in host_name_lookup in host.c when sender_host_name is set.
| |
|
6.88, нах. (?), 16:36, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Нацональностью не вышел.
паспортом. Дискриминация по национальному признаку - позапрошлый век и уже немодно.
Вот по гражданству а еще лучше месту рождения в неправильной стране - самое то!
| |
|
7.92, Аноним (-), 17:38, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Вот по гражданству а еще лучше месту рождения в неправильной стране - самое то!
Ты еще скажи, что паспорта и разрешение на вьезд (а не на выезд) - это плохо.
| |
|
|
|
|
|
|
1.7, BratishkaErik (ok), 01:14, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Астрологи объявляют неделю расщеплений. сначала Terrapin, теперь ещё и Smuggling, смурфики какие-то.
| |
|
2.10, OpenEcho (?), 01:27, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Астрологи объявляют неделю расщеплений.
И самое главное ведь как всегда - к праздничкам подарунчик... пока админы бухают
| |
|
1.11, OpenEcho (?), 01:36, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
A Sec Consult козлики... могли бы сперва оповестить вендоров, как это принято, но очень сильно козлиную медаль хотелось наверное
| |
|
2.12, kazh (?), 02:38, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Они то предупредили. Все претензии к автору перевода, который поленился об этом упомянуть.
| |
|
3.17, OpenEcho (?), 07:05, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Они то предупредили.
Предупредили?
> Timeline
> Dec 18 SEC Consult publishes an attack that involves the composition of two different email service behaviors.
Прям перед праздниками, в то время когда любая нормальная секьюрити компания оповещает вендоров и ждет как миниум месяца 3 перед тем как опубликовывать.
Козлы - это очень мягко ИМО...
| |
|
2.38, Аноним (38), 13:18, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> 2023-10-16: SMTP smuggling in Exchange Online is fixed
На самом деле они подождали, пока уважаемые люди (тм) пофиксили, проблемы остальных индейцев никого не волнуют
| |
|
3.63, OpenEcho (?), 18:04, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>> 2023-10-16: SMTP smuggling in Exchange Online is fixed
> На самом деле они подождали, пока уважаемые люди (тм) пофиксили, проблемы остальных
> индейцев никого не волнуют
Вот поэтому - и козлы
| |
|
|
1.19, OpenEcho (?), 07:19, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Wietse Venema, очередной раз - респект !
https://www.postfix.org/smtp-smuggling.html
В двух словах, для тех кто продакшн:
> With all Postfix versions:
>smtpd_data_restrictions = reject_unauth_pipelining
>
> Postfix 3.8.1, 3.7.6, 3.6.10 and 3.5.20 include the same feature:
>smtpd_forbid_unauth_pipelining = yes | |
|
2.56, Имя (?), 15:48, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>smtpd_data_restrictions = reject_unauth_pipelining
Это частичное решение, которое при должной настойчивости можно обойти. А менно, злоумышленнику достаточно подобрать размер первого сообщения так, чтобы начало второго сообщения пришлось на новый сетевой пакет.
This will block misuse of SMTP command pipelining, when one network packet contains multiple lines with smuggled SMTP commands and message content. It will not block message pipelining (multiple MAIL transactions per session), *nor will it block a malformed end of line*. Malformed line endings are addressed with the long-term solution.
| |
|
3.61, Аноним (61), 17:39, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Какой нахрен пакет в TCP?
(Для нудных: да, TCP разбивается на пакеты при отправке, но для отправителя и получателя это прозрачно.)
| |
3.64, OpenEcho (?), 18:06, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
>>smtpd_data_restrictions = reject_unauth_pipelining
> Это частичное решение
Лучше, - чем ничего
| |
|
|
1.22, Tron is Whistling (?), 08:41, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Заглянул на почтовики, reject_unauth_pipelining добавлено с какого-то там бородатого года. Зевнул и пошёл спать дальше.
| |
|
2.25, San (??), 09:24, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Заглянул на почтовики, увидел что хоть reject_unauth_pipelining присутствует с какого-то бородатого года, но "smtpd_forbid_unauth_pipelining = yes" отсутствует
Добавил smtpd_forbid_unauth_pipelining, перезапустил postfix.
Только после этого зевнул и пошёл спать дальше.
| |
|
3.27, Tron is Whistling (?), 09:27, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
А смысл? Пока достаточно предотвращения pipelining в процессе обработки данных.
Посплю до затычки, а потом обновлюсь, наплевав на все празднества.
| |
|
4.29, San (??), 09:56, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Мне кажется, что эти директивы все-таки немного разного назначения
Одна проверяет не посылает ли подключившийся SMTP команды там, где их не должно быть, а вторая разрывает соединения если клиент "violate RFC 2920 (or 5321) command pipelining constraints"
согласно "man 5 postconf"
Или я ошибаюсь?
| |
|
5.31, Tron is Whistling (?), 10:05, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
В любом случае обе можно обойти, авторизовавшись и выровняв пайплайн по границе пакета.
Поэтому до затычки частично поможет любое из... но только частично.
| |
5.32, Tron is Whistling (?), 10:09, 22/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Первая запрещает слать DATA в пайплайн, вместе с другими командами, не отдельным пакетом.
Это по сути то, что и останавливает указанный вариант.
Вторая запрещает пайплайнить вообще не по границе пакета.
Обе обходятся грамотным выравниванием контента.
Там да, надо, чтобы звёзды сошлись, но можно поэкспериментировать и подобрать для конкретной пары.
| |
|
|
|
|
1.30, ИмяХ (ok), 09:58, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Всегда использовали \0 и не было никаких проблем, зачем придумали эту абракадабру с точкой?
| |
|
2.74, Аноним (1), 10:11, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Правда что ли? \0 не текст, что является проблемой для текстового протокола, да и когда в telnet набираешь могут быть "сложности".
| |
2.93, User (??), 09:36, 25/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Всегда использовали \0 и не было никаких проблем, зачем придумали эту абракадабру с точкой?
... в hello, world'ах? Там да, там и повезти могло. А в индустрии решения хуже null-terminating string - еще поискать.
| |
|
1.49, abu (?), 15:05, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Испытываю странные ощущения - настоящим почтовиком занимался в 10-е годы, сейчас все больше все лезут в сторонние почтовые сервисы (но я бы сгородил что-то свое, косое, но свое), стало быть, реальных админов почтовых серверов мало же сейчас? Или все же больше 500 на страну?
Ну так пусть идут и занимаются всей этой пургой (:
Вопрос, собственно, один - кому массово эта история важна?
| |
|
|
3.71, abu (?), 03:17, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Да всем.
> Потому что разосланный этим способом спам и тебе придёт, в том числе.
С такой точки зрения - действительно так и есть (:
| |
|
|
1.55, Аноним (55), 15:33, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Уж сколько раз твердили миру:
"in-band signalling - смертельный грех".
Но только всё не впрок.
И в столовой хакер
Всегда отыщет с солонкой уголок.
| |
1.57, Аноним (57), 16:18, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Не уловил в чём проблема. Ну один сервак считает это одним письмом, второй считает за два. Что мешало сразу два письма послать на второй сервак? Результат тот же был бы.
| |
|
2.58, Аноним (-), 16:49, 22/12/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Неа.
Основная проблема вот в чем "второе письмо может быть отправлено от имени пользователя, не аутентифицированного через "AUTH LOGIN", но выглядеть как корректное на стороне получателя"
Т.е первое письмо делаем от васи пупкина и оно отправляется пользователем в мусорку/спам, а второе о гугла или сбера с просьбой срочно сменить пароль
Посмотри какие на картинках заголовки и адреса.
| |
|
3.68, Аноним (57), 21:51, 22/12/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так а сервак почему не проверяет от кого второе письмо? Он проверяет только первое письмо в в соединении?
Тогда ничто не мешает хакеру также подключиться и через \r\n отправить два письма.
| |
|
4.75, EuPhobos (ok), 10:18, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Какому хакеру? Куда подключиться?
Допустим ты подключаешься на сервер, проходишь аутентификацию, тебе разрешено отправить 10 писем в течении одной секунды, что бы не спамил почём зря, ты отправляешь одно письмо но с этими "неправильными" символами разделения которых в письме у тебя тысяча штук, и после каждого разные команды на отправку с разными адресами, по стандарту твоё письмо корректное и сервер обработает его как единое, и отправит дальше, а сл. сервер "туповатый", подумает что пришло 1000 писем с предыдущего сервера, который тебя проверил и всё норм. Ну и отправит 1000 писем на разные адреса.
И так ещё 10 раз по 1000 в течении секунды, и потом каждую секунду так по 10000 писем от тебя.
Вуаля, халявная рассылка. Пойди найди откуда оно летит.
| |
|
5.76, ыы (?), 13:05, 23/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
Это же smtp. поднимите у себя сервер и отправляйте хоть по миллиону писем в секунду. Зачем вам это делать через чей то сервер?
| |
|
6.82, Аноним (82), 19:13, 23/12/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
> поднимите у себя сервер
Ты либо троллишь, либо никогда не поднимал такой "сервер".
| |
|
|
|
|
|
1.73, EuPhobos (ok), 10:07, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Отмечается, что отключение поддержки альтернативных разделителей может нарушить работу некоторых редких почтовых клиентов, не полностью соответствующих спецификации SMTP.
Ну так проблема у несоответствующих клиентов, зачем поддерживать несоответствие, это больной парадокс.
| |
1.77, ыы (?), 13:19, 23/12/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
то есть проблема в том что в этом случае подделывается поле не только From: , но и mail FROM:
Однако, тут возникает вопрос: ну и что?
Что мешает вам на собственном smtp сервере сделать так? и слать что угодно кому угодно от чьего угодно имени?
| |
|
2.89, нах. (?), 16:39, 24/12/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Что мешает вам на собственном smtp сервере сделать так? и слать что
> угодно кому угодно от чьего угодно имени?
п-дюли, как ни странно.
А в этом случае - все следы закончатся на ТВОЕМ сервере.
И очень интересно не эта ли технология использовалась для спама с гугля.
| |
|
|