Postfix

Allikas: Kuutõrvaja
Redaktsioon seisuga 2. november 2008, kell 15:58 kasutajalt Jj (arutelu | kaastöö) (Anatoomia)

Sissejuhatus

Postfix on vabavaraline mail transfre agent (MTA), serveritarkvara mis mõeldud emailide vastuvõtmiseks ning saatmiseks. Postfixi kiirus, kergelt administreeritavus ja turvalisus on teinud sellest ühe enimkasutatava mta ja laialdase alternatiivi sendmailile.

Selle kirjutas hollandlane Wietse Venema ja kasutusse võeti esmakordselt 1999.a.


Anatoomia

Kitsam pilt MTA'st. Tegemist ei ole mingi väikese tarkvaraga. Kokku koosneb postfix kuskil 11'nest põhilisest käsurea utiliidist ja 20nest protsessist/deemonist

Psfxcomn.gif

Kollased märgid on mail programmid neist kastid on maili järjekorrad (queue) või failid

sinised kastid on lookup table'd

programmid üldkasti sees töötavad kontrollituna postfixi master daemoni poolt info selle sees kuulub samuti postfixi mailisüsteemile


Posfixil on neli põhilist järjekorda: maildrop, incoming, active ja deferred. Lokaalne meil saadetakse maildropile ja kopeeritakse incoming järjekorda. Incoming järjekord on mailidele mis äsja saabunud ja queue manager pole neid veel ülevaadanud. Mailid mida ei saa edastada tõstetakse defferred järjekorda ,et see ei jääks saabuvatele-saadetavatele kirjadele jalgu.


Pisut detailsemat juttu http://www.linuxjournal.com/article/9454

Paigaldus

Üldiselt peaks iga vähegi enesest lugupidavam ja suurem operatsioonisüsteem omama mingit oma porti/installipakki postfixist. Postfix on juba paljude operatsioonisüsteemide vaikimisi mta'ks, näiteks ubuntul. Kaasa tuleb installiga ka ohtralt seadistuse näiteid, abifaile ja manuale


Seadistus

Postfixi põhilisteks seadistusfailideks on main.cf ja master.cf. Main.cf sisaldab postfixi seadistusparameetreid mis vajalikud mailide liigutamiseks ning master.cf seadistab deemonprotsesse

Main.cf

Kõige lihtsamaks main.cf seadistuseks oleks

smtpd_banner = $myhostname ESMTP no spam please ;) 
myhostname = kool.edu.ee
mydomain = $myhostname
myorigin = $mydomain
inet_interfaces = all
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mydestination = $myhostname, localhost.$mydomain, /usr/local/etc/postfix/mydestination
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/mail/aliases
alias_database = hash:/etc/mail/aliases
home_mailbox = mbox
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

See kõik on üldine ja töötab ühtemoodi nii freebsd, solarise kui debiani või kasvõi windowsil (kui postfix sinna kunagi porditakse)

Seejärel tuleb muidugi seadistada ka postfixi septsiifilisem osa, mis varieerub erinevatel operatsioonisüsteemidel omasuudu, näiteks kus asub deemon, kus spool kaust või mis õigustes töötab postfix

Kasutada võib ka muutujaid stiilis config_directory = /usr/local/etc/postfix ja kasutada stiilis transport_maps = hash:$config_directory/transport

Seletaks pisut põhilisi ridu lahti

smtpd_banner = $myhostname ESMTP no spam please ;)

Üldine teade mida näeb kui ühenduda 25 pordi külge, üldiselt täidab pigem ilu ülesannet :)

myhostname = kool.edu.ee

See muutuja võetakse tavaliselt shellist ja sõltub mis on sereri hostnameks määratud, üldiselt võib olla soov seda siiski sageli muuta

mydomain = $myhostname

mydomain võib samuti sageli erineda myhostnamest, üldiselt kui aga ei võib kasutada näiteks muutujat $myhostname

myorigin = $mydomain

is the domain name that locally-posted email appears to have come from and is delivered to.

inet_interfaces = all

Postfix kuulab vaikimisi kõikidel võrguseadmetel mis serveril küljes 25ndat porti ja kust posti ka vastu võetakse

mynetworks = 127.0.0.0/8, 192.168.1.0/24

IP aadressid või võrkude vahemikud mis on turvalised nimetame localhosti ja serveri taguse kontori sisevõrgu. Nendest võrkudest võib saata maile läbi serveri. Kõik katsed saata või relay'da maili teistelt mitte siin defineeritud ip'delt keelatakse

mydestination = $myhostname, localhost.$mydomain, /usr/local/etc/postfix/mydestination

Siin võib defineerida veel kõik masina küljes olevad domeenid neid komaga eraldadest, kust server peaks emaile vastuvõtma, lihtustamise huvides võib need kõik mydestination faili lisada ning faili korraga külgevõtta

/usr/local/etc/postfix/mydestination
luunja.tartu.ee
luunja.edu.ee

unknown_local_recipient_reject_code = 550

Viisakas seadistada teiste mailisaatjate jaoks.

alias_maps = hash:/etc/mail/aliases

alias faili, vaikimisi etc all

alias_database = hash:/etc/mail/aliases

Alias faili andmebaas

home_mailbox = mbox

Mailide salvestamise formaadiks mailbox. See on kõige vanem ja lihtsam formaat kuid mitte kõige parem ja tänapäeval oleks tegelikult juba üsnagi mõttekas kasutada maildir'i home_mailbox = Maildir/

smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain

Piirangud läbi mailiserveri saatjale, lubame automaatselt mynetworgist saatmised ning keelame tundmatud

smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

siinpuhul saab seadistada veel

 permit_sasl_authenticated,
 reject_non_fqdn_hostname,
 reject_non_fqdn_sender,
 reject_non_fqdn_recipient,
 reject_unauth_destination,
 reject_unauth_pipelining,
 reject_invalid_hostname,
 reject_rbl_client bl.spamcop.net,
 reject_rbl_client sbl-xbl.spamhaus.org

Lingid

Ametlik dokumentatsioon

http://www.postfix.org/documentation.html

Mailiserverite võrdlused

http://en.wikipedia.org/wiki/Comparison_of_mail_servers

dspam ja postfix

http://ubuntuforums.org/showthread.php?t=520075

redhat'i postfixi põhjalikud manualid

http://www.redhat.com/support/resources/howto/RH-postfix-HOWTO/x368.html

postfixi arhidektuuri täpsem ülevaade

http://www.postfix.org/OVERVIEW.html