<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Дейнекино &#187; postfix</title>
	<atom:link href="http://deineka.net/tag/postfix/feed/" rel="self" type="application/rss+xml" />
	<link>http://deineka.net</link>
	<description>Интернет, железки, IPTV и немного о личном :)</description>
	<lastBuildDate>Mon, 06 Feb 2012 13:26:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Хозяйке на заметку: Postfix SMTP Auth и соответствие envelope-from</title>
		<link>http://deineka.net/2010/05/28/xozyajke-na-zametku-postfix-smtp-auth-and-envelope-from/</link>
		<comments>http://deineka.net/2010/05/28/xozyajke-na-zametku-postfix-smtp-auth-and-envelope-from/#comments</comments>
		<pubDate>Fri, 28 May 2010 12:35:54 +0000</pubDate>
		<dc:creator>axl</dc:creator>
				<category><![CDATA[блог]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[хозяйке на заметку]]></category>

		<guid isPermaLink="false">http://deineka.net/?p=983</guid>
		<description><![CDATA[Для пользователей, которые успешно авторизовались с помощью SMTP Auth (логин типа vasya@domain), мы разрешаем отсылать письма через наш почтовый сервер с любого IP-адреса (то есть поддерживаем roaming users). В определенный момент мы натолкнулись на неприятный случай &#8211; у одного клиента был украден/заснифлен его логин-пароль и с нескольких IP-адресов была массированная рассылка спама. При этом, так [...]]]></description>
			<content:encoded><![CDATA[<p>Для пользователей, которые успешно авторизовались с помощью SMTP Auth (логин типа vasya@domain), мы разрешаем отсылать письма через наш почтовый сервер с любого IP-адреса (то есть поддерживаем roaming users). В определенный момент мы натолкнулись на неприятный случай &#8211; у одного клиента был украден/заснифлен его логин-пароль и с нескольких IP-адресов была массированная рассылка спама. При этом, так как клиент &#8220;представился&#8221;, ему было позволено указывать любой envelope-from, чем и воспользовались спаммеры. Ситуация расстроила, адреса зафильтровали, клиентский логин/пароль заблокировали, но нужно было что-то решать в комплексе &#8211; для авторизованных клиентов разрешать использование envelope-from, соответствующий их логину.</p>
<p>В postfix есть возможность указать ограничение reject_sender_login_mismatch, при использовании которого производится проверка в <a href="http://www.postfix.org/uce.html#smtpd_sender_login_maps" target="_blank">таблице smtpd_sender_login_maps</a> соответствия логина и MAIL FROM. Но тут возникает другой момент &#8211; для тысяч почтовых ящиков генерировать такую таблицу можно, но это потребует напильника в postfixadmin, который используется для управления аккаунтами клиентов. Немного посоображав, была реализована следующая грубая, но работающая схема с помощью mysql maps: описываем таблицу в main.cf:</p>
<p>[text]smtpd_sender_login_maps         = mysql:/usr/local/etc/postfix/sql/mysql_authentificated_users.cf[/text]</p>
<p>Сам mysql_authentificated_users.cf прост до безобразия:</p>
<p>[text]user = mysql_username<br />
password = mysql_password<br />
hosts = database_host<br />
dbname = database_name<br />
query          = SELECT &#8216;%s&#8217;</p>
<p>[/text]</p>
<p>Не забываем в main.cf указать, чтобы те, кто используют несовпадающий envelope-from, получали reject:</p>
<p>[text]smtpd_sender_restrictions =<br />
reject_authenticated_sender_login_mismatch<br />
permit</p>
<p>[/text]</p>
<p>Вот такая история из цикла &#8220;неэлегантно, но практично&#8221; <img src='http://deineka.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://deineka.net/2010/05/28/xozyajke-na-zametku-postfix-smtp-auth-and-envelope-from/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Postfix и спам &#8211; как выйти из гонки вооружений</title>
		<link>http://deineka.net/2010/05/17/postfix-i-spam-kak-vyjti-iz-gonki-vooruzhenij/</link>
		<comments>http://deineka.net/2010/05/17/postfix-i-spam-kak-vyjti-iz-gonki-vooruzhenij/#comments</comments>
		<pubDate>Mon, 17 May 2010 16:43:43 +0000</pubDate>
		<dc:creator>axl</dc:creator>
				<category><![CDATA[блог]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[postfix]]></category>

		<guid isPermaLink="false">http://deineka.kharkov.ru/?p=834</guid>
		<description><![CDATA[Так уж получилось, что смена аппаратной части наших почтовых серверов приводит к смене программной части. И если бы это заключалось только к накатыванию актуальных версий операционки и софта &#8211; так нет, приключений хочется по полной программе. Так, после 4-х лет жизни на exim в связке с courier, spamassassin&#8217;s spamd и clamav потянуло в сторону postfix+dovecot. [...]]]></description>
			<content:encoded><![CDATA[<p>Так уж получилось, что смена аппаратной части наших почтовых серверов приводит к смене программной части. И если бы это заключалось только к накатыванию актуальных версий операционки и софта &#8211; так нет, приключений хочется по полной программе. Так, после 4-х лет жизни на exim в связке с courier, spamassassin&#8217;s spamd и clamav потянуло в сторону postfix+dovecot. Некоторые решения, которые мы реализовали, заслуживают отдельного внимания и могут быть интересными для других пользователей postfix, о них напишу как-нибудь попозже. Сейчас же &#8211; о борьбе со вселенским злом (я не о google), о спаме.</p>
<p>Как показал опыт, на больших объемах почты очень сложно бороться с помощью контестной фильтрации &#8211; тот же spamd или любая его реинкарнация укладывает пару-тройку некислых машинок с кучей памяти. Более производительный и перспективный dspam &#8211; не панацея, т.к. очень сложно объяснить пользователям, знающим две кнопки &#8220;Получить почту&#8221; и &#8220;Оправить почту&#8221;, как пользоваться фильтром. Нужно было решение, которое, с одной стороны, позволит уйти из &#8220;гонки вооружений&#8221;  (наращивания количества машин) и оставить уровень проходящего спама на нераздражающем уровне (читай &#8211; уровне, когда твой Thunderbird сам своими силами пометит спам и тихонечько отложит его в отдельную папку).</p>
<p>Еще не все вылизано до конца, но можно с уверенностью сказать, что наиболее действенным оказались следующие моменты:</p>
<ul>
<li>мы не принимаем сообщения от хостов, которые не могут нормально представиться в HELO/EHLO.</li>
<li>мы не принимаем сообщения с динамических блоков &#8211; как по маскам, так и по базе DUL.RU</li>
<li>и самое действенное &#8211; динамический blacklist (он не сильно black &#8211; мы выставляем 4xx, так что это скорее &#8220;серый&#8221; список) для тех хостов, которые пытаются засунуть большое количество писем одновременно.</li>
</ul>
<p>Как показал опыт, в нашем случае ограничение в 30 одновременных коннектов вполне достаточно. Так вот, если удаленный хост пытается превысить этот порог на протяжении определенного времени &#8211; он попадает в &#8220;серый&#8221; список на несколько часов.Что самое интересное &#8211; за пару недель после реализации этой схемы мы не отметили ни одной жалобы. А уровень спама, как говорят, драматически снизился. И спать можно спокойнее &#8211; даже если клиент поймает трояна, его рассылка не будет массовой, т.к. он будет в &#8220;сером&#8221; списке очень быстро.</p>
<p>Доволен. Работает!</p>
]]></content:encoded>
			<wfw:commentRss>http://deineka.net/2010/05/17/postfix-i-spam-kak-vyjti-iz-gonki-vooruzhenij/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

