Erinevus lehekülje "Postfix" redaktsioonide vahel

Allikas: Kuutõrvaja
 
(ei näidata 3 kasutaja 71 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===Sissejuhatus===
  
Postfix on vabavaraline mail transfre agent (MTA), serveritarkvara mis mõeldud
+
Postfix on postiedastusagent (ingl. k. mail transport agent, MTA). Postiedastusagendi ülesanne on sooritada kontrolle, võtta epost vastu võrgust või lokaalselt ja anda edasi
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.  
+
* postijaotusagendile (ingl. k. mail delivery agent, MDA) kirjade kasutajate postkastidesse jaotamiseks või kopeerida ise failisüsteemi
 +
* järgmisele postiedastusagendile
 +
* viiruste ja spämmi analüüsi süsteemile
  
===Anatoomia===
+
Postiedastusagent on epostisüsteemi keskne komponent, mis ühendab kokku kõik eposti liikumisega toimuvad tegevused
  
Kitsam pilt MTA'st. Tegemist ei ole mingi väikese tarkvaraga. Kokku koosneb postfix kuskil 11'nest põhilisest
+
                    internet (teised MTA'd)
käsurea utiliidist ja 20nest protsessist/deemonist.
+
 
 +
                            | ^
 +
                            v |
 +
                            _____
 +
  spämmi ja       <---->  |    | <---- lokaalne meilisaatja (nn /usr/sbin/sendmail STDIO)
 +
  viiruste analüüs        | MTA | <---- MTA klient, nt Icedove või Thunderbird
 +
                          |_____| ----> postijaotusagent nt Cyrus või lihtsamal juhul kopeeritakse
 +
                                        kiri faili /var/mail/kasutajanimilinefail
  
[[Pilt:Psfxcomn.gif]]
+
Kuutõrvajas on käsitletud seoses Postfixi kasutamisega selliseid teemasid
  
Kollased märgid on mail programmid neist kastid on maili järjekorrad (queue) või failid
+
* [[:Mailman kasutamine FreeBSD'ga]]
 
+
* [[:Cyrus kasutamine Gentooga]]
sinised kastid on lookup table'd
+
* [[:Postfix'i kasutamine Debianiga]]
 
+
* [[:Postfix'i arhitektuuri kirjeldus ja kasutamise keerulisemad võimalused]]
programmid üldkasti sees töötavad kontrollituna postfixi master daemoni poolt
+
* [[:Kahetasemelise Postfix'i süsteemi kasutamine Debianiga]]
info selle sees kuulub samuti postfixi mailisüsteemile
+
* [[:Cyruse kasutamine Postfixi ja Debianiga]]
 
+
* [[:Mailmani kasutamine Postfixi ja Debianiga]]
Kuna deemoneid on äärmiselt palju ja nende kõigi esiletoomine võtaks palju aega siis
+
* [[:Sympa kasutamine Postfixi ja Debianiga]]
kõige olulisemad deemonid on
+
* [[:Amavis kasutamine Debian Lenniga]]
 
+
* [[:Postfix'i SMTP AUTH üle TLS vastu Postgresql baasi Debianiga]]
master
+
* [[:Opportunistic encryption kasutamine Postfixiga]]
The master daemon is the brain of the Postfix mail system.
+
* [[:Squirrelmail kasutamine Debian Lennyga]]
It spawns all other daemons.
+
* [[Postfix + courier + mysql]] FreeBSD postfix mailisüsteem koos mysql'is olevate kasutajate ning veebihaldusliidesega paigaldusõpetus
 
+
* [[:SPF kasutamine Postfixiga]]
smtpd
 
The smtpd daemon (server) handles incoming
 
connections.
 
 
 
smtp
 
The smtp client handles outgoing connections.
 
 
 
qmgr
 
The qmgr-Daemon is the heart of the Postfix mail system.
 
It processes and controls all messages in the mail queues.
 
 
 
local
 
The local program is Postfix’ own local delivery agent. It
 
stores messages in mailboxes.
 
 
 
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/
 
võimalik on kogu maili kettale transportimine anda eraldi programmine, näit
 
cyrusele mailbox_transport = cyrus
 
 
 
'''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
 
 
 
===Veel kasulikke muutujaid töökindluse suurendamiseks===
 
 
 
Kõikide muutujate lahtiseletamine ja esiletoomine läheks väga pikaks,
 
nendekohta on üsnagi mahukas ja põhjalik kirjeldus ametlikuls postconf manualis http://www.postfix.org/postconf.5.html aga püüaks veel mõningaid ja põhiliselt spamimise /ddos'imisi piiravaid
 
ja töökindlust suurendavaid parameetreid esiletuua
 
 
 
 
 
'''maximal_queue_lifetime = 3d'''
 
'''bounce_queue_lifetime = 3h'''
 
 
 
Saba elupikkuse reguleerimine, oluline masinates
 
mis näiteks paljudele teistele domeenidele relay'ks
 
 
 
'''relay_domains = /etc/mail/relay-domains'''
 
 
 
domeenid milledele näiteks ollakse teiseks mx'iks
 
 
 
'''Suhtlemiskiiruste limiteerimised'''
 
 
 
anvil_rate_time_unit = 60s
 
smtpd_client_connection_count_limit = 5
 
smtpd_client_connection_rate_limit = 100
 
smtpd_client_message_rate_limit = 100
 
smtpd_client_recipient_rate_limit = 200
 
smtpd_client_event_limit_exceptions = $mynetworks, ".ee"
 
smtpd_timeout = 60s
 
 
 
Hea kasutada spammimiste pidurdamisteks
 
 
 
selleks hea näiteks nõuda ka '''smtpd_helo_required = yes'''
 
kui korrektset suhtlus pole ei tule ka vastuseid
 
ja määrata veel lisatäiendusi '''smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_hostname, reject_invalid_hostname'''
 
 
 
 
 
'''Konfiguratsiooni automaatne muutmine postconf utiliidiga'''
 
 
 
konfiguratsiooniooni saab jooksvalt vaadata käsuga
 
postconf -n
 
 
 
Postconf võimaldab kiirelt ja mugavalt muuta mingeid parameetreid main.cf seadistuses
 
ning seda võib kasutada nii hästi skriptimisel näiteks
 
 
 
postconf -e 'readme_directory = no'
 
 
 
Käsuga muudetakse readme_directory väli
 
 
 
====Muud konfiguratsioonid====
 
 
 
envelope sender and recipient addresses
 
 
 
aliases
 
virtual
 
generic
 
canonical
 
relocated
 
 
 
dedicated transport settings
 
 
 
transports
 
 
 
SMTP communication control
 
 
 
access
 
Postfix
 
 
 
For content control
 
 
 
header_checks
 
body_checks
 
mime_header_checks
 
nested_header_checks (obscure)
 
 
 
 
 
===Krüpteeringud TLS===
 
 
 
Kahe mailiserveri vaheline tls krüpteering
 
 
 
===Auth SASL===
 
 
 
Kasutajate autentimine ja kürpteeritud login
 
 
 
===Mysql kasutajad===
 
 
 
postfixadmin
 
 
 
===Lisadeemonid viirusetõrje/spam===
 
 
 
clamav, amavisd, postgrey jpt
 
 
 
content_filter = smtp-amavis:[127.0.0.1]:10024
 
 
 
===Abivahendid===
 
 
 
Oluliseimad posfixi käsud mida sagedaimini igapäevaelus võib vajaminna on
 
 
 
postalias
 
postmap
 
postconf
 
postqueue
 
postsuper
 
 
 
Järjekordadega tegelemisel põhiliseks on muidugi mailq mis võimaldab mugavalt järjekordade sisu jälgida
 
 
 
Suuremate mailivoogude ning blokeerumiste korral on hea uurida mis domeenid on probleemiks
 
ja mis järjekordades on need kinni. Mailq pole samuti sageli selles osas eriti ülevaatlik.
 
 
 
# qshape deferred | head
 
                                          T  5 10 20 40 80 160 320 640 1280 1280+
 
                                  TOTAL 540  0  3  1  2 10  4  14  31  59  416
 
                          mingi.edu.ee 320  0  2  1  0  9  3  4  11  51  239
 
                            hotmail.org  25  0  0  0  0  1  0  0  0    0    24
 
 
 
Mõne domeeni või saatja kõigi kirjade eemaldamiseks võib kasutada sarnast käsku
 
 
 
mailq | grep '''spamidomeen.ee''' | awk '{ print $1 }' | tr -d '*!' | postsuper -d -
 
 
 
Postisüsteemi heaks testimise abivahendiks on ikka telnet muidugi ja telnet port 25
 
 
 
===Logi ja selle analüüs===
 
 
 
tail -f mail.log ;)
 
 
 
mailgraph
 
 
 
===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
 
 
 
Veel logimisest
 
 
 
http://www.onlamp.com/pub/a/onlamp/2004/01/22/postfix.html
 

Viimane redaktsioon: 23. september 2010, kell 15:44

Sissejuhatus

Postfix on postiedastusagent (ingl. k. mail transport agent, MTA). Postiedastusagendi ülesanne on sooritada kontrolle, võtta epost vastu võrgust või lokaalselt ja anda edasi

  • postijaotusagendile (ingl. k. mail delivery agent, MDA) kirjade kasutajate postkastidesse jaotamiseks või kopeerida ise failisüsteemi
  • järgmisele postiedastusagendile
  • viiruste ja spämmi analüüsi süsteemile

Postiedastusagent on epostisüsteemi keskne komponent, mis ühendab kokku kõik eposti liikumisega toimuvad tegevused

                   internet (teised MTA'd)
 
                            | ^
                            v |
                           _____
 spämmi ja        <---->  |     | <---- lokaalne meilisaatja (nn /usr/sbin/sendmail STDIO)
 viiruste analüüs         | MTA | <---- MTA klient, nt Icedove või Thunderbird
                          |_____| ----> postijaotusagent nt Cyrus või lihtsamal juhul kopeeritakse 
                                        kiri faili /var/mail/kasutajanimilinefail

Kuutõrvajas on käsitletud seoses Postfixi kasutamisega selliseid teemasid