ot Peio Popov(19-12-2005)

reiting (25)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

1. Za access politikite

CHrez access politikite mozhe da se vzemat resheniia za na dadeno email suobshtenie na razlichni etapi ot priemaneto mu. Traditsionno tezi politiki se zadavat v access konfiguratsionen fail [1]. Vupreki, che sushtestvuvaneto na takava politika ne e zadulzhitelno, a samo preporuchitelno, to v dneshnite usloviia e nalozhitelno izpolzvaneto i pone za adresite za kontakt otnosno uslugite na sistemata.

Preporukite za tezi adresi se sudurzhat v RFC 2142 [2] i vklyuchvat adresi kato postmaster, abuse, webmaster, hostmaster i drugi. Spetsialno za poshtenskite survuri ot nai-goliamo znachenie sa postmaster i abuse [3], koito triabva vinagi da sushtestvuvat i poshtata, za koito, triabva vinagi da bude dostaviana bez da se prekarva prez dopulnitelni filtri. Suobshteniiata do tezi adresi se poluchavat i chetat ot administratorite na sistemata i argumenti, che na tiah se poluchava predimno nezhelana poshta sa nesustoiatelni.

Za suzhalenie, seriozni imena sred bulgarskite dostavchitsi na uslugi niamat ili ne podurzhat tezi adresi, koito v mnogo sluchai sa edinstveniia nachin za kontakt s tiah. Mozhe da se okazhat interesni i pokazatelni rezultatite ot izsledvane kakuv protsent ot dostavtsichite imat takiva adresi za kontakt.

2. Delegirane na access politiki

Tui kato vuzmozhnostite na sintaksisa na access faila sa ogranicheni, ot versiia 2.1 Postfix dava vuzmozhnost resheniiata otnosno sudbata na suobshtenieto da budat delegirani na vunshno prilozhenie, chrez koeto da se implementira po-slozhna logika. Nai-chestite prilozheniia, za koito se izpolzva tova e implementatsiiata na Greylisting i proverka na SPF zapisite.

Za tazi tsel Postfix implementira protokol za komunikatsiia mezhdu SMTP survura i vunshen survur, koito obsluzhva zapitvaniiata i vrushta otgovor otnosno po-natatushnite deistviia s pismoto. Zaiavkata se sustoi ot dvoiki ime=stoinost, vsiaka na nov red i zavurshva s edin prazen red. Otgovorut ot survura za politiki e action=[ACTION] kudeto [ACTION] mozhe da bude vsiako deistvie vuzmozhno deistvie predvideno v access faila [1] (primerno: OK/REJECT/HOLD/WARN ili drugo) i sushto posledvan ot edin prazen red. Primerni zaiavka i otgovor sa dadeni v README faila [4] ot distributsiiata na Postfix.

3. Primerna implementatsiia

Nai-prostata implementatsiia na takuv survur triabva da vklyuchva kod, koito da parsva zaiavkata ot postfix smtp survura, da vzima reshenie vuzosnova na parametrite na zaiavkata i da vrushta obratno svoia otgovor.

Samo za primer prilagam raboteshta, no suznatelno prakticheski bezpolezna implementatsiia (v utf-8 kodirane) na takava politika, napisana na perl. Tia vzima IP adresa na izprashtacha i sled seriia glupavi preobrazuvaniia nad dvoichnata mu reprezentatsiia vzima reshenie dali da prieme ili otkazhe pismoto. Politikata mi napomnia po niakakuv nachin na svetovnoto purvenstvo po futbol i zatova sum ia krustil taka. Ot komentarite v koda mozhe da nauchite malko poveche.

Siguren sum, che vie mozhe da napishete neshto po-dobro i dori smisleno.

4. Konfiguratsiia

Zaradi ogranicheniiata i nai-veche skorostta na spawn demona ot Postfix e dobra ideia da si napishem politikata taka, che da se demonizira sama, no puk ot druga strana tova bi dovelo do po-goliam shans ot greshki i problemi. Nezavisimo dali sme startirali nashiia survur za politiki samostoiatelno ili ot spawn demona, nie mozhem da go dostupim po inet i unix soket (s absolyuten ili otnositelen put v failovata sistema). Nai-lesno i prigledno e ako izpolzvame spawn i otnositelen put kato dobavim neshto podobno v master.cf:

mypolicy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/libexec/postfix/mypolicy.pl

V main.cf triabva da dobavim v reda na smtpd_recipient_restrictions, sled reject_unauth_destination (riskuvamen open rely v protiven sluchai) red podoben na:

check_policy_service unix:private/mypolicy,

Za da ogranichim posledstviiata ot vuzmozhni greshki, koito da zabaviat rabotata na smtp survura ogranichavame vremeto za otgovor ot survura za politiki na edna minuta dobaviaiki:

policy_time_limit = 60

4. XCLIENT i testvane na politikata

Osven debug informatsiiata, koiato izprashtame kum niakoi ot syslog facilities, mozhe da izpolzvame i vuzmozhnostta za soft bounces (podmiana na kodovete za greshki ot postoianni kum vremenni 5hh na 4hh), kato dobavim soft_bounce = yes v main.cf, da izpolzvame warn_if_reject direktivata v reda na ogranicheniiata ili da se vuzpolzvame ot XCLIENT [6].

XCLIENT e razshirenie na smtp, koeto pozvoliava da podavame proizvolni stoinosti na niakoi ot atributite, s tsel da testvame ogranicheniiata, koito sme nalozhili. Vuzmozhnostta za izpolzvaneto mu triabva da se ukazhe izrichno chrez direktiva v main.cf podobna na:
smtpd_authorized_xclient_hosts = 127.0.0.1. Poveche za razshirenieto mozhe da nauchite ot negoviia README fail [6].

5. Vruzki

  1. man access
  2. RFC 2142
  3. RFC 822
  4. SMTPD_POLICY_README
  5. SMTPD_ACCESS_README
  6. XCLIENT_README

6. Korektsii i komentari

Vsiakakvi korektsii i komentari sa dobre doshli. Mozhe da pishete tuk, za da vi vidiat i da ste polezni na poveche hora, no az poshtata (peio v peio.org) si ia cheta po-chesto.



<< Rukovodstvo za LXR | Igrai na dumi >>