Как стать автором
Обновить
82
0
Владимир Дубровин @z3apa3a

Пользователь

Отправить сообщение

Действительно ли C++ — лучший язык, чтобы выстрелить себе в ногу?

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров32K
В 2023 году одной из главных IT-новостей стала публикация гайда от Агентства национальной безопасности (NSA) США, в котором языки С/C+ признавались «опасными» и требующими перехода на «безопасные» C#, Go, Java, Ruby и Swift.

В этой статье я с позиции Security Champion на одном из продуктов, использующих KasperskyOS, собственную микроядерную операционную систему «Лаборатории Касперского», расскажу, так ли плохо обстоят дела с безопасностью в С++ на самом деле, а также разберу различные подходы к митигации описанных проблем, которые современная индустрия предлагает для решения данного вопроса.
Читать дальше →

Taneleer на смену Thanos – как мы поменяли подход к обнаружению скомпрометированных паролей

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров5.5K

Привет, Хабр! Мы – команда информационной безопасности Почты Mail.ru. Уже много лет мы постоянно совершенствуем текущие и внедряем новые механизмы безопасности и технологии беспарольного входа, которые направлены на защиту аккаунтов пользователей. Но пока пароль остается основным методом аутентификации для большинства пользователей и является самым ненадежным методом аутентификации, потому что природа не одарила человеческий мозг хорошим генератором псевдослучайных чисел и идеальной памятью. Согласно многочисленным исследованиям, пользователи предпочитают использовать простые, предсказуемые, не уникальные пароли.

Читать далее

Обновите RouterOS на вашем MikroTik

Время на прочтение3 мин
Количество просмотров40K

Вечером 10 марта служба поддержки Mail.ru начала получать жалобы от пользователей на невозможность подключения к IMAP/SMTP серверам Mail.ru через почтовые программы. При этом часть коннектов не проходила, а часть показывают ошибку сертификата. Ошибка вызвана тем, что «сервер» отдает самоподписаный сертификат TLS.
Читать дальше →

WebAuthn в реальной жизни

Время на прочтение19 мин
Количество просмотров37K
В сентябре 2019 года команда Почты Mail.ru поддержала технологию WebAuthn. Мы стали первым в мире сервисом электронной почты, который реализовал возможность входа в аккаунт с использованием электронных ключей вместо паролей. Сейчас эта возможность доступна всем нашим пользователям, вы можете привязать электронный ключ к своему аккаунту в настройках и после этого свободно использовать его для входа.



Мы уже писали новость об этом событии здесь, на Хабре. В этой статье я хочу рассказать подробнее о причинах внедрения WebAuthn в наши сервисы и о технических аспектах работы с этой технологией.
Читать дальше →

How to Make Emails and Not Mess Up: Practical Tips

Время на прочтение23 мин
Количество просмотров3.2K


A developer, who first encountered generating emails, has almost no chance to write an application, that will do it correctly. Around 40% of emails, generated by corporate applications, are violating some form of standard, and due to this, there are problems with delivery and display. There are reasons for this: emails are technically more difficult than the web, and operating emails is regulated by a few hundred standards, as well as an uncountable number of generally accepted (and not as much) practices, whereas the email clients are more varied and unpredictable than browsers. Testing may significantly improve the situation, but materials that are dedicated to testing the email system, are practically non-existent.

Mail.ru regularly interacts with its users by email. In our projects, all the components responsible for generating emails and even individual mailings, are subject to mandatory testing. In this article, we will share our experience (learning from our mistakes).
Read more →

Как делать email-рассылки и не косячить: практические советы

Время на прочтение23 мин
Количество просмотров58K

У разработчика, который впервые столкнулся с генерированием электронных писем, практически нет шансов написать приложение, которое будет делать это корректно. Около 40 % писем, генерируемых корпоративными приложениями, имеют те или иные нарушения стандартов, и, как следствие, проблемы с доставкой и отображением. На это есть причины: электронная почта технически гораздо сложнее, чем веб, работа почты регулируется несколькими сотнями стандартов и несчетным количеством общепринятых (и не очень) практик, а почтовые клиенты отличаются разнообразием и непредсказуемостью. Тестирование может заметно улучшить ситуацию, но материалов, посвященных тестированию почты, практически нет.

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


Читать дальше →

Загадки и мифы SPF

Время на прочтение10 мин
Количество просмотров55K


SPF (Sender Policy Framework), полное название можно перевести как «Основы политики отправителя для авторизации использования домена в Email» — протокол, посредством которого домен электронной почты может указать, какие хосты Интернет авторизованы использовать этот домен в командах SMTP HELO и MAIL FROM. Публикация политики SPF не требует никакого дополнительного софта и поэтому чрезвычайно проста: достаточно добавить в зону DNS запись типа TXT, содержащую политику, пример записи есть в конце статьи. Для работы с SPF есть многочисленные мануалы и даже онлайн-конструкторы.


Первая версия стандарта SPF принята более 10 лет назад. За это время были созданы многочисленные реализации, выработаны практики применения и появилась свежая версия стандарта. Но самое удивительное, что почему-то именно SPF, более чем любой другой стандарт, оброс за 10 лет невероятным количеством мифов и заблуждений, которые кочуют из статьи в статью и с завидной регулярностью выскакивают в обсуждениях и ответах на вопросы на форумах. А протокол, казалось бы, такой простой: внедрение занимает всего пару минут. Давайте попробуем вспомнить и разобрать наиболее частые заблуждения.


TL;DR — рекомендации в конце.

Читать дальше →

Технические рекомендации к почтовым рассылкам

Время на прочтение11 мин
Количество просмотров45K


«Даже если вы получите какое-нибудь письмо, вы не сможете его прочитать»
(Марк Твен)

Мы уже писали о том, как правильно делать рассылки, улучшать их качество и эффективность. Приводили метрики, на основе которых строится репутация отправителя. Рассказывали об интерфейсе Постмастер Mail.Ru, с помощью которого их можно отслеживать. Многие компании, как находящиеся в начале своего развития, так и довольно крупные, пренебрегают этими правилами, в результате чего начинаются проблемы с доставляемостью писем, разбирательства со службой техподдержки и т.п. Но мы надеемся что вы не принадлежите к их числу.

Итак, ваш проект набирает популярность и нравится пользователям, вы собираетесь оставаться с ними на связи. Вы ознакомились с административными требованиями (о которых мы писали ранее) и собираетесь ответственно и без спама организовать рассылку для тех пользователей, которые готовы ее получать. А может быть, вы просто собираетесь настроить корпоративную почту. Поднимаете из дистрибутива почтовый сервер, пишете скрипт, запускаете и… 70% получателей письмо не доставлено, у 15% оно попало в папку «Спам», а остальные не могут прочитать то, что в нем написано. О том, что делать, чтобы этого не случилось, я попробую рассказать в этой статье.
Читать дальше →

Внедрение DMARC для защиты корпоративного домена от спуфинга

Время на прочтение9 мин
Количество просмотров60K
A Thief on the Run by Manweri
A Thief on the Run by Manweri

Привет, Хабр! В этом посте мы снова поговорим о проблеме подделки отправителя (или так называемом спуфинге). В последнее время такие случаи очень участились: подделывается все: письма со счетами за ЖКХ, из налоговой инспекции, банков и так далее. Решить эту проблему помогает настройка строгой DMARC-политики. Мы как почтовая служба проверяем все приходящие к нам письма на DMARC начиная с февраля 2013 года. Мы были первым в рунете почтовым сервисом, поддержавшим стандарты DMARC. Однако чтобы минимизировать число поддельных писем, этого, к сожалению, недостаточно. Главное, чтобы строгий DMARC был поддержан на стороне отправителя. Вот почему мы не устаем качать эту тему, ведем активную разъяснительную работу и всячески призываем всех включать у себя строгий DMARC.

Позитивные сдвиги уже есть: с каждым месяцем мы видим прирост числа корпоративных отправителей, прописавших DMARC, на десятки процентов. Однако безусловно, еще есть над чем работать. Практика показывает, что IT-культура находится на очень разном уровне. Кто-то слышал краем уха про DMARC, но пока не собирается его внедрять. Есть и такие, для кого факт, что в транспортных протоколах электронной почты отсутствует какая-либо проверка и защита адреса отправителя, до сих пор является настоящим откровением. Кроме того, поддержка DMARC — задача непростая. Только на первый взгляд кажется, что достаточно опубликовать запись в DNS, и не требуется никакого дополнительного софта или технических средств (подробнее в нашей статье DMARC: защитите вашу рассылку от подделок). На практике в крупной компании с многочисленными потоками электронной почты и развесистой структурой почтовых доменов все гораздо сложнее. И есть моменты, которые следует предусмотреть и продумать заранее. Именно для таких сложных случаев мы написали эту статью, постаравшись собрать в ней все нюансы.
Читать дальше →

(Почему) Почта Mail.Ru включает строгий DMARC

Время на прочтение9 мин
Количество просмотров95K


На днях мы анонсировали включение строгой DMARC-политики на всех доменах, принадлежащих Почте Mail.Ru. На некоторых доменах, включая bk.ru и mail.ua, политика p=reject включена уже сейчас. В этой статье мы хотим пояснить некоторые технические детали такого включения и дать рекомендации владельцам сервисов, почтовых серверов и списков рассылки.
Читать дальше →

Новый курс «Основы тестирования программного обеспечения» на Универсариуме

Время на прочтение1 мин
Количество просмотров23K


С 28 сентября на бесплатной учебной площадке Универсариум начнется мой курс «Основы тестирования программного обеспечения». Он предназначен для тех, кто делает первые шаги в сфере обеспечения и контроля качества программных продуктов. Из него вы узнаете о различных процедурах обеспечения качества и получите начальные навыки работы в этой области. Для глубокого понимания этой темы нельзя обойтись без исторического экскурса, поэтому вы узнаете, как формировалась природа качества в процессе развития человеческой цивилизации и чем сегодня руководствуются компании в борьбе за качество. Также я расскажу о комплексе процедур контроля качества, с помощью которых можно улучшить программные продукты.

Прослушав курс, вы не только получите теоретические знания, но и примените полученную информацию на практике.

Курс будет проходить с 28 сентября по 21 ноября.

Учебная программа:

1. Введение в обеспечение качества — 5 лекций
2. Тестирование ПО — 3 лекции
3. Артефакты тестирования — 3 лекции
4. Инструменты на службе тестирования ПО — 2 лекции
5. Другое тестирование — 2 лекции
6. Управление тестированием — 2 лекции

Записывайтесь на курс: universarium.org/course/445

19 советов по повседневной работе с Git

Время на прочтение14 мин
Количество просмотров287K


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

Читать дальше →

Атаки шейпинга в сетях low latency или почему Tor не спасает от спецслужб

Время на прочтение6 мин
Количество просмотров87K


Тайминг-атаки являются известным слабым местом сети Tor и неоднократно обсуждались, в том числе на Хабре, где можно найти порядка 10 статей, так или иначе затрагивающих эту тему. Зачем нужна еще одна? Существует достаточно распространенное заблуждение, что подобные атаки всегда требуют статистического анализа и достаточно сложны в реализации. Ранее опубликованные статьи относятся именно к такому классу атак. Мы рассмотрим вполне реалистичный сценарий, в котором достаточно единственного запроса для деанонимизации пользователя сети.

Поскольку вопрос возможности деанонимизации пользователей Tor в очередной раз активно обсуждается в рунете, я публикую «печатную» версию фрагмента своей презентации с PHDays 2014. Приведенная ниже атака не специфична для Tor и может быть использована против любых low latency средств сокрытия источника трафика – VPN, цепочки прокси и даже их комбинации.
Читать дальше →

Разделяй и властвуй: как мы реализовывали разделение сессий на портале Mail.Ru

Время на прочтение7 мин
Количество просмотров42K


Mail.Ru — огромный портал, существующий более 15-ти лет. За это время мы прошли путь от небольшого веб-проекта до самого посещаемого сайта рунета. В состав портала входит огромное количество сервисов, у каждого из которых своя судьба, и над каждым из которых работает отдельная команда. Разработчикам пришлось как следует потрудиться, чтобы на всех проектах — и новых, и старых, и тех, которые присоединились к порталу по мере его развития, — использовалась единая система авторизации. А через много лет перед нами встала фактически обратная задача: разделить пользовательские сессии. О том, зачем мы это делали, какие трудности нас ожидали и как мы их обошли, я расскажу в этом посте.
Читать дальше →

Месяц поиска уязвимостей: как мы к нему готовились и как его пережили

Время на прочтение5 мин
Количество просмотров22K


21 апреля совместно с Hacker One мы запустили программу поиска уязвимостей. 20 мая завершился конкурс, ставший первым шагом этой программы. Сегодня мы хотим рассказать, как мы укрепляли нашу оборону, готовясь к конкурсу, как исследователи искали в ней бреши и что они помогли нам найти.
Читать дальше →

Lock-free структуры данных. Основы: откуда пошли быть барьеры памяти

Время на прочтение22 мин
Количество просмотров98K

Как только я заинтересовался lock-free алгоритмами, меня стал мучить вопрос – а откуда взялась необходимость в барьерах памяти, в «наведении порядка» в коде?
Конечно, прочитав несколько тысяч страниц руководств по конкретной архитектуре, мы найдем ответ. Но этот ответ будет годен для этой конкретной архитектуры. Есть ли общий? В конце концов, мы же хотим, чтобы наш код был портабелен. Да и модель памяти C++11 не заточена под конкретный процессор.
Наиболее приемлемый общий ответ дал мне мистер Paul McKenney в своей статье 2010 года Memory Barriers: a Hardware View of Software Hackers. Ценность его статьи – в общности: он построил некоторую упрощенную абстрактную архитектуру, на примере которой и разбирает, что такое барьер памяти и зачем он был введен.
Вообще, Paul McKenney – известная личность. Он является разработчиком и активным пропагандистом технологии RCU, которая активно используется в ядре Linux, а также реализована в последней версии libcds в качестве ещё одного подхода к безопасному освобождению памяти (вообще, о RCU я хотел бы рассказать отдельно). Также принимал участие в работе над моделью памяти C++11.
Статья большая, я даю перевод только первой половины. Я позволил себе добавить некоторые комментарии, [которые выделены в тексте так].
Передаю слово Полу

DLNA-сервер для дома и семьи

Время на прочтение7 мин
Количество просмотров861K
Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.

И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.

Читать дальше →

Просто о безопасности почты

Время на прочтение13 мин
Количество просмотров215K
У этого поста две цели. Первая: слегка приоткрыть завесу над правилами игры, которых придерживается крупная почтовая служба в вопросах безопасности. Мы хотим, чтобы меры, которые мы принимаем для защиты пользователей, стали понятней сообществу. Пост написан на основе опыта Почты Mail.Ru, но рекомендации универсальны и применимы к любому почтовому сервису.

Вторая цель — рассказать о том, как защитить ящик. Мы пройдемся по базовым моментам и напомним те пункты в «плане безопасности», о которых редко задумываются. Может быть, сведения из этой статьи пригодятся вам, а возможно — вашему беспечному другу, родителям или коллеге. Возможно, нам даже удастся сделать так, чтобы звонков «У меня, кажется, ящик взломали, ты же программист, сделай что-нибудь!!!11» стало чуть меньше.

Читать дальше →

Node.js на Windows (с тестами производительности)

Время на прочтение11 мин
Количество просмотров48K


В этой статье мы рассмотрим вопросы наиболее важные для начинающих веб программистов и тех кто задумывается об изучении Node.js, а именно:
  • как установить рабочее окружение Node.js на своем компьютере;
  • как писать код;
  • как отлаживаться;
  • как развернуть то, что получилось на удаленном сервере.
А тесты производительности в конце статьи возможно дадут ответ на вопрос зачем собственно вам может понадобится изучать Node.js.
Читать дальше →

Саппорт Почты Mail.Ru: прошлое, настоящее, будущее

Время на прочтение10 мин
Количество просмотров52K
В этом посте мы хотели бы рассказать о том, как устроена и функционирует служба поддержки самого известного и высоконагруженного сервиса нашей группы компаний — Почты Mail.Ru, как она сегодня «выглядит» после недавно проведенной переделки структуры и повышения эффективности.

Саппорт сегодня


Сейчас в службе поддержки работают более 50 сотрудников. Саппорт работает 7 дней в неделю по сменному графику, в будние дни это 2 смены по 6 часов (с 9 до 15 и с 15 до 21), в праздники и выходные — одна 8-ми часовая смена (это связано с меньшим потоком заявок в выходные). Такой график удобен для студентов и позволяет совмещать работу с дневной формой обучения.

Расписание гибкое, составляется с учетом возможностей и желания работать каждого сотрудника :) Оплата зависит от количества смен. Логика простая: все смены сверх заложенной в оклад сотрудника минимальной выработки, оплачиваются по повышенной ставке — это стимулирует людей работать больше минимально положенного уровня.

Мы используем систему обработки заявок OTRS (Open-source Ticket Request System, http://www.otrs.org), популярный проект с открытым исходным кодом, работающий практически на всех платформах. OTRS используется во многих крупных компаниях, например, в Opera, MySQL AB, SuSE Linux AG, подошла она и нам. К сожалению, система «из коробки» (на момент внедрения это была версия 2.2.6) не подходила для работы с большими объемами данных (тысячи входящих писем в день и сотни тысяч тикетов в базе, параллельная работа десятков человек), поэтому в рамках нашего саппорта применяется модифицированная версия.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность