Что такое SPF
SPF взят на вооружение такими гигантами, как Google, Яндекс, Mail.Ru, Microsoft, Рамблер. Yahoo не поддерживает SPF, а пытается продвигать свою разработку DKIM, к слову, не слишком успешно.
Итак — как же работает SPF?
Массовая почтовая рассылка через Exim или как не попасть в спам

Исходя из совокупности представленных факторов стало понятно, что надо что-то делать с настройками своего почтового сервера Exim. Посмотреть, как это было сделано, приглашаю под хабракат.
Тяжелая жизнь антиспамеров или как это происходит на самом деле
Архитектура антиспама Mail.Ru
Собственный антиспам в Mail.Ru существует уже много лет. Желание разработать собственный продукт вполне объяснимо, т.к. на определенном этапе развития проекта требования к качеству и масштабируемости механизма борьбы со спамом стали слишком велики, чтобы их могли удовлетворить даже очень сильно кастомизированные «чужие» продукты. Конечно, какие-то сервисы и компоненты независимых поставщиков мы используем по-прежнему (например, для проверки писем на вирусную составляющую), но их роль сейчас уже не является определяющей.
Больше нет писем в папке Spam: настройка SMTP-сервера
Было найдено несколько интересных и полезных статей на эту тему (ссылки в конце статьи), на основе которых и было всё сделано в итоге. Но получив сегодня утром очередную порцию рассылки от достаточно известных русскоязычных ресурсов и увидев, что они пренебрегают описанными правилами, я решил кратко и в одном месте собрать все действия, которых достаточно для решения проблемы. Надеюсь, что после этого количество сайтов, отправляющих почту как надо, возрастет.
Приведенные советы актуальны только если вы используете свой собственный SMTP-сервер. При использовании, например, SMTP сервера Google всё уже сделано за нас. Как правило. В любом случае рекомендую проверить (см. подразделы Как проверить?).
Письма для ваших приложений (за 24-часа)
- нужен мне самому
- время на реализацию MVP — до 24х часов в сумме
- бюджет — до $100
- коммерческий потенциал
В наших проектах мы шлём пользователям письма. Мы шлём пользователям информационные рассылки, и с этим прекрасно справляется MailChimp, но ниша отсылки транзакционных писем (подтверждения, уведомления и т.д.) до недавнего времени была относительно пуста.
В большинстве проектов, которые я знаю, транзакционные письма прямо в коде создаются из шаблона письма (и хорошо если он вынесен в отдельные файл, а не зашит рядом в коде), и передаются локальному SMTP серверу. И при этом:
- менять текст сообщений могут только программисты (это медленно и дорого, и при этом невозможно делегировать работу с текстами контент-менеджеру, а для любого изменения текста писем нужен редеплой системы)
- не отслеживается открытие писем и клики по ссылкам (нет данных для улучшения текста письма)
- не обрабатываются bounce (можно постоянно слать письма на несуществующие адреса, а это влияет на показатель «спамности» адреса, с которого шлются письма)
- лишь у некоторых реализована подпись писем через DKIM (тоже уменьшает шансы на доставку письма в inbox)
Я решил за 24 часа сделать сервис, с помощью которого можно будет надёжно слать красивые письма, быстро менять их текст, и отслеживать статистику. Встречайте Notifout.
DKIM в Яндекс.Почте для доменов — как развивается безопасность электронной почты

DKIM — это технология, которая удостоверяет подлинность отправителя письма с помощью добавления цифровой подписи, связанной с именем домена. По статистике Яндекс.Спамообороны, в настоящее время уже половина приходящих на сервера Яндекс.Почты писем содержат верную цифровую подпись. И постепенно их становится всё больше — два года назад такие письма составляли 35% ото всех.
В Яндекс.Почте цифровая подпись служит для борьбы со спамом и фишингом. До появления DKIM одним из факторов, с помощью которых Спамооборона понимала нежелательность письма, была верификация отправителя при помощи SPF — Sender Policy Framefork, над которым за время его существования успело поработать множество рабочих групп, включая рабочую группу MARID в IETF.
Для того чтобы определить подлинность письма, DKIM весьма элегантно использует современные криптографические достижения. Под катом — о том, как реализована DKIM в Почте для доменов, какие недостатки есть у SPF и почему, несмотря на них, мы продолжим использовать обе технологии.
Let's Lab. IS-IS routing protocol. Часть 1
Маршрутизация – это весело. А IGP-маршрутизация — это ещё и быстро. Есть, конечно, энтузиасты, которым не хватает всего многообразия решений, и в результате мы видим такие забавные реализации, как тысячи статических маршрутов или полное доминирование iBGP в маленьких сеточках.
Но сегодня мы не будем запихивать слона в игольное ушко. Обсуждаемой теме уже 100 лет в обед, но я всё чаще становлюсь свидетелем того, как заслуженный протокол признают уделом извращенцев. А говорю я об integrated IS-IS.
С тех пор как Cisco вырезала топик из CCNP R&S, все кому не лень стали кидать в беднягу тапками. Мол «вали туда, где покоятся frame relay и x25, у нас есть OSPF». Да, давайте просто так назовём дураками и лентяями крупнейших провайдеров, может они правда не хотят идти в ногу со временем?
Я думаю всё дело в том, что не так много начинающих инженеров сталкивается в своей работе с этим протоколом. Кстати в CCNP Service Provider топик не обошли вниманием. А те, кто пошёл по пути Juniper, возможно, и вовсе не имеют таких предрассудков. Захотели сдать CCIE R&S written?- пожалуйте на страницы учебников, «матчасть» надо знать.
Не сочтите меня фанатом IS-IS, я считаю, что всему своё место, и не стоит пихать IS-IS в каждый энтерпрайз «лишь бы было». Но вот что меня не устраивает категорически, так это количество учебных материалов и заметок в интернете. Очень трудно «въехать с нуля».
Тем, чьё сердце пленили операторские сети, тем, кто не боится знать правду и тем, кто страстно желал видеть IS-IS хоть где-нибудь, посвящается.
Под катом нет текстовой статьи. Только ссылки на литературу и источники.
Я уже пробовал пояснить причины такого форм-фактора в пилотном выпуске, но НЛО отправило меня в read-only за «не магазин» и ссылку на линкмиап.
Let's Lab. IS-IS routing protocol. Часть 2
Концепции и правила! Они окружают нас повсюду. Что употреблять в пищу, как переходить дорогу, почему не стоит облизывать лягушек и как перекладывать пакеты, если ты маршрутизатор. Очень много всяких штук приходится держать в голове сетевому инженеру. Порой и не поймёшь, так ли тебе надо знать все типы LSA в OSPF, по какому порту строятся TCP сессии в BGP, и так ли важно каждый день узнавать что-то новое, при этом, не забывая старое.
Так или иначе, переходить к практике рано, пока нет понимания теории. В выпуске будет очень много концепций, которые я постараюсь вам объяснить. Всю воду и историю я слил в первый выпуск. А данный выпуск будет состоять из двух секций, в первой из которых я подробно расскажу о топологиях с IS-IS. Вторая секция будет посвящена данным, которыми обмениваются маршрутизаторы в IS-IS.
И вот о чём пойдёт речь:
Тяжко ли быть маршрутизатором с OSPF или IS-IS на борту?
Как OSPF и IS-IS строят топологию?
L1, L2, L1/L2 маршрутизаторы и куда их пристроить.
Что такое Partial route calculation и как работает ISPF?
Зачем нам куча Area, и так ли они важны?
Нужен ли в IS-IS virtual link?
Поменять номер Area без downtime?
Почему IS-IS называют L2-протоколом?
Бабушка, а зачем тебе такое больше MTU?
Что такое PDU, и какими они бывают в IS-IS?
Почему я так люблю Overload bit?
И как запихнуть в OSI-протокол ip-префиксы и чизбургер?
В следующем выпуске больше веселья. Даёшь командную строку!
Под катом нет текстовой статьи. Только ссылки на литературу и источники.
HowTo: DMARC
Решил я настроить почту «как надо» — SPF, DKIM и попробовать настроить DMARC.
Оговорюсь сразу — я даже не пробовал разобраться с макросами и не настраивал aspf/adkim (хоть и написал о них).
Что такое DMARC?
Описан в RFC7489.
DMARC задает политику как проверять приходящую почту в этом домене и что делать если письма не проходят аутентификацию SPF или DKIM. На картинке показано на каком этапе вступает в работу DMARC.

Let's Lab. IS-IS routing protocol. Часть 3
Вы когда-нибудь пробовали стрелять из лука? Наверное, не самое популярное занятие. А как насчёт коньков и роликов? Сотни раз я видел, как люди, экипированные всевозможными защитными приспособлениями на всех частях тела, подвергаясь всемирному закону тяготения, наносят себе травмы. Тогда как опытные спортсмены месяцами катаются без единого падения.
Всему виной — отсутствие практики. Проведите за книжками хоть целый месяц, и, вероятно, вы добьётесь меньшего, чем за 2 недели с лабой на изучаемую тематику.
IS-IS легко можно назвать странным протоколом. Но такой он только в теории. На практике мы встречаемся с теми же проблемами, что караулили нас во время использования других IGP-протоколов. Основная его цель – распространение маршрутной информации и принятие решений по её добавлению в таблицу маршрутизации.
Данный выпуск оказался длиннее, чем я рассчитывал. Больше часа информации не каждый способен осилить за один раз. В силу обстоятельств, я не могу разбить видео на два выпуска.
Смотрите в этой части:
— Базовая настройка IS-IS на Cisco IOS и IOS-XR;
— Установление соседства между маршрутизаторами;
— Дебаг и разбор дампа трафика при обнаружении соседа;
— Метрика протокола и его настройка;
— Hello и Hold таймеры и их причуды;
— Hello-padding;
— Линки с множественным доступом и DIS;
— Обмен между L1 и L2 базами. Значение ATT bit;
— Анонс префиксов из BGP в IS-IS;
— External маршруты и их метрика;
— Как избежать петель при импорте из L2 в L1;
— Ассиметричная маршрутизация и Suboptimal routing;
— Будь крутым, настрой роль каждого линка правильно.
Под катом нет текстовой статьи. Только ссылки на литературу и источники.
Let's Lab. IS-IS routing protocol. Часть 4 (final)
Все хорошо в меру.
Вы когда-нибудь задумывались о том, что благодаря таким вещам, как баланс и гармония, наша вселенная держится вместе?
И о том, как порой тяжело найти что-то одновременно простое, функциональное и надежное?
Когда первый раз настраиваешь динамическую маршрутизацию, тебе кажется, что ты близок к правде и пониманию того, как устроены сети. Но стоит новичку взглянуть на рабочий конфиг серьезной операторской сети, как становится понятно, что мир не заканчивается командой «network».
Взрослые дядьки то и дело выкручивают таймеры и наполняют конфиг непонятной всячиной. Но зачастую за этими непонятными буквами и цифрами стоит метод проб и ошибок. Простоями и авариями выложен путь к балансу и тюнингу маршрутизации.
Но не все так страшно! Уделите внимание литературе, спросите про шишки более мудрых камрадов, и дзен станет ближе.
Вашему вниманию я предлагаю последний выпуск про IS-IS!
В этом выпуске:
- Ешь, пей в аду. Пиши сценарий к IS-IS.
- Почему OSPF сильнее Супермена?
- Что будет в OSPFv4?*
- Overload bit и iSPF — сложнее объяснить, чем сделать.
- BFD. Молниеносный убийца вашего CPU.
- Почему Горден Фримен радуется, когда вы настраиваете dampening?
- Алгоритм экспоненциального откладывания или история про жадного ребенка.
- Сходимость и циферки!
- Как несчастный IGP ждал LDP. Жалко я не вспомнил Хатико.
*понятия не имею, но расскажу.
Под катом нет текстовой статьи. Только ссылки на литературу и источники. Также вы можете проголосовать за тему следующего выпуска или выбрать её самостоятельно.
Значимость SPF
SPF (Sender Policy Framework) представляет из себя текстовую запись в TXT-записи DNS домена. Запись содержит информацию о списке серверов, которые имеют право отправлять письма от имени этого домена и механизм обработки писем, отправленных от других серверов.
Например, SPF-запись «example.com. TXT «v=spf1 +a +mx -all»» говорит о том, что отправлять письма от имени домена «example.com» могут сервера, указанные в A и MX-записях этого домена, а письма, отправленные от других серверов должны быть удалены (Fail).

Как помочь силам добра бороться со спамом или DMARC на вашем сервере
Если не вдаваться в технические детали, с которыми лучше ознакомиться на специализированных ресурсах, к примеру dmarc.org или из статей на Habrahabr, то суть DMARC состоит в возможности, во-первых, основываясь на результатах проверки SPF и DKIM сообщить серверу-получателю о действиях, которые следует предпринять в случае обнаружения проблем при их проверке, а, во-вторых, получить статистику и оперативные отчёт об источниках отправки сообщений для данного домена.
Исходя из вышеизложенного, задача внедрения поддержки DMARC на конкретном почтовом сервере состоит в обеспечении реализации политики домена-отправителя на локальном уровне и отправки аналитических отчётов в качестве вклада в глобальный процесс борьбы со спамом.
Почему у Сбербанка некорректная SPF-запись для домена?
> host -t txt sberbank.ru
sberbank.ru descriptive text "v=spf1 mx mx:shark11.sberbank.ru mx:shark12.sberbank.ru mx:shark13.sberbank.ru mx:shark14.sberbank.ru mx:email1.sberbank.ru -all"
Счастливый финал: в течение дня запись исправили, теперь она соответствует RFC.
> host -t txt sberbank.ru
sberbank.ru descriptive text "v=spf1 mx -all"
Ну, а для тех кто осилит прочитать — добро пожаловать под кат.
Как заставить отдел продаж дочитать скучное письмо инженера о трансиверах Cisco?

По долгу службы меня часто ставят в копию многих писем в нашей компании. Казалось бы, письма между инженерами и менеджерами по продажам должны быть по большей части техническими и несильно интересными. Но инженеры – люди творческие и даже обычное письмо стараются составить так, чтобы на другом конце переписки прибавилось не только технических знаний, но и чуточку хорошего настроения. Хотел бы поделиться с Хабром одним из таких писем. Как минимум оно может быть полезно для сообщества при подборе трансиверов для коммутаторов Cisco Nexus. Стилистика письма полностью сохранена.
Загадки и мифы SPF
SPF (Sender Policy Framework), полное название можно перевести как «Основы политики отправителя для авторизации использования домена в Email» — протокол, посредством которого домен электронной почты может указать, какие хосты Интернет авторизованы использовать этот домен в командах SMTP HELO и MAIL FROM. Публикация политики SPF не требует никакого дополнительного софта и поэтому чрезвычайно проста: достаточно добавить в зону DNS запись типа TXT, содержащую политику, пример записи есть в конце статьи. Для работы с SPF есть многочисленные мануалы и даже онлайн-конструкторы.
Первая версия стандарта SPF принята более 10 лет назад. За это время были созданы многочисленные реализации, выработаны практики применения и появилась свежая версия стандарта. Но самое удивительное, что почему-то именно SPF, более чем любой другой стандарт, оброс за 10 лет невероятным количеством мифов и заблуждений, которые кочуют из статьи в статью и с завидной регулярностью выскакивают в обсуждениях и ответах на вопросы на форумах. А протокол, казалось бы, такой простой: внедрение занимает всего пару минут. Давайте попробуем вспомнить и разобрать наиболее частые заблуждения.
TL;DR — рекомендации в конце.
Настройка DKIM, SPF и DMARC в Zimbra Collaboration Suite

Полный синтаксис DKIM, DMARC и SPF
Для того, чтобы прописать необходимые записи, нам нужен доступ к DNS. DNS расшифровывается как Domain Name System. Обычно доступ к DNS в компании имеют системные администраторы или, на крайний случай, программисты. Для них вы должны написать ТЗ, по которому они смогут добавить записи в DNS.
Итак, что же такое DKIM?
DKIM (Domain Keys Identified Mail) — это цифровая подпись, которая подтверждает подлинность отправителя и гарантирует целостность доставленного письма. Подпись добавляется в служебные заголовки письма и незаметна для пользователя. DKIM хранит 2 ключа шифрования — открытый и закрытый. С помощью закрытого ключа формируются заголовки для всей исходящей почты, а открытый ключ как раз добавляется в DNS записи в виде TXT файла.
Проверка DKIM происходит автоматически на стороне получателя. Если домен в письме не авторизован для отправки сообщений, то письмо может быть помечено подозрительным или помещено в спам, в зависимости от политики получателя.
Debian + Postfix + Dovecot + Multidomain + SSL + IPv6 + OpenVPN + Multi-interfaces + SpamAssassin-learn + Bind
Postfix + Dovecot. SPF + DKIM + rDNS. С IPv6.
С шифрованием TLS. С поддержкой нескольких доменов — часть с настоящим SSL сертификатом.
С антиспам-защитой и высоким антиспам-рейтингом у других почтовых серверов.
С поддержкой нескольких физических интерфейсов.
С OpenVPN, подключение к которому через IPv4, и которое даёт IPv6.
Если вы не хотите изучать эти все технологии, но хотите настроить такой сервер — тогда эта статья для вас.
В статье отсутствуют попытки пояснить каждую деталь. Пояснение идёт к тому, что настроено не стандартно или важно с точки зрения потребителя.