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
- man access
- RFC 2142
- RFC 822
- SMTPD_POLICY_README
- SMTPD_ACCESS_README
- 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.