Просмотр spf записей. Больше нет писем в папке Spam: настройка SMTP-сервера. Параметры SPF записи

Сегодня мы анонсируем доступность релиза операционной системы CentOS 7 в облаке InfoboxCloud , основанного на пакетной базе Red Hat Enterprise Linux 7 и полностью совместимого с ним. В конце поста ссылка на бесплатное тестирование в облаке.

CentOS 7 - первый релиз ОС, после перехода команды CentOS в RedHat. Данная ОС стабильна и готова к корпоративному использованию.

Мы начинаем обзор новой ОС, состоящий из серии теоретических и практических статей. В первой главе обзора будет рассказано о поддержке контейнеров Linux в CentOS 7.

В облаке по умолчанию устанавливается минимальная версия CentOS 7 для обеспечения максимальной безопасности через снижение поверхности атаки. Все необходимые компоненты ОС устанавливаются из стандартных репозиториев.

Ключевые изменения CentOS 7
  • Поддержка контейнеров Linux (включая поддержку Docker ). Контейнеры расширяют возможности по разработке, доставке и изоляции софта для тестовых и производственных задач. Так же контейнеризация увеличивает безопасность ПО, снижая поверхность атаки;
  • Интеграция Active Directory / Identity Management (IdM)
  • Использование systemd , стандарта управления процессами, сервисами, безопасностью и другими ресурсами;
  • Встроенные профили и инструменты для оптимизации производительности и простого масштабирования;
  • Унифицированные инструменты управления и фреймворк управления OpenLMI , являющийся фактически стандартом индустрии для администрирования и настройки системы;
  • Техническая предварительная версия технологии установки обновлений ядра без перезагрузки kpatch ;
Поддержка контейнеров Linux
Docker безусловно выстрелил, породив изрядный шум в блогосфере и социальных сетях. В самых различных областях начали активно использоваться контейнеры для изоляции приложений друг от друга и от внешней среды, как средство доставки и развертывания программного обеспечения.

В контейнерная виртуализация используется уже несколько лет как один из вариантов виртуализации: более быстрый и экономичный, чем гипервизорная технология. Стандартный функционал InfoboxCloud позволяет быстро из панели управления создавать быстрые и эффективные контейнеры с необходимой ОС. Использование контейнеров внутри виртуальной машины InfoboxCloud (флаг "Разрешить управление ядром ОС " при создании сервера в облаке) приносит новые возможности:

  • Сохраняя возможность управления ядром ОС появляется возможность изоляции приложений друг от друга. В случае сбоя одного приложения система останется стабильной.
  • Разработчики хотят предоставлять программное обеспечение, которое легко развертывать, обновлять и масштабировать . Использование контейнеров позволяет иметь больший контроль над средой исполнения программного обеспечения. Появляется возможность создания портативного образа ПО и окружения, который легко переносить между средами исполнения.
Основные возможности контейнеров Linux:
  • Управление ресурсами;
  • Процесс изоляции;
  • Безопасность;
  • Инструменты управления из командной строки.
В контексте контейнеров Linux управление ресурсами организовано через cgroups . Cgroups позволяют пользователю выделять ресурсы, такие как процессорное время, системная память, пропускная способность сети, блок ввода-вывода или любую комбинацию из этих ресурсов для установки ограниченной пользователем группы задач или процессов, запущенных в данной системе. Пользователи могут заниматься мониторингом любых настроенных cgroups, запрещать cgroups доступ к определенным ресурсам, или даже динамически переконфигурировать cgroups на запущенной системе. Используя cgroups, системные администраторы имеют точный контроль за выделением, приоритизацией, уменьшением, управлением и мониторингом системных ресурсов. Аппаратные ресурсы (ресурсы гипервизора) могут быть легко поделены между задачами и пользователями, часто повышая общую эффективность системы. Cgroups – не новая концепция. Она появилась еще в Cent OS 6. В CentOS 7 стали лучше возможности управления контрольными группами через Systemd - менеджер ОС и сервисов.

Изоляция процессов, сердце архитектуры контейнеров Linux, представлена пространствами имен ядра (kernel namespaces ) CentOS. Сейчас Linux реализовывает шесть различных типов пространств имен. Цель каждого - обернуть каждый глобальный ресурс системы в абстракции . Каждый ресурс предоставляется в качестве изолированного инстанса для процесса внутри пространства имен, что обеспечивает изоляцию - иллюзию того, что группа процессов одинока в системе. Пространства имен необходимы, потому что ядро Linux ничего не знает о контейнерах. Задача пространства имен - научить ядро понятию изолированного окружения.

CentOS 7 реализует следующие пространства имен:

  • PID пространство имен предоставляет изоляцию идентификаторов процессов, позволяя процессам в различных пространствах имен PID иметь одинаковые PID. Одно из главных преимуществ пространств имен PID – возможность контейнеров мигрировать между хостами с сохранением тех же идентификаторов процессов внутри контейнера. PID пространство имен позволяет каждому контейнеру иметь собственный процесс инициализации, который управляет различными задачами инициализации системы, и управлять жизненным циклом контейнера.
  • Сетевые пространства имен предоставляют изоляцию сетевых контроллеров, системных ресурсов, ассоциированных с сетями, файрволлов и таблиц маршрутизации. Сетевые пространства имен позволяют каждому контейнеру иметь собственный виртуальный сетевой стек, который ассоциирован с группами процессов. Каждое пространство имен имеет свое собственное loopback устройство и пространство процесса. Виртуальные или реальные устройства могут быть добавлены к каждому сетевому пространству имен, и IP адреса могут быть назначены на эти устройства и использованы как сетевая нода.
  • Пространства имен UTS изолируют два системных идентификатора: nodename и domainname , возвращаемые системным вызовом uname(). Пространства имен UTS позволяют каждому контейнеру иметь собственный hostname и NIS domain name. Это полезно для инициализации и конфигурационных скриптов, которые совершают свои действия на основе этих имен.
  • Пространства имен монтирования изолируют набор точек монтирования файловых систем подобно группе процессов и помогают созданию различных файловых систем только для чтения. Процессы в различных пространствах имен монтирования могут иметь различные видения иерархии файловой системы. В дополнение к пространствам имен монтирования, системные вызовы mount() и umount() перестают действовать в глобальном пространстве точек монтирования (видимом для всех процессов ОС). Вместо этого они действуют только в пределах пространства имен монтирования, ассоциированным с процессом контейнера.
  • IPC пространства имен изолируют определенные ресурсы межпроцессного взаимодействия (IPC), такие, как объекты System V IPC и очереди сообщений Posix. Каждое пространство имен IPC имеет свой собственный набор идентификаторов System V и свою собственную очередь сообщений POSIX файловой системы.
  • Пользовательские пространства имен изолируют идентификаторы пользователя и группы так, что пользовательские процессы и идентификаторы групп могут быть различными внутри и снаружи пользовательского пространства имен. Наиболее интересный случай - когда процесс обычный не привилегированный ID снаружи пользовательского пространства имен и в то же самое время иметь идентификатор пользователя 0 внутри пространства имен. Это означает, что процесс имеет полные root привилегии для операций внутри пользовательского пространства имен, но является непривилигерованным для операций снаружи пространства имен.
Для обеспечения безопасности так же используется SELinux, который, как и в случае с cgroups, не является новой концепцией и существует начиная с CentOS 4. SELinux применяет метки безопасности и политики для контейнеров Linux и их ресурсов, предоставляя дополнительный уровень безопасности поверх безопасности, предоставляемой пространствами имен ядра.

Команда RedHat (вы ведь знаете, кто все это разработал на самом деле) начала работать над Docker начиная с версии 0.7. Вкладом Red Hat был новый драйвер хранения, который позволил Docker запуститься на Cent OS 7. В течении дальнейшего сотрудничества и вклада Red Hat в Docker был разработан новый встроенный драйвер исполнения, основанный на libcontainer, разработанный для доступа к API ядра контейнера напрямую, без сторонних зависимостей. Этот нативный набор инструментов может управлять возможностями ядра системы, такими как cgroups, пространства имен, сетевые интерфейсы, файрвол и другие особенности ядра. Благодаря Red Hat в Cent OS 7 Docker сейчас готов для корпоративного применения.

Таким образом, контейнеры Linux - важная open source технология для упаковки и доставки приложений, сочетая легковесную изоляцию и гибкость методов развертывания, основанных на образах.

Использованные в подготовке статьи источники.

Пришло время познакомиться с очень популярным дистрибутивом Linux CentOS , который широко используется в качестве платформы для всевозможных серверов, рассматривать дистрибутив мы будем на примере версии CentOS 7.1 процесс установки которой мы, конечно же, подробно разберем.

Как я уже сказал, дистрибутив CentOS очень популярен среди операционных систем для серверов и он наравне с такими дистрибутивами как Debian или Ubuntu активно используется системными администраторами для Web-серверов, серверов баз данных и других.

И начнем мы как обычно с обзора дистрибутива CentOS, а затем перейдем к рассмотрению его установки.

Дистрибутив Linux CentOS

CentOS (Community ENTerprise Operating System ) – бесплатный дистрибутив операционной системы Linux, основанный на коммерческом Red Hat Enterprise Linux. Срок поддержки каждой версии 10 лет. Новые версии выходят примерно, раз 2-3 года и обновляются каждые 6 месяцев.

CentOS поддерживает архитектуру процессора i386, x86_64, а последняя версия (на данный момент доступна 7.1 ) поддерживает только x86_64.

Для установки на сервер естественно среда рабочего стола не нужна, но если Вы привыкли работать в графическом окружении, то CentOS предлагает Вам использовать GNOME или KDE .

CentOS также можно использовать в качестве рабочий станции у себя в компании, но вот в качестве операционной системы для домашнего компьютера данный дистрибутив мало кто используют.

Дистрибутив популярен и имеет хорошее большое сообщество, поэтому поддерживает много языков, в том числе и Русский.

Где скачать CentOS?

Как я уже сказал, что на данный момент актуальной версией дистрибутива является CentOS 7.1 и загрузить его можно с официального сайта вот с этой страницы

Где нам предлагаю 3 варианта загрузки, оптимальным вариантом является загрузка DVD образа, размер которого чуть более 4 гигабайт. Я для примера буду скачивать именно его, т.е. жму «DVD ISO ». Если Вас интересует расширенный набор пакетов, то выбирайте «Everything ISO», а если только минимум, то соответственно «Minimal ISO». После нажатия на ссылку у Вас откроется страница со списком зеркал для скачивания, Вы выбираете любое на Ваше усмотрение, например я, скачиваю с http://mirror.yandex.ru/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1503-01.iso.

Установка CentOS 7.1

Для примера предлагаю установить CentOS со средой рабочего стола GNOME и набором офисных программ, а также популярных приложений для GNOME. Сам процесс установки не сложный, напоминает установку Fedora 21 .

Шаг 1

Загружаемся с диска и выбираем «Install CentOS 7 »

Шаг 2

Затем выбираем язык и жмем «Продолжить »

Шаг 3

Потом нам необходимо настроить процесс установки, для начала подтвердим то, что мы хотим автоматически разбить диск, для этого щелкаем на «Место установки »

И просто сразу жмем «Готово » (Если Вы хотите сами создать разделы на диске, то выбираете соответствующий пункт )

Шаг 4

Затем так как мы решили сразу установить GNOME, офис и дополнительные приложения, жмем «Выбор программ »

И отмечаем нужные нам пакеты, т.е. окружение GNOME, приложения GNOME, офисный комплект и жмем «Готово »

После чего можно нажимать кнопку «Начать установку »

Шаг 5

Все установка началась, но нам еще необходимо задать пароль для root пользователя (суперпользователь) и создать пользователя, под которым мы будем работать. И для начала зададим пароль для root пользователя. Жмем кнопку «Пароль root »

Затем соответственно придумываем и вводим пароль. Жмем «Готово »

Заполняем необходимые поля и жмем «Готово »

Вот и все ждем окончания процесса установки

Как установка будет завершена, жмем «Перезагрузить »

После того как система будет перезагружена, выбираем созданного пользователя, вводим пароль и жмем «Войти »

Вот мы и в первый раз загрузили систему CentOS 7 и нам предлагают подтвердить язык системы, жмем «Далее »

Выбираем раскладку клавиатуры по умолчанию, жмем «Далее »

Все можем начинать пользоваться CentOS 7

Скриншоты CentOS 7.1 (GNOME)

Меню приложений

Файловый менеджер

Меню обзор

На этом предлагаю заканчивать, удачи!

В настоящее время почтовые сервисы всё больше уделяют внимания системам для борьбы со СПАМом. Но всё чаше сообщения которые ждут от нас наши клиенты попадают в СПАМ. В большинстве случаев это происходит потому что почтовый сервер на который мы отправили почту не может распознать действительно ли почту отправили мы а не кто то посторонний.

Есть несколько способов как это исправить, самый простой это добавление SPF-записи. SPF-запись добавляется к описанию домена и показывает, с каких серверов можно отправлять почту от имени домена.

Для этого нам потребуется:

    Доступ к редактированию наших DNS записей.

    Знать адрес сервера с которого отправляются сообщения.

Начнём с конца.

Основы SPF

В SPF используется 3 блока:

  1. Префикс-механизм

    Модификатор

Версия на данный момент только одна - “v=spf1”.

Префиксы:

    "+" Pass - принимать сообщения. Параметр по умолчанию

    "-" Fail - не принимать сообщения

    "~" SoftFail - отправлять в СПАМ

    "?" Neutral - нейтральное отношение, требуется дополнительная проверка.

Основные механизмы:

    all - любой сервер

    ip4, ip6 - адрес сервера,

    a, mx - сервер из DNS записи A или MX соответственно

    include - взять данные с другого адреса

Модификаторы:

    redirect - использовать данные другого адреса

Примеры

Игнорировать всю почту с домена.

v=spf1 +a +mx -all

Принимать сообщения с серверов указанных в A и MX записях, сообщения с остальных серверов должны быть отклонены.

Принимать сообщения с серверов указанных MX записях, сообщения с остальных серверов будут приняты, но отправлены в СПАМ.

v=spf1 redirect:example.com

Забрать все правила с домена example.com.

v=spf1 ip4:example.com/24 -all

Доверять всей почте из адресного пространства example.com класса C (например, есле example.com имеет ip адрес 10.123.41.12, то доверие будет всем 10.123.41.). Остальная почта будет проигнорирована.

Какие могут быть серверы отправки почты?

Условно серверы отправки почты можно разделить на 3 группы:

    Популярные почтовые сервисы, к которым вы привязали свой домен. Например: Google App, Yandex PDD, Mail.ru для бизнеса.

  1. Собственный почтовый сервер

SPF для популярных сервисов.

На момент написания статьи они выглядят следующим образом.

“v=spf1 include:_spf.google.com ~all”

“v=spf1 redirect=_spf.yandex.ru”

“v=spf1 redirect=_spf.mail.ru”

Как подобрать SPF для собственного почтового сервера или хостинга.

Для начала Вы можете заглянуть в настройки своего почтового клиента и посмотреть какой используется для отправки почты (SMTP сервер). Но этот адрес не всегда может соответствовать адресу сервера с которого действительно будет отправлено сообщение.

Самый верный вариант, это просмотреть исходное сообщение полученного письма и найти там информацию о сервере отправителя.

Например:

Received: from gateway08.websitewelcome.com (gateway08.websitewelcome.com. )

Из этого сообщения мы можем понять имя сервера “gateway08.websitewelcome.com” и ip адрес 67.18.36.18. IP адрес лучше не использовать, т.к. он может изменяться очень часто. Домен 3-го уровня в этом случае то же лучше не использовать, т.к. из его названия понятно что он не один, и следующее письмо может быть отправлено уже с другого домена. Лучше просто взять “websitewelcome.com”.

$ dig TXT websitewelcome.com

В ответе найдём:

websitewelcome.com. 19117 IN TXT "v=spf1 a mx ip4:64.5.0.0/16 ip4:67.18.0.0/16 ip4:69.41.0.0/16 ip4:69.56.0.0/16 ip4:69.93.0.0/16 ip4:70.85.0.0/16 ip4:74.52.0.0/16 ip4:174.132.0.0/16 ip4:174.120.0.0/16 ip4:173.192.100.229 ip4:173.192.111.0/24 include:spf.websitewelcome.com"

Данная запись выглядит вполне жизнеспособной, можем просто забрать её:

“v=spf1 redirect=websitewelcome.com”

Заключение

SPF позволяет ограничить с каких серверов может отправляться почта от имени Вашего домена. При настройке, необходимо быть внимательным что бы не дать “лишним” адресам разрешения. Так же Вы можете воспользоваться конструктором , который поможет сгенерировать SPF запись.

Sender Policy Framework (SPF) - это расширение для протокола отправки электронной почты через SMTP.

Используя запись SPF можно определить подделан e-mail отправителя или является оригиналом. Содержание SPF прописывается в запись TXT.

Есть понятие e-mail спуфинга, которое означает маскировку одного объекта под другой объект. Следовательно IP-адрес отправителя можно подменить, а запись SPF запросто решает проблему с подменой адреса.

Создать SPF запись просто. Создание записи SPF заключается в формировании строки, текстовой записи для сервера доменных имен.

Строка содержит список серверов, которым позволено отправлять письма. Если письмо приходит от сервера, которого нет в списке, то письмо попадает в spam.

Агент, который принимает почту, например GMail, запрашивает SPF запись доменного имени и сверяет адрес отправителя со списком разрешенных адресов из DNS.

Строка для DNS с записью SPF должна состоять из ряда параметров.

Например:

V=spf1 include:_spf.google.com ~all v=spf1 означает версию протокола SPF.

После версии протокола SPF может идти ряд параметров. Например:

  • include;
  • redirect;
Параметры в записи могу комбинироваться.

Настройка SPF записи

Параметр "a" означает, что письма могут приниматься, если отправка произошла с узла, который указан в записи "a" доменного имени. В записи "a" обычные указывается IP-адрес, на котором размещается ресурс.

Параметр "mx" указывает, что письма могут приниматься, если отправка произошла с узла, который указан в записи "mx" доменного имени. В записи "mx" обычные указывается почтовый сервис, который обрабатывает отправку писем.

Ip4: или ip6: указывает IP-адреса дополнительных серверов, от которых можно принимать электронную почту, соответственно "ip4" и "ip6" означает форматам адреса IP.

Параметр all задается в конце записи.

Параметр ~all указывает, что если все предыдущие правила не выполнены, то письма необходимо направить на тщательную проверку.

Параметр -all указывает, что если все предыдущие правила не выполнены, то письма необходимо отклонить.

Запись include указывает на то, с каких указанных хостов можно принимать электронную почту, кроме прочих правил. Например, include:_spf.google.com.

Запись redirect указывать на то, с каких указанных хостов требуется проверять SPF-запись. Например, redirect=_spf.mail.ru .

Как использовать на практике. Например, если есть сайт и электронная почта на gmail.com или mail.ru и отправка почты происходит только с gmail.com, или только с mail.ru, то можно прописать redirect с указанием ссылки на сервис. Например, v=spf1 redirect=_spf.google.com. Таким образом, вы оградите себя от рассылки конкурентов от вашего имени.

Множественное использование SPF-записей в DNS не рекомендуется, поскольку все правила можно прописать одной строкой и несколько записей могут привести к ошибке обработки.

Проверка SPF записи

Проверить SPF запись для доменного имени можно через обращение к DNS.

Например, можно использовать mxtoolbox.com/ или инструменты указанные на официальном сайте фреймворка по ссылке http://www.openspf.org/Tools . Даже если вы не страдаете от спама, рассылаемого от имени вашего домена, явное описание легальных источников почты из вашего домена может помочь прохождению легальной почты от вас во входящие.

SPF-запись на DNS-сервере для владельца проекта является одним из методов настройки безопасности, есть и альтернативные дополнительные методы. Методы рекомендуется комбинировать. Например, рекомендуется проверять IP-адрес перед размещением сайта на предмет наличия в black-листе.




Top