diff options
author | Eitan Adler <eadler@FreeBSD.org> | 2017-12-12 02:18:20 +0000 |
---|---|---|
committer | Eitan Adler <eadler@FreeBSD.org> | 2017-12-12 02:18:20 +0000 |
commit | d6dd221c5a3f1fd26a02be561af949709f3d660c (patch) | |
tree | 990a2c4f4a70b1ae484d5219389d856874f3391c /ru_RU.KOI8-R | |
parent | 869a32c40a2f183f084f6fd3518f3737213f5f16 (diff) | |
download | doc-d6dd221c5a3f1fd26a02be561af949709f3d660c.tar.gz doc-d6dd221c5a3f1fd26a02be561af949709f3d660c.zip |
relaydelay: wave goodbye
The article discusses a specific option for puremagic's greylisting.
- It tells users to install mysql40-server and perl5.16; neither of
which exist any more.
- The last edit was 2015, by me, to switch from `pkg_add` to `pkg`.
- It encourages users to download code from a third-party website,
without validation, via HTTP (not even HTTPS).
- The code itself has to be patched to compile
and more generally the FreeBSD project is not in the business of
teaching end users how to run an anti-spam mail server.
Discussed with: allanjude
Notes
Notes:
svn path=/head/; revision=51293
Diffstat (limited to 'ru_RU.KOI8-R')
-rw-r--r-- | ru_RU.KOI8-R/articles/Makefile | 1 | ||||
-rw-r--r-- | ru_RU.KOI8-R/articles/relaydelay/Makefile | 21 | ||||
-rw-r--r-- | ru_RU.KOI8-R/articles/relaydelay/article.xml | 251 |
3 files changed, 0 insertions, 273 deletions
diff --git a/ru_RU.KOI8-R/articles/Makefile b/ru_RU.KOI8-R/articles/Makefile index c67ae2a4ba..b88cf43fe7 100644 --- a/ru_RU.KOI8-R/articles/Makefile +++ b/ru_RU.KOI8-R/articles/Makefile @@ -25,7 +25,6 @@ SUBDIR+= new-users SUBDIR+= pam SUBDIR+= pr-guidelines SUBDIR+= problem-reports -SUBDIR+= relaydelay SUBDIR+= releng #SUBDIR+= serial-uart SUBDIR+= solid-state diff --git a/ru_RU.KOI8-R/articles/relaydelay/Makefile b/ru_RU.KOI8-R/articles/relaydelay/Makefile deleted file mode 100644 index 1e5088aeb5..0000000000 --- a/ru_RU.KOI8-R/articles/relaydelay/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# -# The FreeBSD Russian Documentation Project -# -# $FreeBSD$ -# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/relaydelay/Makefile,v 1.1 2005/06/16 17:50:42 andy Exp $ -# -# Original revision: r39631 -# -# Article: Using greylisting with FreeBSD - -DOC?= article - -FORMATS?= html - -INSTALL_COMPRESSED?=gz -INSTALL_ONLY_COMPRESSED?= - -SRCS= article.xml - -DOC_PREFIX?= ${.CURDIR}/../../.. -.include "${DOC_PREFIX}/share/mk/doc.project.mk" diff --git a/ru_RU.KOI8-R/articles/relaydelay/article.xml b/ru_RU.KOI8-R/articles/relaydelay/article.xml deleted file mode 100644 index 53e947fea5..0000000000 --- a/ru_RU.KOI8-R/articles/relaydelay/article.xml +++ /dev/null @@ -1,251 +0,0 @@ -<?xml version="1.0" encoding="koi8-r"?> -<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" - "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd"> -<!-- - The FreeBSD Russian Documentation Project - - $FreeBSD$ - $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/relaydelay/article.xml,v 1.2 2007/05/15 19:31:54 gad Exp $ - - Original revision: r43184 ---> -<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru"> - <info><title>Использование технологии серых списков во &os;</title> - - - <author><personname><firstname>Том</firstname><surname>Родес</surname></personname><affiliation> - <address><email>trhodes@FreeBSD.org</email></address> - </affiliation></author> - - <copyright> - <year>2004</year> - - <holder>The &os; Documentation Project</holder> - </copyright> - - <pubdate>$FreeBSD$</pubdate> - - <releaseinfo>$FreeBSD$</releaseinfo> - - <abstract> - <para>Эта статья создана исключительно для описания технологии задержки - передачи сообщений на почтовом сервере &os;. Сервер с технологией - задержки передачи (relaydelay) или попаданием в серый список - (greylisting) снижает уровень спама просто за счёт выдачи - диагностического сообщения <errorname>TEMPFAIL</errorname> на каждое - входящее почтовое сообщение. Смысл этой технологии заключается в том, - что большинство спамеров для выполнения своей работы используют - собственные персональные компьютеры и специализированное программное - обеспечение. Настоящий почтовый сервер должен помещать сообщения в - очередь и пытаться доставить его позже. Таким образом, скорее всего, - спамер перейдёт к следующему хосту вместо того, чтобы попытаться снова - послать электронное послание. Это прекрасная идея; по крайней мере, - до тех пор, пока спамеры не начнут использовать программное - обеспечение, которое будет обеспечивать повтор передачи. Но как именно - это работает? Итак, в процессе приёма сообщения электронной почты - <acronym>ID</acronym> сообщения сохраняется в базе данных, а в качестве - результата возвращается <errorname>TEMPFAIL</errorname> вместе с - электронной почтой. Если сообщение электронной почты посылается - повторно, то <acronym>ID</acronym> сообщения будет сверяться с - <acronym>ID</acronym> сообщений, сохранёнными в базе данных. Если в - базе данных оно существует, то посланию электронной почты разрешается - доставка по назначению. В противном случае <acronym>ID</acronym> - сохраняется, а в качестве результата возвратится - <errorname>TEMPFAIL</errorname>. Этот цикл будет повторяться для - каждого сообщения, поступающего на сервер. По моему личному опыту, - это действительно отсекает 90% спама.</para> - </abstract> - </info> - - <sect1> - <title>Базовая настройка</title> - - <para>Нам потребуется <command>perl</command> с поддержкой многопоточного - выполнения. Установите <package>lang/perl5.8</package> - с установленной переменной <varname>USE_THREADS=yes</varname>. Сначала - может потребоваться удалить текущую версию <command>perl</command>; на - необходимость сделать это укажут ошибки в процессе установки.</para> - - <note> - <para>При этом потребуется, чтобы все порты, которым нужен - <command>perl</command>, были перестроены и переустановлены; - <package>ports-mgmt/portupgrade</package> хорошо для - этого подходит. По крайней мере, он укажет, какие порты были удалены и - какие необходимо переустановить.</para> - </note> - - <para>Теперь что касается сервера базы данных; - <application>MySQL</application> прекрасно подходит для такого типа - работы. Установите <package>databases/mysql40-server</package> вместе с <package>databases/p5-DBD-mysql40</package>. Предыдущий порт - должен подразумевать установку <package>databases/p5-DBI-137</package>, так что один шаг будет - пропущен.</para> - - <para>Установите переносимый подключаемый серверный модуль на базе - <command>perl</command>, порт <package>net/p5-Net-Daemon</package>. Большинство установок этих - портов должны проходить без проблем. Следующий шаг будет более - трудоёмким.</para> - - <para>Теперь установите порт <package>mail/p5-Sendmail-Milter</package>. На момент написания - этого документа в файле <filename>Makefile</filename> имелась строка, - начинающаяся с <varname>BROKEN</varname>, просто уберите или - закомментируйте её. Она помечена так лишь потому, что в &os; по - умолчанию не включался и не устанавливался пакет <command>perl</command> - с поддержкой многопоточного выполнения. После удаления этой строки он - должен строиться и устанавливаться без ошибок.</para> - - <para>Создайте каталог для размещения временных конфигурационных - файлов:</para> - - <screen>&prompt.root; <userinput>mkdir /tmp/relaydelay</userinput> -&prompt.root; <userinput>cd /tmp/relaydelay</userinput></screen> - - <para>Теперь, когда у нас имеется временный каталог для работы, команде - <command>fetch</command> нужно передать следующие - <acronym>URL</acronym>-адреса:</para> - - <screen>&prompt.root; <userinput>fetch http://projects.puremagic.com/greylisting/releases/relaydelay-0.04.tgz</userinput> -&prompt.root; <userinput>fetch http://lists.puremagic.com/pipermail/greylist-users/attachments/20030904/b8dafed9/relaydelay-0.04.bin</userinput></screen> - - <!-- ЗАМЕЧАНИЕ ДЛЯ ТОМА РОДЕСА: РАЗМЕЩАТЬ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЗДЕСЬ - ЯВЛЯЕТСЯ ПЛОХОЙ ИДЕЕЙ НА ТОТ СЛУЧАЙ, ЕСЛИ КАКОЙ-НИБУДЬ МУДАК ЗАМЕНИТ - ЕГО. НАВЕРНОЕ, Я ДОЛЖЕН ЗААРХИВИРОВАТЬ СКРИПТЫ И ОСТАЛЬНУЮ ШНЯГУ. --> - - <para>Теперь необходимо распаковать исходный код:</para> - - <screen>&prompt.root; <userinput>gunzip -c relaydelay-0.04.tgz | tar xvf -</userinput></screen> - - <para>На этот момент во временном каталоге должно оказаться несколько - файлов. Теперь необходимая информация может передаваться серверу базы - данных импортированием её из файла <filename>mysql.sql</filename>:</para> - - <screen>&prompt.root; <userinput>mysql < relaydelay-0.04/mysql.sql</userinput></screen> - - <para>Установите патч <filename>relaydelay.bin</filename> для остальных - файлов, запустив такую команду:</para> - - <screen>&prompt.root; <userinput>patch -d /tmp/relaydelay/relaydelay-0.04 < relaydelay.bin</userinput></screen> - - <para>Отредактируйте файлы <filename>relaydelay.conf</filename> и - <filename>db_maintenance.pl</filename>, добавив в них корректное имя - пользователя и пароль для СУБД <application>MySQL</application>. Если - СУБД была построена и установлена так, как описано выше, то в ней - отсутствуют пользователи и пароли. Эта ситуация должна быть исправлена - до перевода системы в промышленную эксплуатацию, что описано в - документации к СУБД и выходит за рамки данной статьи.</para> - - <para>Смените рабочий каталог на <filename>relaydelay-0.04</filename>:</para> - - <screen>&prompt.root; <userinput>cd relaydelay-0.04</userinput></screen> - - <para>Скопируйте или переместите конфигурационные файлы в соответствующие - каталоги:</para> - - <screen>&prompt.root; <userinput>mv db_maintenance.pl relaydelay.pl /usr/local/sbin</userinput> -&prompt.root; <userinput>mv relaydelay.conf /etc/mail</userinput> -&prompt.root; <userinput>mv relaydelay.sh /usr/local/etc/rc.d/</userinput></screen> - - <para>Протестируйте получившуюся конфигурацию, выполнив такую - команду:</para> - - <screen>&prompt.root; <userinput>sh /usr/local/etc/rc.d/relaydelay.sh start</userinput></screen> - - <note> - <para>Этот файл не будет существовать, если предыдущие команды &man.mv.1; - не были выполнены.</para> - </note> - - <para>Если всё отработало корректно, то в каталоге <filename>/var/log</filename> должен появиться новый файл, - <filename>relaydelay.log</filename>. В нём должен находиться текст, - подобный следующему:</para> - - <programlisting>Loaded Config File: /etc/mail/relaydelay.conf -Using connection 'local:/var/run/relaydelay.sock' for filter relaydelay -DBI Connecting to DBI:mysql:database=relaydelay:host=localhost:port=3306 -Spawned relaydelay daemon process 38277. -Starting Sendmail::Milter 0.18 engine.</programlisting> - - <para>Если файл не появился, то что-то сработало неправильно, пересмотрите - экранную диагностику или просмотрите журнальный файл - <filename>messages</filename> на предмет появления новой - информации.</para> - - <para>Объедините всё вместе, добавив следующую строку в файл - <filename>/etc/mail/sendmail.mc</filename> или специфичный для вашей - системы <filename>mc</filename>-файл:</para> - - <programlisting>INPUT_MAIL_FILTER(`relaydelay', `S=local:/var/run/relaydelay.sock, T=S:1m;R:2m;E:3m')dnl</programlisting> - - <para>Перестройте и переустановите файлы в каталоге - <filename>/etc/mail</filename> и перезапустите - <command>sendmail</command>. Короткая команда <command>make</command> - <buildtarget>restart</buildtarget> должна сделать всё необходимое.</para> - - <para>Сгрузите скрипт на языке <command>perl</command>, размещённый по - адресу <link xlink:href="http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html">http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html</link> - и сохраните его в каталог <filename>relaydelay-0.04</filename>. В следующем примере этот - скрипт обозначается как <filename>addlist.pl</filename>.</para> - - <para>Отредактируйте файл <filename>whitelist_ip.txt</filename>, - модифицировав его так, чтобы в него были включены - <acronym>IP</acronym>-адреса серверов, которые должны иметь возможность - игнорировать фильтры <application>relaydelay</application>. То есть это - домены, при получении электронной почты от которых диагностическое - сообщение <errorname>TEMPFAIL</errorname> выдаваться не будет.</para> - - <para>Как пример можно привести:</para> - - <programlisting>192.168. # My internal network. -66.218.66 # Yahoo groups has unique senders.</programlisting> - - <para>Файл <filename>blacklist_ip.txt</filename> должен иметь похожее - назначение, но с обратными правилами. Укажите в этом файле - <acronym>IP</acronym>-адреса, которые должны отвергаться без выдачи - диагностического сообщения <errorname>TEMPFAIL</errorname>. Этот - перечень доменов никогда не получит даже возможность сообщить о том, что - они являются реально существующими почтовыми серверами.</para> - - <para>Эти файлы теперь должны быть импортированы в базу данных посредством - скрипта <filename>addlist.pl</filename>, который был получен несколькими - строками выше:</para> - - <screen>&prompt.root; <userinput>perl addlist.pl -whitelist 9999-12-31 23:59:59 < whitelist_ip.txt</userinput> -&prompt.root; <userinput>perl addlist.pl -blacklist 9999-12-31 23:59:59 < blacklist_ip.txt</userinput></screen> - - <para>Для включения технологии <application>relaydelay</application> при - каждой загрузке системы, добавьте строчку - <option>relaydelay_enable="YES"</option> в файл - <filename>/etc/rc.conf</filename>.</para> - - <para>Журнальный файл <filename>/var/log/relaydelay.log</filename> должен - постепенно пополняться удачными прохождениями. В зависимости от загрузки - вашего почтового сервера, вскоре должны появиться строчки, подобные - следующим.</para> - - <programlisting>=== 2004-05-24 21:03:22 === -Stored Sender: <someasshole@flawed-example.com> -Passed Recipient: <local_user@pittgoth.com> - Relay: example.net [XXX.XX.XXX.XX] - If_Addr: MY_IP_ADDRESS - RelayIP: XX.XX.XX.XX - RelayName: example.net - RelayIdent: - PossiblyForged: 0 - From: someasshole@flawed-example.com - To: local_user - InMailer: esmtp - OutMailer: local - QueueID: i4P13Lo6000701111 - Email is known but block has not expired. Issuing a tempfail. rowid: 51 - IN ABORT CALLBACK - PrivData: 0<someasshole@flawed-example.com></programlisting> - - <para>В файл <filename>/etc/newsyslog.conf</filename> теперь можно добавить - следующую строку, которая обеспечивает ротацию журналов - <filename>relaydelay.log</filename> при достижении размера в 100 - <acronym>Кбайт</acronym>:</para> - - <screen>/var/log/relaydelay.log 644 3 100 * Z</screen> - - <!-- XXX К какому тексту относится это замечание? --> - <note> - <para>В какой-то момент появлялась ошибка о неполном определении - переменных <command>perl</command> в файле - <filename>/etc/mail/relaydelay.conf</filename>. Если те две переменные - раскомментированы, то конфигурационный файл может быть обработан - нормально. Просто не забудьте убрать их из комментариев до того, как - начать работу с технологией <command>relaydelay</command>.</para> - </note> - </sect1> -</article> |