Back to site

Greylisting-SPP - Qmail-SPP плягін рэалізацыі шэрых спісаў

Гэтая праграма з'яўляецца свабодным праграмным забеспячэннем; вы можаце распаўсюджваць яе і/ці змяняць яго ў адпаведнасці з умовамі ліцэнзіі GNU General Public License (версія 2), якая была апублікаваная Free Software Foundation.

Гэтая праграма распаўсюджваецца ў надзеі, што яна будзе карыснай, але БЕЗ якіх-небудзь ГАРАНТЫЙ, нават без пэўныя гарантый КАМЕРЦЫЙНАЙ ВАРТАСЦІ або ПРЫДАТНАСЬЦІ ДЛЯ пэўныя мэты. Глядзіце GNU General Public License для больш падрабязнай інфармацыі.

Вы павінны былі атрымаць копію GNU General Public License разам з гэтай праграмай, а калі не, напішыце ў Free Software Foundation, Inc, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Qmail-SPP з'яўляецца патч для DJ Бернштэйна " Qmail "пакет MTA. Патч дазваляе "Модуль" праграм, якія будуць працаваць на розных этапах SMTP пратакол абмену.

"Шэрага сьпісу" ( http://greylisting.org/, http://projects.puremagic.com/greylisting/ ) з'яўляецца паняцце часовае адхіленне уваходных паведамленняў электроннай пошты, калі дастаўка жа адрас электроннай пошты быў судзімы. Ідэя шэрага спісу ў тым, што тыповыя шкоднасныя як спам адпраўнікоў або паштовых чарвякоў/virii правіла, не ажыццяўляюць належнага mailqueue і таму не спрабуйце дастаўкі зноў, калі першая спроба не ўдалася. Такім чынам, Greylisting можа спыніць спам і/або шкоднасныя праграмы ў самы бліжэйшы час, то бок, да фактычнага зместу, атрымліваюцца мэтавых MTA.

Што вы думаеце - гэты пакет спалучае ў сабе як шляхам ажыццяўлення Qmail-SPP-стылі плагіна прадастаўлення Greylisting функцыянальнасць.

Як гэта працуе?

Працы плагіна з'яўляецца (амаль) цалкам абумоўлены зменных асяроддзя. Ён выклікаецца Qmail-smtpd пасля кожнага "RCPT TO:" SMTP-каманд. У той час, усе тры значэнні, неабходных для вырашэння Greylisting ўстанаўліваюцца:

Гэтая ўбудова патрабуе GL_DATABASE зменную асяроддзя ўтрымліваць поўны шлях да чытанне і запіс (для Qmail-smtpd) файл, які будзе выкарыстоўвацца ў якасці базы дадзеных Greylisting. Усталюйце гэтую пераменную, напрыклад, перад выклікам TCPServer для Qmail-smtpd.

Акрамя таго, калі адна з зменных ENV RELAYCLIENT або GL_WHITELISTED ўстаноўлены, плягін выхады неадкладна (гл. старонку на "белы" спіс на http://greylisting.org/whitelisting.shtml ). Калі вы выкарыстоўваеце свой Qmail-smtpd праз TCPServer, вы можаце белы спіс канкрэтных лічбаў IP выкарыстаннем tcprules (1). Файл, які змяшчае спіс IP-нумары, якія павінны быць "белы" спіс можна знайсці на http://cvs.puremagic.com/viewcvs/greylisting/schema/whitelist_ip.txt (копія перагляду 1,16 даступны ў файле "whitelist_ip.txt ").

Яшчэ тры зменныя асяроддзі даступныя (па жаданні) налады пэўнага часу, значэнні выкарыстоўваецца гэты плягін:

GL_MIN_REJECT
Колькі секунд чакаць пасля першай спробы дастаўкі, да іншай спробы дастаўкі будуць прыняты (па змаўчанні: 300 = 5 хвілін)
GL_MAX_WAIT
Колькі секунд чакаць пасля першай спробы дастаўкі, пасля чаго другая спроба дастаўкі будзе больш разглядацца не будуць (па змаўчанні: 86400 = 1 дзень)
GL_ACCEPT_GOOD
Колькі секунд пасля паспяховай дастаўкі прымаць пошту з тым жа IP/адпраўшчыка/атрымальніка камбінацыі (па змаўчанні: 259200 = 3 дня)

Яшчэ дзве зменныя асяроддзі могуць быць выкарыстаны для наладкі колькасці логі:

GL_DEBUG
Калі ўсталявана (у любое значэнне), плягін будзе пісаць шмат адладкі туды, дзе вашыя Qmail-smtpd Уваход Выхад сканчаецца.
GL_VERBOSE
Калі ўсталявана (у любое значэнне), плягін будзе рэгістраваць адхіліў тройкі (IP, адпраўнік, атрымальнік), каб усюды, дзе вашыя Qmail-smtpd Уваход Выхад сканчаецца. Выхад GL_DEBUG ўключае ў GL_VERBOSE.

Статус

Бягучая рэалізацыя была ў прадуктыўнага выкарыстання на некалькіх участках нізкім на працягу больш двух гадоў. Гэта адносіцца і да тэкставыя, а таксама SQLite рухавічкі. Да гэтага часу не нечаканыя праблемы не адбылося. У любым выпадку вы павінны ведаць, што вы карыстаецеся праграму на свой страх і рызыку!

Неабходныя меры былі прынятыя, каб зрабіць плягін няўдачу ў бяспечны спосаб: у выпадку памылкі, якія ўваходзяць паведамленняў электроннай пошты, хутчэй за ўсё, будзе прынятае (хоць паведамленне пра памылку можа быць зарэгістравана па Qmail-smtpd). Такім чынам, у выпадку сур'ёзнай праблемай, спаму будзе прайсці, але не важна пошта будзе страчана.

(Па змаўчанні) файл-серверную базу дадзеных фармату была абраная для яго простым і нішчымнае рэалізацыі. Гэта далёка не эфектыўнай, так што не выкарыстоўваць яго для сярэдняга або нават вялікага аб'ёму сайтаў.

У версіі 0.2 я дадаў яшчэ дзве базы дадзеных рэалізацый на аснове Berkeley DB (супраць 4,0) і SQLite версіі 2. Я таксама палепшаную падтрымку EZMLM стылі VERP S (т. е. за-паведамленне унікальны адрас адпраўніка ў спісе рассылання, як securityfocus.com).

У версіі 0.3 Я дадаў некаторыя паляпшэнні/аптымізацыі ў дачыненні да сервераў, якія рэалізуюць "зваротнага выкліку" правярае адрас адпраўніка канверта. Гэта патрабуе версіі 0,40 (ці больш позняй версіі) з-SPP патч Qmail!

Версія 1.0 з'яўляецца ідэнтычным да 0,3

Версія 1.0.1 выпраўляе памылку, калі GL_DEBUG і RELAYCLIENT маюць значэнне. Дзякуючы Яцэк Тржчинский для патч!

Загрузка

Гэты пакет павінен быць даступны на http://www.unix-ag.uni-kl.de/ ~ conrad/greylisting/greylisting-spp-1.0.1.tar.gz

Крыніцы кіруюцца з дапамогай GNU Arch сістэма кантролю версій. Вы можаце праверыць копію, выкарыстоўваючы

TLA рэгістр-архіў conrad@tivano.de--2004 \
	http://www.unix-ag.uni-kl.de/ ~ Конрад/Архівы/Конрад@tivano.de--2004
TLA захапіць http://www.unix-ag.uni-kl.de/ ~ conrad/greylisting/releases--1.0

Вось мой PGP-ключоў, калі вы хочаце, каб праверыць подпісы.

Будаўніцтва

Проста распакуйце крыніцы і віды "рабіць" ў каталог верхняга ўзроўню размеркавання. Гэта створыць падкаталог ",, будаваць", у якой пабудаваць адбудзецца.

Падказка: вы, мабыць, неабходна "GNU Make", які можа быць усталяваны пад іншым імем на вашай платформе. Ці не на ўсіх.

Па змаўчанні, рэалізацыя файл-серверную базу дадзеных будзе выкарыстоўвацца. Калі вы жадаеце выкарыстоўваць адзін з іншых рэалізацый, пазначце "DB_IMPL" параметр зрабіць каманду, г.зн. "рабіць DB_IMPL = BDB" для Berkeley DB або "зрабіць DB_IMPL = SQLite" для інтэрфейсу SQLite. Залішне казаць, што адпаведныя бібліятэкі і файлы загалоўкаў павінны прысутнічаць у вашай сістэме. Паказаць

README.db-файл,
README.db-BDB або
README.db-SQLite

Для атрымання дадатковай інфармацыі аб гэтых рэалізацый.

У любым выпадку, атрыманы выкананы файл будзе знаходзіцца ў ",, пабудаваць/SRC/Greylisting-SPP".

Ўстаноўка

"Зрабіць ўстаноўку" мэтавай * не * пры ўмове, таму што працэс устаноўкі патрабуе некаторага ручнога ўмяшання, а таксама некаторыя рашэнні, якія вы павінны будзеце зрабіць самі. У асноўным, вам прыйдзецца выканаць крокі, пералічаныя ніжэй. Для RPM-сістэм,. Спектр файл прадастаўляецца (пры ўмове, Qmail ўстаноўкі ў/VAR/Qmail). Пакет ўстаноўкі на аснове патрабуе ручной працы, а таксама.

  1. Не забудзьцеся прачытаць афіцыйны дакумент на аснове шэрага. Вы павінны мець агульнае разуменне таго, як працуе Greylisting і аб рызыках (пошта можа атрымаць затрымкі або страціў). Калі вы хочаце арганізаваць службы SMTP для іншых, праверыць прававой сітуацыі ў вашай краіне. Яна павінна быць бяспечнай для інфармавання карыстальнікаў аб гэтым і ёсць іх згоду, напрыклад, шляхам ўключэння яго ў ўмовы абслугоўвання.
  2. Як ужо было сказана вышэй, гэтая праграма * * плягін для ўстаноўкі Qmail, які быў пабудаваны з патчам Qmail-SPP. Так, у якасці першага кроку, вам прыйдзецца сабраць і ўсталяваць з Qmail, што патч (версія 0,40 або больш позняй версіі!).
    У далейшым мы будзем лічыць, што заплаці Qmail усталяваны ў "/ VAR/Qmail" (па змаўчанні).
  3. Калі ў вас няма каталог, дзе знаходзяцца убудовы, стварыце яго. Ён павінен быць размешчаны дзе-то ў Qmail реж ўстаноўкі.
    У далейшым мы будзем лічыць, што каталог плягінаў з'яўляецца "/ VAR/Qmail/убудовы".
  4. Пасля стварэння гэтага плагіна з "рабіць", скапіруйце атрыманы выкананы файл у каталогу плагіна "/ VAR/Qmail/убудовы".
  5. Выбраць і падрыхтаваць месца для файла базы дадзеных Greylisting. Калі файл не існуе, плягін будзе спрабаваць стварыць яе. У гэтым выпадку, адпаведны каталог запіс не патрабуецца. У адваротным выпадку, чытанне/запіс для файла базы дадзеных сама досыць (каталог імкнецца, таксама, вядома).
    Вы можаце стварыць пусты файл базы дадзеных з "Touch". Тады, прысвоіць ўласнасць карыстальніка, пад якім Qmail-smtpd працуе, як правіла, qmaild/Qmail. Зрабіць правы 0600.
  6. Змяніць усе працэсу вы карыстаецеся для запуску Qmail-smtpd ўсталяваць GL_DATABASE зменную асяроддзя поўны шлях да файла базы дадзеных Greylisting.
    Напрыклад:
         GL_DATABASE=/var/qmail/greylisting/db-file
         export GL_DATABASE
         tcpserver -R -v -x /etc/tcprules.smtpd.cdb -c 20 0 smtp qmail-smtpd 2>&1
    
    Don't forget to restart the service if required!
    Пры жаданні, усталяваць GL_VERBOSE або GL_DEBUG так што вы можаце кантраляваць, якім чынам /, калі плягін працуе.
  7. Падумайце аб тым, "белы" спіс некаторых IP-адрасоў, напрыклад, вашыя ўласныя рэзервовыя MX або паштовых сервераў кліентаў. Акрамя таго, некаторыя няправільна паштовых сервераў неабходна "белы" спіс (гл. http://greylisting.org/whitelisting.shtml для тлумачэнні).
    Калі вы выкарыстоўваеце TCPServer для пачатку Qmail-smtpd, як у прыкладзе вышэй, вы хочаце, каб ўключаць ", пабудаваць/DOC/whitelist.tcpserver" у "/ і г.д./tcprules.smtpd".
    Прадастаўленага спісу адрасоў якія патрабуюць "белы" спіс з'яўляецца няпоўным, таму просім звярнуць увагу на крок 8.
  8. Ўключыць плягін, дадаўшы шлях (адносна каталога ўстаноўкі Qmail), каб "[RCPT]" падзелу файлаў Qmail-SPP канфігурацыі "/ VAR/Qmail/кіравання/smtpplugins". Мінімальны прыклад:
    [auth]
    
    [helo]
    
    [mail]
    
    [rcpt]
    plugins/greylisting-spp
    
  9. Трымайце вочы на ??файл базы дадзеных.
    Пры ўмове спіс адрасоў якія патрабуюць "белы" спіс з'яўляецца няпоўным. Калі маюцца падставы для электроннай пошты ніколі не будзе праз вас, хутчэй за ўсё, маюць у белы спіс адпраўкі IP-нумар.

Працягнуўшы яго

Калі вы хочаце стварыць свой ??уласны інтэрфейс базы дадзеных, зірніце на README.dbapi і "SRC/DP-api.h". Калі ласка, дайце мне ведаць, калі вы паспяхова.

Published (Last edited): Apr 8 , source: http://www.unix-ag.uni-kl.de/~conrad/greylisting/README.html