<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.webko.net.ua/index.php?action=history&amp;feed=atom&amp;title=SPF</id>
	<title>SPF - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.webko.net.ua/index.php?action=history&amp;feed=atom&amp;title=SPF"/>
	<link rel="alternate" type="text/html" href="https://wiki.webko.net.ua/index.php?title=SPF&amp;action=history"/>
	<updated>2026-05-13T10:32:37Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.webko.net.ua/index.php?title=SPF&amp;diff=49&amp;oldid=prev</id>
		<title>Sol: Новая страница: «SPF-запись - проверяем валидность отправителя  Как всем известно, протокол отправки элект…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.webko.net.ua/index.php?title=SPF&amp;diff=49&amp;oldid=prev"/>
		<updated>2015-04-19T17:24:40Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «SPF-запись - проверяем валидность отправителя  Как всем известно, протокол отправки элект…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;SPF-запись - проверяем валидность отправителя&lt;br /&gt;
&lt;br /&gt;
Как всем известно, протокол отправки электронной почты SMTP, подразумевает, что в качестве отправителя можно указать любой почтовый ящик. Таким образом можно послать письмо, подставив в поле &amp;quot;From&amp;quot; вымышленное значение. Процесс такого почтового обмана называется Спуфинг (e-mail spoofing). Чтобы бороться с этим явлением, был разработан и введен в действие стандарт SPF – Sender Policy Framework (структура политики отправителя).&lt;br /&gt;
SPF позволяет владельцу домена указать в TXT-записи домена специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.&lt;br /&gt;
Рассмотрим простой пример SPF-записи.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== example.org. IN TXT &amp;quot;v=spf1 +a +mx -all&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь более детально о допустимых опциях. Рассмотрим варианты поведения получателя, в зависимости от используемых опций:&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;'''v=spf1'''&amp;quot; - используемая версия SPF.&lt;br /&gt;
 &amp;quot;'''+'''&amp;quot; - принимать корреспонденцию (Pass). Этот параметр установлен по умолчанию. Тоесть, если никаких параметров не установлено, то это &amp;quot;Pass&amp;quot;;&lt;br /&gt;
 &amp;quot;'''-'''&amp;quot; - Отклонить (Fail);&lt;br /&gt;
 &amp;quot;'''~'''&amp;quot; - &amp;quot;мягкое&amp;quot; отклонение (SoftFail). Письмо будет принято, но будет помечено как СПАМ;&lt;br /&gt;
 &amp;quot;'''?'''&amp;quot; - нейтральное отношение;&lt;br /&gt;
 &amp;quot;'''mx'''&amp;quot; - включает в себя все адреса серверов, указанные в MX-записях домена;&lt;br /&gt;
 &amp;quot;'''ip4'''&amp;quot; - опция позволяет указать конкретный IP-адрес или сеть адресов;&lt;br /&gt;
 &amp;quot;'''a'''&amp;quot; - указываем поведение в случае получения письма от конкретного домена;&lt;br /&gt;
 &amp;quot;'''include'''&amp;quot; - включает в себя хосты, разрешенные SPF-записью указанного домена;&lt;br /&gt;
 &amp;quot;'''all'''&amp;quot; - все остальные сервера, не перечисленные в SPF-записи.&lt;br /&gt;
 Итак, попробуем разобраться, что же значит SPF-запись, указанная выше.&lt;br /&gt;
 &amp;quot;'''+a'''&amp;quot; - разрешает прием писем от узла, IP-адрес которого совпадает с IP-адресом в A-записи для example.org;&lt;br /&gt;
 &amp;quot;'''+mx'''&amp;quot; -  разрешает прием писем, если отправляющий хост указан в одной из MX-записей для example.org;&lt;br /&gt;
 &amp;quot;'''-all'''&amp;quot; - все сообщения, не прошедшие верификацию с использованием перечисленных механизмов, следует отвергать.&lt;br /&gt;
&lt;br /&gt;
Для лучшего понимания того, как работает SPF, рассмотрим еще один, более сложный пример.&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
== example.org. IN TXT &amp;quot;v=spf1 mx ip4:195.3.159.250 +a:smtp.mail.ru include:gmail.com ~all&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Теперь более подробно о используемых опциях...&lt;br /&gt;
 &amp;quot;'''mx'''&amp;quot; - принимать письма от серверов, указанных в MX-записях;&lt;br /&gt;
 &amp;quot;'''ip4:195.3.159.250'''&amp;quot; - принимать письма, отправленные с IP-адреса 195.3.159.250;&lt;br /&gt;
 &amp;quot;'''+a:smtp.mail.ru'''&amp;quot; - то же, что и a:smtp.mail.ru. Принимать от smtp.mail.ru;&lt;br /&gt;
 &amp;quot;'''include:gmail.com'''&amp;quot; - принимать письма с серверов, разрешенных SPF-записями gmail.com;&lt;br /&gt;
 &amp;quot;'''~all'''&amp;quot; - принимать письма со всех остальных серверов, но помечать их как СПАМ&lt;br /&gt;
&lt;br /&gt;
А теперь рассмотрим еще более &amp;quot;экзотичный&amp;quot; пример. В описании возможных опций указывалось, что возможно указание сетей ip-адресов. Стоит отметить, что это применимо и к записям &amp;quot;a&amp;quot; и &amp;quot;mx&amp;quot;. Рассмотрим следующий пример.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== example.org. IN TXT &amp;quot;v=spf1 mx/24 a:muff.kiev.ua/24 -all&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;'''mx/24'''&amp;quot; - в список разрешенных отправителей входят все IP-адреса, находящихся в тех же сетях класса С, что и MX-ы домена;&lt;br /&gt;
 &amp;quot;'''a:muff.kiev.ua/24'''&amp;quot; - в список разрешенных отправителей входят все IP-адреса, находящихся в тех же сетях класса С, что и А-записи домена muff.kiev.ua;&lt;br /&gt;
 &amp;quot;'''-all'''&amp;quot; - всех остальных отправителей - блокируем.&lt;br /&gt;
Иногда можно встретить следующие записи (очень редко):&lt;br /&gt;
 &amp;quot;'''ptr'''&amp;quot; - проверяет PTR-запись IP-адреса отправителя. Если она сходится с указаным доменом, то механизм проверки выдает положительный результат.&lt;br /&gt;
 Тоесть, разрешено отправлять всем IP-адресам, PTR-запись которых направлены на указанный домен. Серьезным недостатком даного метода есть то, &lt;br /&gt;
 что генерируется очень большое количество DNS-запросов;&lt;br /&gt;
 &amp;quot;'''exists'''&amp;quot; - выполняется проверка, резолвится ли домен на какой-либо IP-адрес. Тоесть, по существу, выполняется проверка работоспособности доменного имени.&lt;br /&gt;
 Кстати, не имеет значения, на какой IP-адрес резолвится домен, даже если это &amp;quot;серые&amp;quot; сети (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) или loopback (127.0.0.1).&lt;br /&gt;
Пример использования:&lt;br /&gt;
&lt;br /&gt;
 example.org. IN TXT &amp;quot;v=spf1 ptr:example.org exist:example.org -all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Также не будет излишним ознакомиться со следующими опциями: redirect и exp.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;'''redirect'''&amp;quot; - указывает получателю, что нужно проверять SPF-запись указаного домена, вместо текущего домена. Пример:&lt;br /&gt;
&lt;br /&gt;
 example.org. IN TXT &amp;quot;v=spf1 redirect:example.com ~all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В даном примере будет проводится проверка SPF-записи домена example.com, а не example.org.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;'''exp'''&amp;quot; - использование даной опции позволяет задать сообщение о ошибке, которое будет передано отправителю при возникновении таковой. &lt;br /&gt;
Размещается в конце SPF-записи, даже после опции all. Рассмотрим более детально механизм работы опции exp.&lt;br /&gt;
Допустим, что у домена example.org следущая SPF-запись:&lt;br /&gt;
&lt;br /&gt;
 example.org. IN TXT &amp;quot;v=spf1 +a +mx -all exp=spf.example.org&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Теперь содаем TXT-запись для домена spf.example.org:&lt;br /&gt;
 &lt;br /&gt;
 spf.example.org. IN TXT &amp;quot;You host not allowed e-mail to me&amp;quot;&lt;br /&gt;
&lt;br /&gt;
В результате этих шаманских действий SPF-запись будет контролировать, чтобы почта доставлялась только от валидных хостов, &lt;br /&gt;
а всем остальным будет отправляться сообщение о ошибке, прописанное в TXT-записи домена spf.example.org.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Mail]]&lt;/div&gt;</summary>
		<author><name>Sol</name></author>
	</entry>
</feed>