ot Peio Popov(13-08-2005)

reiting (21)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Sushtnost na metoda

Greylisting e imeto na oshte edin nachin za borba s nezhelanata poshta. Predlozhenieto za implementatsiia na metoda se osnovava na nablyudenieto, che povecheto spamuri izpolzvat narochno suzdaden za tselta sofuter, koito ne opitva da izprati edno suobshtenie povtorno, ako to ne bude prieto ot purviia put. Poshtenskite survuri, koito sa suzdadeni spored spetsifikatsiite, opitvat da dostaviat otnovo takova suobshtenie sled opredelen period ot vreme. Tazi razlika sluzhi za otsiavane na dvata tipa izprashtachi i v kraina smetka za namaliavane na kolichestvoto nezhelana poshta, koeto vashite potrebiteli poluchavat.

Metoda se sustoi v suzdavane na vruzki ili t.nar. tripleti, koito se sustoiat ot:

  • IP adresa na hosta, koito izprashta suobshtenieto (po podrazbirane e C klas mrezhata, zaradi pool-ovete na niakoi ISP)
  • Adresa na izprashtacha
  • Adresa na poluchatelia

Vseki takuv triplet se schita za nadezhden (ot gledna tochka na Greylisting metoda) za opredelen period ot vreme, ako hosta izprashtach povtori opita za izprashtane na suobshtenieto sled opredelen period ot vreme i vseki povtoren opit shte bude razreshen (broiat na nuzhnite uspeshni povtorni opiti mozhe da bude promenen).

Implementatsiia s Postgrey
Za opisanata tuk konfiguratsiia e nuzhen Postfix versiia 2.1.x ili po-nova, zaradi check_policy_service direktivata za ogranicheniia na smtp survura.

Ot stranitsata na proekta mozhe da se sdobiete s koda mu ili s prepaketirana versiia za vashata OS. Postgrey e perl skript i e zavsisim ot oshte niakolko modula na perl, za koito veroiatno imate sushto gotovi paketi ili sus sigurnost mozhe da se sdobiete ot CPAN.

Postgrey se startira kato usluga s -d optsiiata i komunikatsiiata s nego mozhe da se osushtestviava prez unix ili inet soket. Pri startirane mozhe da se ukazhat i broia na nuzhnite uspeshni opiti za dostavka na suobshtenie, za da se schita tripleta za nadezhden. Tova stava chrez auto-whitelist-clients opitsiiata, koiato po podrazbirane iziskva pet dostaveni suobshteniia, a az sum reshil, che i edno e dostatuchno.

Drugo vazhno reshenie e i miastoto na greylisting proverkata v reda na ogranicheniiata, koeto e svurzano s koda na greshkata, koiato triabva da vurne survura na izprashtacha. Povedenieto na postgrey po podrazbirane e da budat provereni vsichki ogranicheniia i vremennata greshka da bude vurnata samo ako suobshtenieto e shtialo da bude prieto. S optsiiata greylist-action mozhe da se ukazhe i tvurd kod za greshka 451, koito shte prekrati proverkata na posledvashtite ogranicheniia i tochno v tozi sluchai miastoto na direktivata ima znachenie.

Neshto, koeto sushto e dobre da bude promeneno e i otgovorut na poshtenskiia survur, kogato vrushta koda za greshka. Tova mozhe da stane s
greylist-text optsiiata. Az ne sum siguren, che samiiat otgovor triabva da uvedomiava izprashtacha, za tova che survura izpolzva tozi metod za borba s nezhelanata poshta, no tova e neshto, koeto vseki triabva da reshi za sebe si.

Za da predpazite potrebitelite si ot protsesa si na obuchenie, dokato polzvate predimstvata na realnite usloviia suzdadeni ot rabotesht poshtenski survur e dobra ideia da se polzvat t.nar. whitelists spisutsi. V postgrey te sa tri na broi:

  • postgrey_whitelist_recipients vashi hostove, potrebiteli ili reguliaren izraz za takiva, koito ne triabva/zhelaiat da polzvat tozi metod na zashtita.
  • postgrey_whitelist_clients spisuk na izprashtachi (host, IP ili reguliaren izraz) koito imat izvesten problem s tazi praktika. Tozi spisuk se obnoviava periodichno i e dobre da si organizirate avtomatiziraneto na obnoviavaneto mu.
  • postgrey_whitelist_clients.local lokalen spisuk na izprashtachi, na koito se doveriavame ili za koito znaem, che imat problemi.

S malko poznaniia po perl e vuzmozhno i da oburnem logikata na spisutsite i da gi napravim da sluzhat kato spisuk na tezi, za koito iskame tazi proverka da se prilaga, koeto mozhe da e oshte po-dobra ideia, kogato stava vupros za takava tehnika i imame situatsiia, v koiato novi potrebiteli i hostove za poshta se dobaviat chesto. Osven tova s prilaganeto na metoda samo za opredeleni adresi ili hostove mozhe po-lesno da vidim rezultata ot metoda.

Mislia, che e podhodiashto napomniane da ostavite adresi kato vashiiat lichen, postmaster, webmaster, abuse i podobni, za koito poshtata triabva da se poluchava izvun obhvata na tezi zashtiti, ako, razbira se, veche ne ste go napravili s access spisuka.

Za aktivirane na proverkata e nuzhno da vklyuchim check_policy_service unix:postgrey/socket na podhodiashto miasto sred smtpd_recipient_restrictions v main.cf:

/etc/postfix/main.cf:
smtpd_recipient_restrictions =
check_policy_service unix:postgrey/socket,

Prezarezhdame konfiguratsiiata i mozhem da vidim kak se durzhi poshtenskiia survur. Purvo za host s aktiviran greylisting:

220 mail.server.com ESMTP Postfix

250 mail.server.com
mail from: peio@peio.org
250 Ok
rcpt to:peio@host.with.graylisting.com
451 : Recipient address rejected: Greylisted for 300 seconds (Contact postmaster@server.com if you really need to)
quit
221 Bye

I posle proverka na normalnoto povedenie:

220 mail.server.com ESMTP Postfix

250 mail.server.com
mail from: peio@peio.org
250 Ok
rcpt to: peio@host.without.graylisting.com
250 Ok
quit
221 Bye

Postgrey vklyuchva i instrumenta postgreyreport s koito mozhe da gledame kakvo stava v bazata, da si vadim dokladi i drugi polezni funktsii. Kum samata baza sushto e dobre da se otnasiame s vnimanie, za da ne zagubim doverenite tripleti, a i zashtoto prochetoh na niakolko puti za problemi s postgrey, pri koito reshenieto vklyuchva novo initsializirane na bazata.

Vruzki



<< Postfix s TLS podruzhka | Kak da "svaliame" Debian s Jigdo ot bulgarskite ogledala. >>