|
|
(ei näidata 3 kasutaja 73 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 vajalikke muutujaid'''
| |
− | | |
− | '''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
| |