|
|
(ei näidata sama kasutaja 117 vahepealset redaktsiooni) |
1. rida: |
1. rida: |
− | ===Sissejuhatus===
| |
− |
| |
− | Postfix on postiedastusagent (ingl. k. mail transport agent, MTA). Postiedastusagendi ülesanne on võtta epost võrgust või lokaalselt vastu ja anda edasi
| |
− |
| |
− | * postijaotusagendile (ingl. k. mail delivery agent, MDA) kirjade kasutajate postkastidesse jaotamiseks
| |
− | * järgmisele postiedastusagendile
| |
− | * viiruste analüüsi süsteemile
| |
− | * spami 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 analüüs <----> | | <---- 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
| |
− |
| |
| ===Eesmärk=== | | ===Eesmärk=== |
| | | |
− | Eesmärgiks on seadistada käima selliste omadustega postiedastusagent | + | Eesmärgiks on seadistada käima selliste omadustega postiedastusagent (ingl. k. Mail Transfer Agent, MTA) Postfix |
| | | |
− | * võtab vastu domeenide loomaaed.tartu.ee ja www.loomaaed.tartu.ee posti | + | * internetist võetakse vastu domeeni loomaaed.tartu.ee kasutajate epostiaadressidele saadetud kirju aadressil 192.168.0.25 |
− | * saadab mart@loomaaed.tartu.ee aadressile saadetud kirja edasi aadressile
| + | * vastuvõetud loomaaed.tartu.ee domeeni kirjad salvestatakse postimasina failisüsteemi, st tehakse local delivery |
− | * salvestab priit@loomaaed.tartu.ee aadressile saadetud kirja faili /var/mail/mart | + | * postimasina abil saab saata kirju välja internetti teistele kasutajatele alamvõrgus 192.168.0.0/24 asuvatest arvutitest |
− | * võimaldab saata välja alamvõrkudest 192.168.0.0/24 ja 172.16.0.0/24 posti | + | * kirjade avalikust võrgust vastuvõtmisel teostatakse saatja ip aadressidele DNSBL kontrolli Spamhaus zen.spamhaus.org nimekirja põhjal |
| | | |
− | ===Tarkvara paigaldamine===
| + | internet |
− | | + | ... |
− | Postfix tarkvara saab paigaldada Debiani paketihaldusest öeldes
| + | . |
− | | + | v |
− | bash# apt-get install postfix postfix-doc
| |
− | | |
− | Tavaliselt siis eemaldatakse vaikimisi Debiani standard operatsioonisüsteemi kooseisus esinev Exim Postfixi vastu. Postfixi paigaldamisel tuleb valida 'General type of configuration', 'valime Internet Site'
| |
− | | |
− | * No configuration
| |
− | * Internet Site
| |
− | * Internet with smarthost
| |
− | * Satellite system
| |
− | * Local only
| |
− | | |
− | Seejärel küsitakse 'mail name' väärtust, see hakkab esinema läbi selle postisüsteemi välja saadetud kirjade eposti aadresside @ märgist paremal
| |
− | | |
− | loomaaed.tartu.ee
| |
− | | |
− | Seejärel tekitatakse kasutaja, genereeritakse seadistusfailid ja käivitatakse Postfix.
| |
− | | |
− | Setting up postfix (2.3.8-2) ...
| |
− | Adding group `postfix' (GID 105) ...
| |
− | Done.
| |
− | Adding system user `postfix' (UID 104) ...
| |
− | Adding new user `postfix' (UID 104) with group `postfix' ...
| |
− | Not creating home directory `/var/spool/postfix'.
| |
− | Creating /etc/postfix/dynamicmaps.cf
| |
− | Adding tcp map entry to /etc/postfix/dynamicmaps.cf
| |
− | Adding group `postdrop' (GID 106) ...
| |
− | Done.
| |
− | setting myhostname: ria-pg1a.test.kit
| |
− | setting alias maps
| |
− | setting alias database
| |
− | changing /etc/mailname
| |
− | setting myorigin
| |
− | setting destinations: loomaaed.tartu.ee, ria-pg1a.test.kit, localhost.test.kit, localhost
| |
− | setting relayhost:
| |
− | setting mynetworks: 127.0.0.0/8
| |
− | setting mailbox_command
| |
− | setting mailbox_size_limit: 0
| |
− | setting recipient_delimiter: +
| |
− | setting inet_interfaces: all
| |
− |
| |
− | Postfix is now set up with a default configuration. If you need to make
| |
− | changes, edit
| |
− | /etc/postfix/main.cf (and others) as needed. To view Postfix configuration
| |
− | values, see postconf(1).
| |
| | | |
− | After modifying main.cf, be sure to run '/etc/init.d/postfix reload'. | + | 192.168.96.138 _|_ |
| + | | | Tulemüür |
| + | |___| |
| + | | 192.168.0.254/24 |
| + | | 192.168.0.0/24 alamvõrk |
| + | -----|---------|-------|--------------|------------------------------- |
| + | | | | |
| + | _|_ _|_ _|_ 192.168.0.25/24 |
| + | | | | | | | |
| + | |___| |___| |___| |
| + | |
| + | Töökohaarvuti A Postimasin |
| | | |
− | Running newaliases
| + | Töökohaarvuti B |
− | Stopping Postfix Mail Transport Agent: postfix.
| |
− | Starting Postfix Mail Transport Agent: postfix.
| |
| | | |
− | Postfixiga on seotud failisüsteemis sellised kataloogid ning failid
| + | Kuigi joonisel on kasutatud nö privaatseid aadresse kehtib loogilises mõttes esitus avalike aadresside kasutamise juhu kohta. Punktis [[:Postfix'i_kasutamine_Debianiga#Postimasina kasutamine tulemüüri taga NAT võrgus]] käsitletakse juhtumit, kui postimasin kasutab privaatset aadressi asudes aadress-teisendava tulemüüri taga. |
| | | |
− | * /etc/postfix - Postfixi seadistusfailid
| + | Püstitatud eesmärki võiks kasutaja edasi arendada |
− | * /etc/mailname
| |
− | * /var/spool/postfix - saba (ingl. k. queue)
| |
− | * /var/log/mail.log - logi
| |
− | * /usr - programmifailid ja teegid ning dokumentatsioon, erinevates kataloogides, 'dpkg -L postfix' ütleb
| |
| | | |
− | ===Seadistamine===
| + | * viiruste analüüsi ja täiendavad spämmianalüüsi lisamisega - [[:Amavis_kasutamine_Debian_Lenniga]] |
| + | * kasutajate postkastide pidamise lahendusega - [[:Cyruse_kasutamine_Postfixi_ja_Debianiga]] |
| + | * süsteemi kahetasemeliseks muutmine - [[:Kahetasemelise_Postfix'i_süsteemi_kasutamine_Debianiga]] |
| + | * greylisting kasutamine postiedastusagendi ees tulemüüris - [[:OpenBSD_spamd_tarkvara_kasutamine]] |
| | | |
− | Süsteemist väljuva posti ümbriku muutmiseks tuleb kasutada mail.cf failis rida
| + | ===Nimesüsteemi ettevalmistamine=== |
| | | |
− | smtp_generic_maps = hash:/etc/postfix/generic
| + | Õigesti seadistatud nimesüsteem on postisüsteemi kasutamise eelduseks. |
| | | |
− | ning /etc/postfix/generic ise sisaldab näiteks selliseid ridu
| + | ====MX ja A kirje==== |
| | | |
− | www-data@arvuti.sisedomeen www-bounce@valisdomeen.ee
| + | Selleks, et avalikus internetis saaksid ülidselt teised kasutajad (nt Gmail kasutajad) saata kirju nt aadressil mart@loomaaed.tartu.ee peab olema avalikus nimesüsteemis kirjeldatud domeeni loomaaed.tartu.ee MX (mail exchange, meilivahetuskoht) kirje. Selleks tuleb pöörduda nimeteenuse pakkuja poole ning öelda milline on kasutatav avalik ip aadress ning millist domeeninime soovitakse kasutama asuda, põhimõtteliselt saab tehnilises mõttes sellise soovi alusel avalikus nimesüsteemis vajalikud muudatused teha. |
− | root@arvuti.sisedomee www-bounce@valisdomeen.ee
| |
| | | |
− | Muudatuste kehtestamiseks tuleb generic'ikile vastav andmebaas moodustada käsuga
| + | MX kirje näeb välja nt selline |
| | | |
− | # postmap /etc/postfix/generic | + | $ dig @ns.nimeserver.ee loomaaed.tartu.ee mx |
− | | + | ... |
− | ning laadida reload'iga Postfix.
| + | ;; QUESTION SECTION: |
− | | + | ;looomaaed.tartu.ee. IN MX |
− | ===Kasutamine===
| |
− | | |
− | Aliase olemasolu kontrollimiseks sobib öelda
| |
− | | |
− | # postmap -q mart@loomaaed.tartu.ee pgsql:/etc/postfix/pgsql-local.cf
| |
− | | |
− | Kirjade sabast ära saatmiseks
| |
− | | |
− | # postqueue -f | |
− | | |
− | ===Kirjade töötlemine välise programmiga===
| |
− | | |
− | Ühel või teisel põhjusel võib olla vaja sellist asjakorraldus, et kas postisüsteemi kõiki või vaid teatud tunnustele vastavaid kirju saaks töödelda välise programmiga. Ja selliselt, et väline programm saab andmeid oma stdio'sse ning järele mõned argumendid. Üheks võimaluseks seda korraldada on kostümiseeritud transporti kirjeldamise abil.
| |
− | | |
− | * /etc/postfix/main.cf faili tuleb lisada rida
| |
− | | |
− | transport_maps = hash:/etc/postfix/transport | |
− | | |
− | * /etc/postfix/transport failis peab sisalduma nt rida
| |
− | | |
− | loomaaed.tartu.ee pf | |
− | | |
− | ning tuleb öelda
| |
− | | |
− | # postmap /etc/postfix/transport
| |
− | | |
− | * /etc/postfix/master.cf failis peab sisaldub sektsioon
| |
− | | |
− | pf unix - n n - - pipe
| |
− | flags=RDX user=programmikasutaja argv=/bin/pf.pl ${user} ${domain}
| |
− | | |
− | ning kui /bin/pf.pl sisaldab nt
| |
− | | |
− | #!/usr/bin/perl
| |
− | open (fh, ">>/tmp/pf.log");
| |
| | | |
− | print fh "$ARGV[0]\n"; | + | ;; ANSWER SECTION: |
− | print fh "$ARGV[1]\n\n\n"; | + | looomaaed.tartu.ee. 300 IN MX 20 mail.loomaaed.tartu.ee. |
| | | |
− | @read=<STDIN>; | + | ;; AUTHORITY SECTION: |
− |
| + | looomaaed.tartu.ee. 300 IN NS ns1.loomaaed.tartu.ee. |
− | foreach $rida (@read) {
| + | looomaaed.tartu.ee. 300 IN NS ns2.loomaaed.tartu.ee. |
− | print fh $rida;
| + | |
− | } | + | ;; ADDITIONAL SECTION: |
− | | + | mail.loomaaed.tartu.ee. 300 IN A 192.168.0.24 |
− | Siis selle faili algusse kirjutatakse epostiaadressi @ märgist vasemale ja paremale jääv osa erinevatele ridadele ning kirja sisu kusjuures lisatakse päisele mõned read vastavalt sellele, mida lipud flags järel ütlevad.
| + | ns1.loomaaed.tartu.ee. 86400 IN A 192.168.193.163 |
− | | + | ns2.loomaaed.tartu.ee. 86400 IN A 192.168.193.164 |
− | ===Logi ja debugimine===
| |
− | | |
− | Kui mingil põhjusel on tarvis uurida mõnda parasjagu sabas olevat kirja, siis sobib selleks programm postcat. Tavaliselt saab logist või mailq programmi väljundist teada kirja identifikaatori ning selle abil õnnesub sabast kirjale vastav fail üles leida.
| |
− | | |
− | # mailq
| |
− | ....
| |
− | C558C4DC80 794 Sat Dec 20 10:18:55 bounce@loomaaed.tartu.ee | |
− | (connect to smtp-gw.loomaaed.tartu.ee[10.0.2.5]: Connection refused)
| |
− | mart@loomaaed.tartu.ee
| |
− | .. | |
− | # find /var/spool/postfix -name C558C4DC80 -ls
| |
− | 313873 4 -rw------- 1 postfix postfix 257 Dec 21 23:14 /var/spool/postfix/defer/C/C558C4DC80
| |
− | 318592 4 -rwx------ 1 postfix postfix 1001 Dec 22 00:20 /var/spool/postfix/deferred/C/C558C4DC80
| |
− |
| |
− | # postcat /var/spool/postfix/deferred/C/C558C4DC80
| |
− | ...
| |
− | nö inimloetaval kujul formateeritud väljund
| |
| | | |
− | Kui on vajadus sabas olev kiri kustutada, siis ei tohiks seda teha niisama failisüsteemist vastavate failide kustutamise teel vaid tuleb kasutada nt programmi postsuper, öeldes | + | Kui kasutaja internetist püüab saata kirja aadressile mart@loomaaed.tartu.ee, siis toimub selline järgnevus |
| | | |
− | # postsuper -d C558C4DC80
| + | * kasutaja süsteemi postiedastusagent küsib avalikust nimesüsteemist loomaaed.tartu.ee postimasina nime, saab teada MX kirjest teada, et postimasina nimi on mail.loomaaed.tartu.ee |
| + | * kasutaja süsteemi postiedastusagent saab lisaks A kirjest teada, et mail.loomaaed.tartu.ee postimasin asub aadressil 192.168.0.24 |
| + | * kasutaja süsteemi postiedastusagent võtab aadressile mart@loomaaed.tartu.ee kirja saamise asjus ühendust soketil 192.168.0.25:25 töötava postiedastusagendiga |
| | | |
− | ===Spämmi tõrjumine Postfixi sisemiste vahenditega=== | + | ====PTR kirje==== |
| | | |
− | Näiteks sobib kasutada sellist parameetrit selliste väärtustega
| + | Tihtipeale on teised internetis töötavad postimasinad seadistatud käima selliselt, et nad konktrollivad, kas MX kirje domeeninimele (mail.loomaaed.tartu.ee) vastava ip aadressi (192.168.0.24) pöördteisendus on olemas, või veel enam, langeb kokku MX domeeninimega. Sellise kontrolli läbimiseks peab olema nimesüsteemis seadistatud korrentne PTR kirje, antud juhul selline |
| | | |
− | smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_access, | + | $ dig -x 192.168.0.24 |
− | reject_unknown_sender_domain, permit_mynetworks, reject_unauth_destination,
| |
− | reject_rbl_client bl.spamcop.net,
| |
− | reject_rbl_client cn-kr.blackholes.us,
| |
− | reject_rbl_client nigeria.blackholes.us,
| |
− | reject_rbl_client argentina.blackholes.us,
| |
− | reject_rbl_client proxies.blackholes.easynet.nl
| |
− | | |
− | ===Andmevahetuse krüptimine===
| |
− | | |
− | Selleks, et server võimaldaks krüptida smtp klientide sissetulevaid ühendusi peavad olema seadistusfailis main.cf read
| |
− | | |
− | smtpd_tls_key_file = /etc/postfix/serdid/smtp.loomaaed.tartu.ee.pem
| |
− | smtpd_tls_cert_file = /etc/postfix/serdid/smtp.loomaaed.tartu.ee.crt
| |
− | smtpd_tls_CAfile = /etc/postfix/serdid/loomaaed-ca.crt
| |
− | smtpd_use_tls=yes
| |
− | smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
| |
− | | |
− | kus
| |
− | | |
− | * smtpd_tls_key_file näitab, millises failis asub sertifikaadile vastav salajane võti
| |
− | * smtpd_tls_cert_file näitab, millises failis asub sertifikaat
| |
− | * smtpd_tls_CAfile näitab, millises failis asuvad sertifikaadi allkirjastanud ahela ülemised sertifikaadid
| |
− | | |
− | Selleks, et teha kindlaks, kas postiserver toetab SMTP STARTSSL laiendust sobib öelda
| |
− | | |
− | $ openssl s_client -starttls smtp -showcerts -connect 192.168.1.251:25
| |
− | | |
− | ===Postisüsteemi testimine===
| |
− | | |
− | TODO
| |
− | | |
− | ====Jõudlus====
| |
− | | |
− | TODO
| |
− | | |
− | ====Spam====
| |
− | | |
− | Aadressil http://spamassassin.apache.org/gtube/ on nö standard spammi, mille nt Spamassassin peaks avastama
| |
− | | |
− | XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
| |
− | | |
− | Katsetamiseks tuleks see järgnevus sisestada kirja eraldi reane reavahetusega lõpus.
| |
− | | |
− | ====Viirus====
| |
− | | |
− | Aadressil http://www.eicar.org/anti_virus_test_file.htm on nö standardne viirus, mille nt ClamAV peaks avastama
| |
− | | |
− | X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
| |
− | | |
− | Katsetamiseks tuleks see salvestada tekstifaili reavahetusega lõpus ning lisada kirjale.
| |
− | | |
− | ===Amavis===
| |
− | | |
− | Põhimõtteliselt Amavis http://www.ijs.si/software/amavisd/ tarkvara iseseisvalt sisulist lisaväärtust postisüsteemile ei paku, aga ta võimaldab ühendada Postfix'i kokku väliste teenustega, näiteks viiruste analüüsi tarkvaraga ClamAV.
| |
− | | |
− | ====Postfix+Amavis logi lugemine====
| |
− | | |
− | Kui Postfixiga on ühendatud Amavis (ja omakorda sellega nt ClamAV), siis mail.log faili lugemine osutub pisut keerukamaks, ka seetõttu, et logitud kirjed ei paista olevat nö õiges järjekorras. Nt sellist 'tegelikku' logi
| |
− | | |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2149]: 08F142ECE1: client=moraal.auul[192.168.2.38]
| |
− | Feb 8 23:10:35 smtp1a postfix/cleanup[2146]: 08F142ECE1: message-id=<alpine.DEB.1.10.0902082310300.2613@moraal.auul>
| |
− | Feb 8 23:10:35 smtp1a postfix/qmgr[2141]: 08F142ECE1: from=<priit@loomaaed.tartu.ee>, size=505, nrcpt=1 (queue active)
| |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2149]: disconnect from moraal.auul[192.168.2.38]
| |
| | | |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2144]: 2FA992ECF5: client=localhost.localdomain[127.0.0.1] | + | ;; QUESTION SECTION: |
− | Feb 8 23:10:35 smtp1a postfix/cleanup[2146]: 2FA992ECF5: message-id=<alpine.DEB.1.10.0902082310300.2613@moraal.auul> | + | ;24.0.168.192.in-addr.arpa. IN PTR |
− | Feb 8 23:10:35 smtp1a postfix/qmgr[2141]: 2FA992ECF5: from=<priit@loomaaed.tartu.ee>, size=885, nrcpt=1 (queue active)
| |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2144]: disconnect from localhost.localdomain[127.0.0.1]
| |
| | | |
− | Feb 8 23:10:35 smtp1a amavis[2039]: (02039-03) Passed CLEAN, LOCAL [192.168.2.38] [192.168.2.38] <priit@loomaaed.tartu.ee> -> <mart@loomaaed.tartu.ee>, \ | + | ;; ANSWER SECTION: |
− | Message-ID: <alpine.DEB.1.10.0902082310300.2613@moraal.auul>, mail_id: C+vCuhHWo1Nb, Hits: -, size: 505, queued_as: 2FA992ECF5, 84 ms
| + | 24.0.168.192.in-addr.arpa. 300 IN PTR mail.loomaaed.tartu.ee. |
| | | |
− | Feb 8 23:10:35 smtp1a postfix/smtp[2142]: 08F142ECE1: to=<mart@loomaaed.tartu.ee>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.19, \ | + | ;; AUTHORITY SECTION: |
− | delays=0.1/0/0/0.09, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=02039-03, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 2FA992ECF5)
| + | 0.168.192.in-addr.arpa. 86400 IN NS ns1.loomaaed.tartu.ee. |
− | Feb 8 23:10:35 smtp1a postfix/qmgr[2141]: 08F142ECE1: removed
| + | 0.168.192.in-addr.arpa. 86400 IN NS ns2.loomaaed.tartu.ee. |
− |
| |
− | Feb 8 23:10:35 smtp1a postfix/smtp[2147]: 2FA992ECF5: to=<mart@loomaaed.tartu.ee>, relay=smtp.loomaaed.tartu.ee[192.168.32.85]:25, delay=0.03, \
| |
− | delays=0.01/0/0/0.02, dsn=2.0.0, status=sent (250 Ok: queued as 199E24DD30)
| |
− | Feb 8 23:10:35 smtp1a postfix/qmgr[2141]: 2FA992ECF5: removed
| |
| | | |
− | võiks selguse parema arusaamise mõttes lugeda sellises järjekorras
| + | ===Postimasina ettevalmistamine=== |
| | | |
− | * Postfix võtab kliendilt (moraal.auul) message id'ga 'alpine.DEB.1.10.0902082310300.2613@moraal.auul' kirja vastu, Postfixi sisemine kirja id on 08F142ECE1
| + | Postimasinas tuleks esmalt kontrollida, kas arvuti nimi on korrektselt seadistatud. Antud juhul peaks olema failis /etc/hostname kirjas |
| | | |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2149]: 08F142ECE1: client=moraal.auul[192.168.2.38] | + | # cat /etc/hostname |
− | Feb 8 23:10:35 smtp1a postfix/cleanup[2146]: 08F142ECE1: message-id=<alpine.DEB.1.10.0902082310300.2613@moraal.auul>
| + | mail |
− | Feb 8 23:10:35 smtp1a postfix/qmgr[2141]: 08F142ECE1: from=<priit@loomaaed.tartu.ee>, size=505, nrcpt=1 (queue active)
| |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2149]: disconnect from moraal.auul[192.168.2.38] | |
| | | |
− | * Postfix saadab kirja 08F142ECE1 edasi Amavisile, kusjuures see rida sisaldab ka infot selle kohta, et amavis reinjectis selle kirja tagasi Postfixi id'ga 2FA992ECF5
| + | ning failis /etc/hosts kirjas |
| | | |
− | Feb 8 23:10:35 smtp1a postfix/smtp[2142]: 08F142ECE1: to=<mart@loomaaed.tartu.ee>, relay=127.0.0.1[127.0.0.1]:10024, delay=0.19, \ | + | # cat /etc/hosts |
− | delays=0.1/0/0/0.09, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=02039-03, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 2FA992ECF5)
| + | 127.0.0.1 localhost.localdomain localhost |
| + | 192.168.96.138 mail.loomaaed.tartu.ee mail |
| | | |
− | * Amavis töötleb message id'ga 'alpine.DEB.1.10.0902082310300.2613@moraal.auul' kirja, peale Postfixi reinjecti on selle kirja id väärtus 2FA992ECF5
| + | Kontrollimiseks peab hostname programmile süsteem vastama nii |
| | | |
− | Feb 8 23:10:35 smtp1a amavis[2039]: (02039-03) Passed CLEAN, LOCAL [192.168.2.38] [192.168.2.38] <priit@loomaaed.tartu.ee> -> <mart@loomaaed.tartu.ee>, \
| + | # hostname |
− | Message-ID: <alpine.DEB.1.10.0902082310300.2613@moraal.auul>, mail_id: C+vCuhHWo1Nb, Hits: -, size: 505, queued_as: 2FA992ECF5, 84 ms
| + | mail |
| + | # hostname -f |
| + | mail.loomaaed.tartu.ee |
| | | |
− | * Postix võtab vastu kirja Amaviselt ning kirja töötlemine viiakse lõpuni, kiri saadetakse edasi järgmisele postimasinale, smtp.loomaaed.tartu.ee
| + | Olgu postimasin ühendatud võrku nii nagu punktis Eesmärk on esitatud, kusjuures |
| | | |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2144]: 2FA992ECF5: client=localhost.localdomain[127.0.0.1]
| + | * tulemüürist peab saama pöörduda postimasina pordile 25/tcp |
− | Feb 8 23:10:35 smtp1a postfix/cleanup[2146]: 2FA992ECF5: message-id=<alpine.DEB.1.10.0902082310300.2613@moraal.auul>
| + | * postimasin peab saama pöörduda internetti pordile 25/tcp |
− | Feb 8 23:10:35 smtp1a postfix/qmgr[2141]: 2FA992ECF5: from=<priit@loomaaed.tartu.ee>, size=885, nrcpt=1 (queue active)
| + | * postimasin peab saama nimesid lahendada |
− | Feb 8 23:10:35 smtp1a postfix/smtpd[2144]: disconnect from localhost.localdomain[127.0.0.1]
| |
− | Feb 8 23:10:35 smtp1a postfix/smtp[2147]: 2FA992ECF5: to=<mart@loomaaed.tartu.ee>, relay=smtp.loomaaed.tartu.ee[192.168.32.85]:25, delay=0.03, \
| |
− | delays=0.01/0/0/0.02, dsn=2.0.0, status=sent (250 Ok: queued as 199E24DD30)
| |
− | Feb 8 23:10:35 smtp1a postfix/qmgr[2141]: 2FA992ECF5: removed
| |
| | | |
− | ===Razor===
| + | Lisaks võiks postimasinas olla seadistatud selline tarkvara |
| | | |
− | Tarkvara paigaldamiseks tuleb öelda
| + | * ntp - ajaserver, õigemini küll kliendi rollis |
| + | * lokaat |
| + | * syslog |
| | | |
− | # apt-get install razor
| + | ===Tarkvara paigaldamine=== |
| | | |
− | Spamassassin + Razor koos kasutamiseks ei tule iseenesest teha muud kui tarkvara paigaldada, Spamassassin kasutab Razorit automaatselt kui see on süsteemi paigaldatud.
| + | Postfix tarkvara v. 2.5.5 saab paigaldada Debian Lenny paketihaldusest öeldes |
| | | |
− | ===Pyzor===
| + | bash# apt-get install postfix postfix-doc |
| | | |
− | Tarkvara paigaldamiseks tuleb öelda
| + | Tavaliselt siis eemaldatakse vaikimisi Debiani standard operatsioonisüsteemi kooseisus esinev Exim Postfixi vastu. Postfixi paigaldamisel tuleb valida 'General type of configuration', valime 'Internet Site' |
| | | |
− | # apt-get install pyzor
| + | [[Pilt:Postfix-1.gif]] |
− | # pyzor discover
| |
− | # pyzor ping
| |
− | public.pyzor.org:24441 (200, 'OK')
| |
| | | |
− | Teksti kontrollimiseks tuleb öelda
| + | Seejärel küsitakse 'mail name' väärtust, see hakkab esinema läbi selle postisüsteemi välja saadetud kirjade eposti aadresside @ märgist paremal |
| | | |
− | $ cat /tmp/sample-spam.txt | pyzor check | + | loomaaed.tartu.ee |
− | public.pyzor.org:24441 (200, 'OK') 153 0
| |
| | | |
− | ===DCC===
| + | Seejärel tekitatakse kasutaja, genereeritakse seadistusfailid ja käivitatakse Postfix. |
| | | |
− | Kuigi Spamassassin sisaldab DCC pluginat on see vaikimisi sisse lülitamata, kuna juba mõnda aega ei sisalda litsentsitingumuste tõttu Debiani paketihalduses dcc-client paketti.
| + | Setting up postfix (2.5.5-1.1) ... |
− | | + | Adding group `postfix' (GID 107) ... |
− | ===Cyrus===
| + | Done. |
− | | + | Adding system user `postfix' (UID 105) ... |
− | Postkastihalduse tarkvara Cyrus sisaldab muu hulgas selliseid komponente
| + | Adding new user `postfix' (UID 105) with group `postfix' ... |
− | | + | Not creating home directory `/var/spool/postfix'. |
− | * haldusvahendid (cyradm programm)
| + | Creating /etc/postfix/dynamicmaps.cf |
− | * imap server
| + | Adding tcp map entry to /etc/postfix/dynamicmaps.cf |
− | * pop3 server
| + | Adding group `postdrop' (GID 108) ... |
− | * testkliendid (IMAP serveri testklientprogramm imtest)
| + | Done. |
− | | + | setting myhostname: mail.loomaaed.tartu.ee |
− | Cyrus tarkvaraga saab pealnäha sarnase tulemuse, so postkastide pidamise saavutada üsna mitmel erineval moel. Käesolev tekst kirjeldab järgmisete omadustega juhtumit
| + | setting alias maps |
− | | + | setting alias database |
− | * kõik Cyruse protsessid töötavad ühes ja samas operatsioonisüsteemi eksemplaris
| + | changing /etc/mailname to loomaaed.tartu.ee |
− | * Cyruse imap klientide andmed tulevad välisest PostgreSQL andmebaasist SASL ja omakorda PAM abil
| + | setting myorigin |
− | * Postfix kasutab PostgreSQL andmebaasi, millest saab teada millistele aadressidele tuleb teha local delivery Cyruse abil
| + | setting destinations: loomaaed.tartu.ee, mail.loomaaed.tartu.ee, localhost.loomaaed.tartu.ee, localhost |
− | * Cyruse postkastidesse saabuvad kirjad Postfix MTA'st LMTP protokolli kasutamise teel
| + | setting relayhost: |
− | * Cyruse postkastidele on ligipääs IMAP ja POP3 serverite kaudu, krüptitud ja krüptimata andmevahetust võimaldades
| + | setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 |
− | | + | setting mailbox_size_limit: 0 |
− | Sellisel moel käivitatud Cyruse kasutuselevõtmiseks tuleb sooritada näiteks selline tegevuste järgnevus
| + | setting recipient_delimiter: + |
− | | + | setting inet_interfaces: all |
− | * paigaldada vajalik hulk Cyrus'e komponent
| + | /etc/aliases does not exist, creating it. |
− | * valmistada ette PostgreSQL andmebaas
| + | WARNING: /etc/aliases exists, but does not have a root alias. |
− | * valmistada ette PAM komponent
| |
− | * valmistada ette SASL komponent
| |
− | * seadistada Cyrusele administratiivne kasutaja ning tekitada tavakasutajale postkast
| |
− | * seadistada Cyrus käima koos Postfixiga
| |
− | | |
− | ====Cyrus tarkvara paigaldamine====
| |
− | | |
− | Cyrus'e paigaldamiseks tuleb öelda
| |
− | | |
− | # apt-get install cyrus-pop3d-2.2 cyrus-imapd-2.2 cyrus-doc-2.2 cyrus-clients-2.2 cyrus-admin-2.2 libsasl2-modules libsasl2-2 sasl2-bin
| |
− | | |
− | Cyrus tarkvara seadistamine toimub peaasjalikult seadistusfaili /etc/imapd.conf muutmise teel. Selleks, et Cyrus kasutaks SASLi antud juhtumi jaoks sobival moel, peavad failis /etc/imapd.conf sisalduma read
| |
− | | |
− | sasl_mech_list: PLAIN
| |
− | sasl_pwcheck_method: saslauthd
| |
− | | |
− | Cyrus käivitusskript on
| |
− | | |
− | # /etc/init.d/cyrus2.2
| |
− | | |
− | Cyruse tööd kontrollivad lisaks olulised failid seadistusfailide kataloogist (ingl. k. configuration directory), vaikimisi /var/lib/cyrus
| |
− | | |
− | * /var/lib/cyrus/proc - kataloogis asuvad teenust parasjagu kasutavate kasutajate protsessiinfo failid
| |
− | * /var/lib/cyrus/quota - kataloogis asuvad kasutajate kvootide määratlused
| |
− | * /var/lib/cyrus/user - kataloogis asuvad kasutajate .seen ja .sub failid
| |
− | * /var/lib/cyrus/mailboxes.db -
| |
− | * /var/lib/cyrus/deliver.db -
| |
− | * /var/lib/cyrus/tls_sessions.db -
| |
− | * /var/lib/cyrus/annotations.db -
| |
− | | |
− | ====PostgreSQL andmebaasi ettevalmistamine====
| |
− | | |
− | PostgreSQL andmebaasi tabelis hoitakse Cyruse kasutajate autentimiseks vajalikke andmeid.
| |
− | | |
− | ====PAM komponendi ettevalmistamine====
| |
− | | |
− | PostgreSQLi andmebaasi kasutamiseks peab paigaldama paketi üldotstarbelise paketi libpam-pgsql
| |
− | | |
− | # apt-get install libpam-pgsql | |
− | | |
− | PAM komponendi ettevalmistamine toimub failide /etc/pam.d/imap, /etc/pam.d/pop ning /etc/pam_pgsql.conf abil
| |
− | | |
− | # cat /etc/pam.d/imap (sama ka failis /etc/pam.d/pop)
| |
− | auth required pam_pgsql.so
| |
− | account required pam_pgsql.so
| |
− | password required pam_pgsql.so
| |
− | | |
− | ning
| |
− | | |
− | # cat /etc/pam_pgsql.conf | |
− | host = andmebaasi.hostname
| |
− | database = andmebaasinimi
| |
− | user = cyrus_auth | |
− | password = cyrus_auth_parool
| |
− | table = skeeminimi.tabelinimi
| |
− | user_column = username
| |
− | pwd_column = passwd
| |
− | expired_column = expire_status
| |
− | newtok_column = newtok
| |
− | debug
| |
− | pw_type = md5
| |
− | | |
− | ====SASL komponendi ettevalmistamine====
| |
− | | |
− | SASL kompoenendi seadistamine toimub faili /etc/default/saslauthd abil, antud juhtumil on oluline, et SASL deemon oleks käivitatav
| |
− | | |
− | START=yes
| |
− | | |
− | ning et SASL töötaks vastu PAM'i
| |
− | | |
− | MECHANISMS="pam"
| |
− | | |
− | ====Cyruse administratiivne kasutaja ja kasutajate haldus====
| |
− | | |
− | Cyrus töö käigus kasutatakse mitmeid nö andmebaase
| |
− | | |
− | * kirjade andmebaas - failisüsteemis salvestatakse iga kiri eraldi faili, vaikimisi asub see kataloogis /var/spool/cyrus/mail; igas postkasti kataloogis on lisaks kirjadele alati kolm faili, cyrus.cache, cyrus.index ja cyrus.header
| |
− | * postkastide andmebaas - failis /var/lib/cyrus/mailboxes.db on kirjas süsteemi Cyrus kasutajate ja nende postkastide andmebaas ning mida redigeeritakse cyradmin programmiga
| |
− | * duplikaatide andmebaas - failis /var/lib/cyrus/deliver.db on andmebaas, mida Cyrus kasutab topelt-sõnumite avastamiseks (nt kui saabub sama message id ja ümbriku väärtusega kiri mitu korda; käsuga '/usr/sbin/ctl_deliver -d' näeb selle baasi sisu)
| |
− | * Cyruse kasutajate andmebaas - antud juhul asub PostgreSQLi andmebaasis
| |
− | | |
− | | |
− | Cyruse administratiivse kasutaja kasutajanimi on kirjas seadistusfailis /etc/imapd.conf, näiteks võiks selleks olla 'cyrus'
| |
− | | |
− | admins: cyrus
| |
− | | |
− | Administratiivne kasutaja saab kasutada cyradmin programmi teistele kasutajatele Cyruse postkastide moodustamiseks. Enne kui kasutajana cyrus saab cyradmin programmi kasutada, peab olema see kasutaja PostgreSQL andmebaasi lisatud.
| |
− | | |
− | Postisüsteemi kasutaja moodustamiseks tuleb kasutaja administratiivse kasutajana cyrus moodustada esmalt sellele kasutajale postkast öeldes
| |
− | | |
− | $ cyradmin --user cyrus localhost
| |
− | IMAP Password:
| |
− | localhost.localdomain> cm user.mart
| |
− | localhost.localdomain> sq user.mart 200000 | |
− | localhost.localdomain> quit
| |
− | | |
− | ning lisaks tuleb kasutaja mart lisada ka PostgreSQL andmebaasi. Seejärel saab kasutaja mart üle IMAP protokolli süsteemi logida. Testimiseks sobib kasutada Cyrus tarkvaraga kaasa tulevat imap klienti imtest, näiteks selliselt
| |
− | | |
− | $ imtest -a mart -u mart localhost -w mardiparool
| |
− | S: * OK smtp2a Cyrus IMAP4 v2.2.13-Debian-2.2.13-14+b3 server ready
| |
− | C: C01 CAPABILITY
| |
− | S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE
| |
− | S: C01 OK Completed
| |
− | C: L01 LOGIN mart {7}
| |
− | S: + go ahead
| |
− | C: <omitted>
| |
− | S: L01 OK User logged in
| |
− | Authenticated.
| |
− | Security strength factor: 0
| |
− | . list "" "*"
| |
− | * LIST (\HasChildren) "." "INBOX"
| |
− | . OK Completed (0.000 secs 6 calls)
| |
− | . logout
| |
− | * BYE LOGOUT received
| |
− | . OK Completed
| |
− | Connection closed.
| |
− | | |
− | Postkastide haldamise üheks eesmärgiks on seada õigused, millised kasutajad saavad kasutada milliseid postkaste. Vaikimisi on ainult kasutajal endal piiranguteta ligipääs enda postkastile ja seal all olevatele kataloogidele. Cyrus võimaldab ühe kasutaja postkastile või selle mõnele kataloogile lisaks tekitada ligipääsu teise kasuja jaoks. Nt selleks, et kasutaja mart postikasti kataloogi user.mart.bugtraq näeks ka kasutaja priit tuleb öelda cyruse administraatoril
| |
− | | |
− | localhost.localdomain> sam user.mart priit lr
| |
− | localhost.localdomain> lam user.mart
| |
− | mart lrswipcda
| |
− | priit lr
| |
− | | |
− | Ühe kasutaja postkastile teisele kasutaja jaoks ligipääsu võimaldamise abil saab moodustada nn shared foldereid ja bulletin board'e, mis sisuliselt on nö pseudokasutajale kuuluvad postkastid. Tavaliselt on vastavatele postkastidele antud lugemisõigus mitmetele kasutajatele ning mõnele lisaks rohkem õigusi, nt seal kirjade või sinna kirjade kopeerimine kustutamine. Näiteks võiks sellise shared folderi kasutamine toimuda eesmärgiga, et nii ei pea iga üksik kasutaja oma personaalsele aadressile tellima listi kirju. Et kasutaja saaks ligi teise kasutaja välja jagatud postkasti kataloogile tuleb tal enda postiprogrammi abil sinna ennast subskribeerida.
| |
− | | |
− | 2008 aasta kontekstis võib tunduda selline IMAP tarkvara kasutamine grupitöövahendina suhteliselt kohmakas, kuid teatud tingimustel võib olla see ka jätkuvalt asjakohane.
| |
− | | |
− | ====Kirjade automaatne jagamine postkastidesse====
| |
− | | |
− | Cyrus tarkvara koosseisu kuuluv sieve (ingk. k. sõel) võimaldab nt kirja päise ridade alusel korraldada kirjade salvestamist kasutaja postkasti erinevatesse kataloogidesse (ingl. k. folder).
| |
− | | |
− | Selleks tuleb esmalt moodustada tekstifail, nt
| |
− | | |
− | $ cat /var/spool/sieve/m/mart/default | |
− | require "fileinto";
| |
− | if header :contains "List-Id" "debian-mirrors.lists.debian.org" {
| |
− | fileinto "INBOX.d-m";}
| |
− | elsif header :contains "To" "mart.kask@loomaaed.tartu.ee" {
| |
− | fileinto "INBOX.@loomaaed.tartu.ee";}
| |
− | else {
| |
− | fileinto "INBOX";}
| |
− | | |
− | Antud juhul ütleb sieve fail, et
| |
− | | |
− | * kirjad, mille päises List-Id: rida sisaldab väärtust debian-mirrors.lists.debian.org tuleb kopeerida kataloogi d-m
| |
− | * kirjad, mille päises To: rida sisaldab väärtust mart.kast@loomaaed.ee tuleb kopeerida kataloogi @loomaaed.ee
| |
− | * ülejäänud kirjad kopeeritakse lihtsalt inboxi
| |
− | | |
− | Tööks tuleb tekstifaili alusel moodustada nn byte-code fail öeldes
| |
− | | |
− | $ /usr/lib/cyrus/bin/sievec /var/spool/sieve/m/mart/default /var/spool/sieve/m/mart/defaultbc
| |
− | | |
− | Subject kasutamisel tuleb arvestada, et nn täpitähtede puhul on subject kodeeritud.
| |
− | | |
− | ====Cyruse seadistamine käima koos Postfixiga====
| |
− | | |
− | Selleks, et Postfix annaks LMTP (Local Mail Transport Protocol) protokolli abil kirjad edasi Cyrusele sobib kasutada Postfixi transport'i. Transport moodustatakse tekitades tekstifail
| |
− | | |
− | # cat /etc/postfix/transport | |
− | loomaaed.tartu.ee lmtp:unix:/var/run/cyrus/socket/lmtp
| |
− | | |
− | ning öeldes
| |
− | | |
− | # postmap /etc/postfix/transport | |
− | | |
− | mille tulemusena tekib Berkeley DB andmebaasi formaadis fail
| |
− | | |
− | /etc/postfix/transport.db
| |
− | | |
− | Moodustatud transporti kasutamiseks peab /etc/postfix/main.cf failis sisalduma rida
| |
− | | |
− | transport_maps = hash:/etc/postfix/transport | |
− | | |
− | Kusjuures, selleks, et kasutaja postfix saaks sellesse unixi soketisse kirjutada, peab nt lisama postfix kasutaja gruppi mail ning nt kontrollima /etc/postfix/master.conf failis, et lmtp juures ei oleks chroot kirjeldatud.
| |
− | | |
− | Kui Cyruse kasutajate andmed on kirjas nt PostgreSQL andmebaasis, siis tuleb lisaks paigaldada postfix-pgsql pakett, mille lisamisel tehakse sissekanne faili /etc/postfix/dynamicmaps.cf ning lisada seadistusfaili main.cf rida
| |
− | | |
− | virtual_alias_maps = pgsql:/etc/postfix/cyrus.cf | |
− | relay_domains = loomaaed.tartu.ee
| |
− | | |
− | kus /etc/postfix/cyrus.cf sisu on
| |
− | | |
− | user = cyrus_auth | |
− | password = parool | |
− | hosts = baas.loomaaed.tartu.ee | |
− | dbname = postisysteem | |
− | table = loomaaed.cyrus_auth | |
− | select_field = rcpt
| |
− | where_field = alias
| |
− | | |
− | ====Cyrus tarkvara uuendamine====
| |
− | | |
− | Cyrus tarkvara järgmised versioonid sisaldavad reeglina vigade parandusi ja uut funktsionaalsust kusjuures tavaliselt säilib olemasolev funktsionaalsus. Reeglina Cyrus tarkvara uuendamisel kasutajate andmed säilitatakse asendades Cyruse nn mootori uuema versiooni vastu. Üldiselt tuleb vanast versioonist võtta kaasa sellised andmed
| |
− | | |
− | * andmete partitsioonile vastav kataloog (nt 'partition-default: /srv/cyrus/mail'), st kasutajate kirjad
| |
− | * uusi seadistusfaile tuleb kohendada olemasolevate alusel, /etc/cyrus.conf ja /etc/imapd.conf
| |
− | * andmed kasutajate autoriseerimiseks, pam seadistused /etc/pam_pgsql.conf, /etc/pam.d/{imap,pop}, andmebaas kasutajate nimede/paroolidega
| |
− | * postkastide andmebaas, /var/lib/cyrus/mailboxes.db
| |
− | * kasutajate quotad, /var/lib/cyrus/quota
| |
− | * kasutajate sieve'id, /var/spool/sieve
| |
− | * kasutajate postkastide olekud, loetud/lugemata kirjade eristused jms, /var/lib/cyrus/user, nn *.seen andmebaasid
| |
− | | |
− | Uuenduse tegemisel tuleb tutvuda paketis cyrus-doc-* paketist upgrade'i juhendiga. Tavaliselt juhitakse seal tähelepanu lisaks muudele asjaoludele sellele, et andmebaaside (mailboxes.db, *.seen) jt formaadid oleksid sobivad. Vajadusel saab neid baase teisendada, nt
| |
− | | |
− | $ /usr/sbin/cvt_cyrusdb /var/lib/cyrus/mailboxes.db skiplist /var/lib/cyrus/mailboxes.db-berkeley berkeley | |
− | | |
− | teisendab skiplist foraadis baasi berkeley formaati.
| |
− | | |
− | Lisaks, tundub, et kui uude süsteemid kopeerida mailboxes.db, siis samal ajal tuleks kustutada sellised failid, samal ajal peab Cyrus seisma
| |
− | | |
− | $ ls -l annotations.db db/* db.backup*/* deliver.db tls_sessions.db
| |
− | | |
− | Need moodustatakse käivitamisel uuesti.
| |
− | | |
− | ===IMAP kliendid===
| |
− | | |
− | IMAP klientprogrammid on tavaliselt need programmid mida postisüsteemi kasutaja kasutab saabunud kirjadede lugemiseks. Reeglina kasutaja kasutab neid ka kirjade saatmiseks kuigi kirja saatmine ja lugemine on kaks suhteliselt sõltumatut tegevust tehnilises mõttes.
| |
− | | |
− | ====Icedove====
| |
− | | |
− | Üsna levinud graafilise kasutajaliidesega postivahetusprogramm, oskab olla muu hulgas IMAPi klient.
| |
− | | |
− | Lisaks on võimalik paigaldada OpenPG kasutamiseks Enigmail laiendus öeldes
| |
− | | |
− | # apt-get install enigmail
| |
− | | |
− | ====Pine====
| |
− | | |
− | Üsna levinud nn pseudograafiline postivahetusprogramm, oskab olla muu hulgas IMAPi klient.
| |
− | | |
− | ===Sympa===
| |
− | | |
− | Tundub, et Debian Lenny paketihaldusega Sympa kasutamine ei ole võimalik. Sympa paigaldamine lähtetekstidest võiks toimuda selliselt.
| |
− | | |
− | ====Paigaldamine====
| |
− | | |
− | * Seadistada süsteemi sobiv lokaadi tugi, nt et_EE ja en_US, dpkg-reconfugure locales abil.
| |
− | * Sympa saadab nö esimese administraator parooli eposti teavitusena, seega on oluline, et süsteem saaks eposti välja saata, st tuleb seadistada töötav smtp osa.
| |
− | | |
− | Lihtsam on, kui enne Sympa lähtetekstis paigaldamist on paigaldatud sellised paketid (vt apt-cache show sympa -> Depends)
| |
− | | |
− | # apt-get build-dep sympa
| |
− | # apt-get install sympa (mitte paigaldaa, aga vaadata vajalikud sõltuvused)
| |
− | # apt-get install ftp wget ncftp unzip libconfig-yaml-perl libsoap-lite-perl \
| |
− | libcgi-pm-perl libcgi-simple-perl libwww-perl postfix \
| |
− | perl-suid libdbi-perl libdbd-pg-perl libarchive-zip-perl libmailtools-perl libmd5-perl libmsgcat-perl \
| |
− | libmime-perl libmime-base64-perl libio-stringy-perl libnet-ldap-perl libcgi-fast-perl libcrypt-ciphersaber-perl \
| |
− | libintl-perl libmime-charset-perl libmime-encwords-perl libtemplate-perl libxml-libxml-perl mhonarc sysklogd \
| |
− | system-log-daemon lsb-base adduser debconf
| |
− | | |
− | Lähtetekstis tuleb paigaldada
| |
− | | |
− | HTML::StripScripts
| |
− | HTML::StripScripts::Parser
| |
− | | |
− | Seejärel öelda
| |
− | | |
− | # ./configure | |
− | # make | |
− | # make instakll
| |
− | | |
− | ====Seadistamine====
| |
− | | |
− | Sympa hoiab oma andmeid andmebaasis, nt sobib kasutada PostgreSQL, baasi ettevalmistamine toimub öeldes
| |
− | | |
− | $ psql -U postgres -h hostname baasinimi < /usr/src/sympa-5.4.3/src/etc/script/create_db.Pg | |
− | | |
− | Sympa tööd saab juhtida veebipõhise haldusliidese abil. Nt sobib selline Apache virtualhost
| |
− | | |
− | <VirtualHost 10.0.6.222:80> | |
− | ServerAdmin mart@loomaaed.tartu.ee
| |
− | ServerName sympa.loomaaed.tartu.ee
| |
− | DocumentRoot "/home/sympa/www"
| |
| | | |
− | ErrorLog "/var/log/apache2/sympa.avalik.kit-error.log" | + | Postfix is now set up with a default configuration. If you need to make |
− | TransferLog "/var/log/apache2/sympa.avalik.kit-access.log" | + | changes, edit /etc/postfix/main.cf (and others) as needed. To view Postfix configuration |
| + | values, see postconf(1). |
| | | |
− | <Directory "/home/sympa/www"> | + | After modifying main.cf, be sure to run '/etc/init.d/postfix reload'. |
− | Options None
| |
− | AllowOverride All
| |
− | Order Deny,Allow
| |
− | Allow from All
| |
− | </Directory>
| |
| | | |
− | Alias /static-sympa /usr/local/sympa/static_content | + | Running newaliases |
− | ScriptAlias /sympa /usr/local/sympa/bin/wwsympa.fcgi | + | Stopping Postfix Mail Transport Agent: postfix. |
− | | + | Starting Postfix Mail Transport Agent: postfix. |
− | </VirtualHost> | + | Setting up postfix-doc (2.5.5-1.1) ... |
| | | |
− | Sympa seadistamine toimub peamiselt faili /etc/sympa.conf abil, olulised on järgmised määrangud
| + | Postfixiga on seotud failisüsteemis sellised kataloogid ning failid |
| | | |
− | domain loomaaed.tartu.ee
| + | * /etc/postfix - Postfixi seadistusfailid, kõige olulisemad on main.cf ja master.cf |
− | listmaster mart@loomaaed.tartu.ee
| + | * /etc/mailname - sisuga 'loomaaed.tartu.ee' |
− | lang en_US
| + | * /var/spool/postfix - saba (ingl. k. queue) |
− | supported_lang en_US,et_EE
| + | * /var/log/mail.* - logi |
− | db_type Pg
| + | * /usr - programmifailid ja teegid ning dokumentatsioon, erinevates kataloogides, 'dpkg -L postfix' ütleb |
− | db_name sympa
| + | * man 5 postconf - manuaal |
− | db_host 10.0.6.221
| + | * /etc/aliases - nn aliases andmebaas |
− | db_port 5432
| |
− | db_user postgres
| |
− | db_passwd sympa
| |
| | | |
− | ====Sympa käivitamine====
| + | Tarkvara paigaldamisel esitatud dialoogi saab edaspidi esile kutsuda öeldes |
| | | |
− | Sympa käivitamine toimub paigaldamise käigus paigaldatud käivitusskriptiga /etc/rc.d/init.d/sympa (mis ehk ilus kopeerida /etc/init.d/sympa'ks). Lisaks peab töötama Apache veebiserver.
| + | # dpkg-reconfigure postfix |
| | | |
− | Abiks on jälgida Sympa logi, vaikimini /var/log/syslog. Nt Sympa logib läbi veebiliidese antud korraldusi
| + | ===Postfixi seadistamine võtma vastu loomaaed.tartu.ee domeeni kirju=== |
| | | |
− | Dec 21 13:38:58 sympa wwsympa[25679]: [robot loomaaed.tartu.ee] [client 192.168.2.38] [user mart@loomaaed.tartu.ee] [list test]
| + | Parasjagu kehtestatud seadistusi saab küsida öeldes 'postconf -n', -n võti tähendab, et esitatakse seadistused, mis on /etc/postfix/main.cf failis kirjeldatud |
− | Dec 21 13:39:12 sympa wwsympa[25679]: [robot loomaaed.tartu.ee] [client 192.168.2.38] [user mart@loomaaed.tartu.ee] [list test] main::do_admin() do_admin
| |
| | | |
− | Mõne seadistusparameetri kehtestumiseks tuleb Sympale ja Apache'le stop ja start öelda.
| + | # postconf -n |
| + | alias_database = hash:/etc/aliases |
| + | alias_maps = hash:/etc/aliases |
| + | append_dot_mydomain = no |
| + | biff = no |
| + | config_directory = /etc/postfix |
| + | html_directory = /usr/share/doc/postfix/html |
| + | inet_interfaces = all |
| + | mailbox_size_limit = 0 |
| + | mydestination = loomaaed.tartu.ee, mail.loomaaed.tartu.ee, localhost.loomaaed.tartu.ee, localhost |
| + | myhostname = mail.loomaaed.tartu.ee |
| + | mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 |
| + | myorigin = /etc/mailname |
| + | readme_directory = /usr/share/doc/postfix |
| + | recipient_delimiter = + |
| + | relayhost = |
| + | smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache |
| + | smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) |
| + | smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem |
| + | smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key |
| + | smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache |
| + | smtpd_use_tls = yes |
| | | |
− | ===Mailman===
| + | Kõigi kehtestatud seadistusparameetrite nimekirja koos väärtustega näeb öeldes |
| | | |
− | Mailman (ingl. k. postiljon) http://www.list.org/ on postiloendite (ingl. k. list) pidamise tarkvara.
| + | # postconf |
| | | |
− | Järgnevas kirjaldame kuidas saavutada sellist eesmärki
| + | ning vaikeväärtustega nimekirja öeldes |
| | | |
− | * ühe Mailman eksempari abil peetakse kolme domeeniga seotud postiloendeid, @lists.loomaaed.tartu.ee, @lists.vagunitehas.tartu.ee, @lists.raudteejaam.tartu.ee
| + | # postfix -d |
− | * MTA'na kasutatakse Postfixi kusjuures mainitud domeene kasutatakse ainult eposti jaoks
| |
− | * postiloendite haldusliidesed sh arhiivid on ligipääsetavad aadressidelt https://lists.loomaaed.tartu.ee/listinfo, /admin jn
| |
| | | |
− | ====Mailman tarkvara paigaldamine====
| + | Tarkvara paigaldamise käigus moodustatud seadistused täidavad püstitatud eesmärgi kirjade vastuvõtmise osas |
| | | |
− | Tarkvara paigaldamiseks tuleb öelda
| + | * inet_interfaces - väärtus 'all' tähendab, et Postfix server kuulab kõigil võrguseadmetel port 25/tcp peale tulevaid ühendusi |
| + | * mydestination - väärtuste seas esineb domeeninimi loomaaed.tartu.ee, mis tähendab, et selle domeeni kirju võetaks vastu ja neile tehakse local delivery |
| + | * vaikimisi ei ole Postfix avatud relee (ingl. k. open relay), st läbi mail.loomaaed.tartu.ee ei saa avalikust internetist pöördudes saata kirju suvaliste domeenide kasutajatele |
| + | * vaikimisi salvestab Postfix local delivery kirjad kasutajanimelistesse failidesse kataloogi /var/mail |
| | | |
− | # apt-get install mailman
| + | Postfixi seadistusfailis /etc/postfix/main.cf kasutatud direktiivide esinemise järjekord ei ole tehnilises mõttes tähtis va asjaolu, et kui üks ja sama direktiiv on kirjeldatud mitu korda, siis jääb kehtima viimane kirjeldus. Kasutamise mõttes on otstarbekas samalaadseid direktiive grupeerida. |
| | | |
− | Seejärel küsitakse, millistes keeltes soovitakse, et Mailman oleks võimeline kasutajaga suhtlema, eriti puudutab see valik, millistes keeltes saab saata kasutajatele automaatselt genereeritud kirju (nt teated listiga liitumise kohta)
| + | ====Kirja vastuvõtmine==== |
| | | |
− | For each supported language, Mailman stores default language specific texts in /etc/mailman/LANG/ giving
| + | Kui internetis saata kiri aadressile mart@loomaaed.tartu.ee, siis ilmub Postfixi logisse |
− | them conffile like treatment with the help of ucf. This means approximately 150kB for each supported
| |
− | language on the root file system.
| |
− |
| |
− | If you need a different set of languages at a later time, just run dpkg-reconfigure mailman.
| |
− |
| |
− | NOTE: Languages enabled on existing mailing lists are forcibly re-enabled when deselected and mailman
| |
− | needs at least one language for displaying its messages.
| |
| | | |
− | Lisaks mailman paketile paigaldatakse automaatlselt ka Apache veebiserver, kuna tavaliselt toimub Mailmani haldamine üle veebiliidese. Paigaldamise käigus tuleb valida kasutatavad lokaadid, mis tähendab seda, millistes keeltes on võimalik mailmani kasutajaliidest tööle lülitada.
| + | # tail -f /var/log/mail.log |
| + | ... |
| + | 1 Jul 11 15:51:21 mail postfix/smtpd[6618]: connect from post-relee.auul[192.168.1.150] |
| + | 2 Jul 11 15:51:21 mail postfix/smtpd[6618]: 77CB1AC112: client=post-relee.auul[192.168.1.150] |
| + | 3 Jul 11 15:51:21 mail postfix/cleanup[6622]: 77CB1AC112: message-id=<20090711125121.7AC116E512@bmail.com> |
| + | 4 Jul 11 15:51:21 mail postfix/qmgr[6304]: 77CB1AC112: from=<priit@bmail.com>, size=516, nrcpt=1 (queue active) |
| + | 5 Jul 11 15:51:21 mail postfix/smtpd[6618]: disconnect from post-relee.auul[192.168.1.150] |
| + | 6 Jul 11 15:51:21 mail postfix/local[6623]: 77CB1AC112: to=<mart@loomaaed.tartu.ee>, relay=local, \ |
| + | delay=0.02, delays=0.01/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox) |
| + | 7 Jul 11 15:51:21 post-lenny postfix/qmgr[6304]: 77CB1AC112: removed |
| | | |
− | Seejärel teatab installer, et
| + | kus |
− | | |
− | Missing site list
| |
− |
| |
− | Mailman needs a so-called "site list", which is the list from which password reminders and such
| |
− | are sent out from. This list needs to be created before mailman will start. To create the list, run
| |
− | "newlist mailman" and follow the instructions on-screen. Note that you also need to start mailman after
| |
− | that, using /etc/init.d/mailman start.
| |
| | | |
− | ====Mailmani seadistamine====
| + | # - internetist aadressilt 192.168.1.150 võetakse ühendust |
| + | # - ... |
| + | # - eposti kirja identifikaator (message-id) on 20090711125121.7AC116E512@bmail.com |
| + | # - kiri on aadressilt priit@bmail.com |
| + | # - tcp/ip ühendus arvutiga 192.168.1.150 lõpetatakse |
| + | # - sooritatakse nn local delivery, st kiri salvetataks faili /var/mail/mart |
| | | |
− | Mailmani listihalduse tarkvara esineb arvutis töötava deemoni kujul ning oluliseks seadistusfailiks on /etc/mailman/mm_cfg.py. Selles tuleks teha sellised muudatused
| + | Järgmised kirjad lisanduvad faili /var/mail/mart. |
| | | |
− | MAILMAN_SITE_LIST = 'mailman'
| + | ====Vastuvõetud kirja lugemine==== |
− | DEFAULT_URL_PATTERN = 'https://%s/'
| |
− | PRIVATE_ARCHIVE_URL = '/private'
| |
− | IMAGE_LOGOS = '/images/mailman/'
| |
− | DEFAULT_EMAIL_HOST = 'lists.loomaaed.tartu.ee'
| |
− | DEFAULT_URL_HOST = 'lists.loomaaed.tartu.ee'
| |
− | add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
| |
− | DEFAULT_SERVER_LANGUAGE = 'en'
| |
− | USE_ENVELOPE_SENDER = 0 # Still used?
| |
− | DEFAULT_SEND_REMINDERS = 0
| |
− | MTA=None
| |
− | DEB_LISTMASTER = 'listmaster@lists.loomaaed.tartu.ee'
| |
| | | |
− | Kui Mailman on seadistatud, siis tuleb tekitada esimene list
| + | Postfix on postiedastusagent ja ta ei tegele ise kasutajate postiprogrammide (nt Icedove või Alpine) teenindamisega. Postfixi poolt postimasina failisüsteemi salvestatud nn postkastifailidest /var/mail/kasutajanimi saab kasutaja lugeda kirju kahel moel |
| | | |
− | # newlist mailman mart@loomaaed.tartu.ee parool
| + | * kõige otsekohesem, aga praktiliseks kasutamiseks ehk suhteliselt ebamugav on kasutajatel on kirju lugeda nii, et logida sisse kasutajana postimasinasse ja kasutada programmi Alpine, mis oskab sellest failist kirju esitada |
| + | * postimasinasse tuleb paigaldada mõni spetsiaalselt kasutajate postiprogrammidega suhtlev tarkvara, nt IMAP server Cyrus, mis oskab võrgus teenindada kasutaja töökoharvutist nt Icedove programmi kui IMAP kliendi pöördumisi |
| | | |
− | Seejärel saab listserveri deemoni käivitada
| + | Alpine paigaldamiseks peab süsteemiadministraator ütlema |
| | | |
− | # /etc/init.d/mailman start | + | # apt-get install alpine |
| | | |
− | ====Apache veebiserveri seadistamine==== | + | ===Postfixi seadistamine saatma välja alamvõrgu 192.168.0.0/24 kirju=== |
| | | |
− | Ülidselt tuleb veebiserver seadistada käima aadressidel
| + | Kirjade väljasaatmiseks tuleb muuta failis /etc/postfix/main.cf parameetri mynetworks väärtust lisades sinna kasutatava subneti aadressi, tulemusena on vastav rida selline |
| | | |
− | * https://lists.loomaaed.tartu.ee/
| + | mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24 |
− | * https://lists.vagunitehas.tartu.ee/
| |
− | * https://lists.raudteejaam.tartu.ee/
| |
| | | |
− | tavalisel moel. Mailmanile spetsiifilise osa kohta on toodud näide failis
| + | Peale seadistusfaili muutmist tuleb öelda |
| | | |
− | /etc/mailman/apache.conf | + | # /etc/init.d/postfix reload |
| | | |
− | Kokkuvõttes võiks olla lists.loomaaed.tartu.ee virtuaalhosti seadistusfail nt sellise sisuga
| + | ====Kirja väljasaatmine==== |
| | | |
− | <VirtualHost 10.0.6.221:443>
| + | Kirja väljasaatmiseks tuleb kasutaja postiprogrammis, nt Icedove seadistada väljuva eposti arvuti aadressiks 192.168.0.25 |
− | ServerName lists.loomaaed.tartu.ee
| |
− | ServerAdmin mart@loomaaed.tartu.ee
| |
− | DocumentRoot /srv/www
| |
− | ErrorLog /var/log/apache2/lists.loomaaed.tartu.ee-ssl-error.log
| |
− | TransferLog /var/log/apache2/lists.loomaaed.tartu.ee-ssl-access.log
| |
− |
| |
− | SSLEngine on
| |
− | SSLCertificateFile /etc/apache2/serdid/lists.loomaaed.tartu.ee-200706-200906.crt
| |
− | SSLCertificateKeyFile /etc/apache2/serdid/lists.loomaaed.tartu.ee-200706-200906.key
| |
− | SSLCACertificateFile /etc/apache2/serdid/ca-sk.crt
| |
− |
| |
− | <Directory /srv/www>
| |
− | Options All
| |
− | AllowOverRide None
| |
− | Order Allow,Deny
| |
− | Allow from All
| |
− | </Directory>
| |
− |
| |
− | RewriteEngine On
| |
− | RewriteRule ^/$ https://lists.loomaaed.tartu.ee/listinfo [R]
| |
− |
| |
− | Alias /pipermail/ /var/lib/mailman/archives/public/
| |
− | Alias /images/mailman/ /usr/share/images/mailman/
| |
− | ScriptAlias / /usr/lib/cgi-bin/mailman/
| |
− |
| |
− | <Directory /usr/lib/cgi-bin/mailman/>
| |
− | AllowOverride None
| |
− | Options ExecCGI
| |
− | AddHandler cgi-script .cgi
| |
− | Order allow,deny
| |
− | Allow from all
| |
− | </Directory>
| |
− |
| |
− | <Directory /var/lib/mailman/archives/public/>
| |
− | Options Indexes FollowSymlinks
| |
− | AllowOverride None
| |
− | Order allow,deny
| |
− | Allow from all
| |
− | </Directory>
| |
− |
| |
− | <Directory /usr/share/images/mailman/>
| |
− | AllowOverride None
| |
− | Order allow,deny
| |
− | Allow from all
| |
− | </Directory>
| |
− |
| |
− | </VirtualHost>
| |
| | | |
− | Kontrolliks sobib proovida logida sisse veebipõhisesse haldusliidesesse kasutades mailman listi parooli, kasutajanime ei pea sisestama.
| + | [[Pilt:Postfix-2.gif]] |
| | | |
− | [[Pilt:Mailman-1.gif]]
| + | Kirja väljasaatmisel tekib logisse |
| | | |
− | ====Postfixi seadistamine==== | + | 1 Jul 11 19:33:09 mail postfix/smtpd[6278]: connect from moraal[192.168.0.10] |
| + | 2 Jul 11 19:33:10 mail postfix/smtpd[6278]: 5590C6E50A: client=moraal[192.168.0.10] |
| + | 3 Jul 11 19:33:10 mail postfix/cleanup[6282]: 5590C6E50A: message-id=<4A58BEC5.20506@loomaaed.tartu.ee> |
| + | 4 Jul 11 19:33:10 mail postfix/qmgr[6274]: 5590C6E50A: from=<mart@loomaaed.tartu.ee>, size=484, nrcpt=1 (queue active) |
| + | 5 Jul 11 19:33:10 mail postfix/smtpd[6278]: disconnect from moraal[192.168.10.10] |
| + | 6 Jul 11 19:33:10 mail postfix/smtp[6283]: 5590C6E50A: to=<priit@bmail.com>, \ |
| + | relay=mail.bmail.com[192.168.32.82]:25, delay=0.3, delays=0.15/0.01/0.03/0.11, dsn=2.0.0, status=sent \ |
| + | (250 2.0.0 Ok: queued as 77B0E4A9D2) |
| + | 7 Jul 11 19:33:10 mail postfix/qmgr[6274]: 5590C6E50A: removed |
| | | |
− | Kui kogu domeeni eposti kasutus on seotud postiloendiga ja ainult postiloendiga, siis saab seadistada Postfixi käima lihtsustatud kujul ja otsekohesemalt. Muu hulgas tähendab see seda, et ei pea kasutama aliases'eid.
| + | kus |
− | | |
− | Sellisel juhul tuleb
| |
− | | |
− | * kasutada /etc/postfix/main.cf failis
| |
− | | |
− | relay_domains = ... lists.loomaaed.tartu.ee, lists.vagunitehas.tartu.ee, lists.raudteejaam.tartu.ee
| |
− | transport_maps = hash:/etc/postfix/transport
| |
− | mailman_destination_recipient_limit = 1
| |
− | | |
− | * kasutada /etc/postfix/master.cf failis
| |
− | | |
− | mailman unix - n n - - pipe
| |
− | flags=FR user=list
| |
− | argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${mailbox}
| |
− | | |
− | * kasutada /etc/postfix/transport failis
| |
− | | |
− | lists.loomaaed.tartu.ee mailman:
| |
− | lists.vagunitehas.tartu.ee mailman:
| |
− | lists.raudteejaam.tartu.ee mailman:
| |
− | | |
− | * kasutada /etc/mailman/mm_cfg.py failis
| |
− | | |
− | MTA = None # No MTA alias processing required
| |
− | DEB_LISTMASTER = 'postmaster@loomaaed.tartu.ee'
| |
− | | |
− | ning lisaks olemasolevatele ridadele
| |
− | | |
− | # Default domain for email addresses of newly created MLs
| |
− | DEFAULT_EMAIL_HOST = 'lists.loomaaed.tartu.ee'
| |
− | #-------------------------------------------------------------
| |
− | # Default host for web interface of newly created MLs
| |
− | DEFAULT_URL_HOST = 'lists.loomaaed.tartu.ee'
| |
− | #-------------------------------------------------------------
| |
− | # Required when setting any of its arguments.
| |
− | add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
| |
− | | |
− | kaks rida
| |
− | | |
− | add_virtualhost('lists.vagunitehas.tartu.ee','lists.vagunitehas.tartu.ee')
| |
− | add_virtualhost('lists.raudteejaam.tartu.ee','lists.raudteejaam.tartu.ee')
| |
− | | |
− | ====Mailmani haldamine====
| |
− | | |
− | * Listimootori adminstraatori parooli muutmiseks tuleb öelda
| |
− | | |
− | # mmsitepass uusparool
| |
− | | |
− | Olulised failid asuvad kataloogis /var/lib/mailman
| |
− | | |
− | lrwxrwxrwx 1 root root 24 Feb 10 09:53 Mailman -> /usr/lib/mailman/Mailman
| |
− | drwxrwsr-x 4 root list 4096 Feb 10 09:53 archives
| |
− | lrwxrwxrwx 1 root root 20 Feb 10 09:53 bin -> /usr/lib/mailman/bin
| |
− | lrwxrwxrwx 1 root root 24 Feb 10 09:53 cgi-bin -> /usr/lib/cgi-bin/mailman
| |
− | lrwxrwxrwx 1 root root 21 Feb 10 09:53 cron -> /usr/lib/mailman/cron
| |
− | drwxrwsr-x 2 root list 4096 Feb 10 22:58 data
| |
− | lrwxrwxrwx 1 root root 25 Feb 10 09:53 icons -> /usr/share/images/mailman
| |
− | drwxrwsr-x 5 root list 4096 Feb 11 01:04 lists
| |
− | lrwxrwxrwx 1 root root 17 Feb 10 09:53 locks -> /var/lock/mailman
| |
− | lrwxrwxrwx 1 root root 16 Feb 10 09:53 logs -> /var/log/mailman
| |
− | lrwxrwxrwx 1 root root 21 Feb 10 09:53 mail -> /usr/lib/mailman/mail
| |
− | drwxr-sr-x 37 root list 4096 Feb 10 09:53 messages
| |
− | lrwxrwxrwx 1 root root 26 Feb 10 09:53 pythonlib -> /usr/lib/mailman/pythonlib
| |
− | drwxrwsr-x 11 list list 4096 Feb 10 10:57 qfiles
| |
− | lrwxrwxrwx 1 root root 24 Feb 10 09:53 scripts -> /usr/lib/mailman/scripts
| |
− | drwxrwsr-x 2 root list 4096 Jan 26 21:52 spam
| |
− | lrwxrwxrwx 1 root root 12 Feb 10 09:53 templates -> /etc/mailman
| |
− | drwxrwsr-x 4 root list 4096 Feb 10 09:53 tests
| |
− | | |
− | * /etc/mailman - muu hulgas paigaldatud keeled (milles saadetakse kasutajatele teavitusi jms)
| |
− | * lists/test/config.pck - listi test seadistusfail
| |
− | * data/adm.pw - listimootori superuseri parool
| |
− | * archives - listide arhiivid
| |
− | | |
− | Listi moodustamiseks tuleb öelda
| |
− | | |
− | # newlist listinime@domeeninimi halduri@epostiaadress halduriparool
| |
− | | |
− | Listi seadistuse saab esitada tekstilisel kujul öeldes
| |
− | | |
− | # config_list -o - listinimi
| |
− | | |
− | Uue listi juures võiks pöörata tähelepanu sellistele määratlustele
| |
− | | |
− | General Options
| |
− | | |
− | * real_name - listi nimi, kasutatakse listi aadressis, vasakul @ märki ja reeglina näidatakse listi tekitamisel
| |
− | * owner - listi halduri aadress, sinna saadab listimootor erinevaid automaatselt genereeritud teateid
| |
− | * respond_to_post_request - kas listimootor saadab listi kirja saatnud kasutajale tagasi kirja teatega kui tema kirja modereeritakse, soovitav väärtus on No, et internetti mitte risustada
| |
− | * max_message_size - listimootori poolt töödeldava kirja maksimaalne suurus, ehk on tänapäeval 8M sobiv kui rahvas saadab ka kirja lisasid
| |
− | | |
− | Passwords
| |
− | | |
− | * listi haldusi ja moderaatori paroolide määramine
| |
− | | |
− | Membership management
| |
− | | |
− | * Listi liikmete lisamine, eemaldamine jm haldus
| |
− | | |
− | Privacy Options -> Subscription rules
| |
− | | |
− | * advertised - määrab, kas listi nimi esineb listserveri listide nimekirjas aadressil https://lists.loomaaed.tartu.ee/admin/listinimi, võiks valida No, et mitte liigselt tähelepanu tõmmata
| |
− | * subscribe_policy - määrab, mis tingimustel saab tekkida listi uus kasutaja, soovitav on Confirm and approve, et vaikselt ei saaks huvilised ennast ise listi lisada
| |
− | | |
− | Archival options
| |
− | | |
− | * archive - määrab, kas listi kirjad arhiveeritakse listserveris
| |
− | * archive_private - määrab, kas listi arhiiv on avalik või privaatne, kusjuures privaatne tähendab, et arhiivi saavad näha vaid listi kasutajad ja nad peavad enda veebiliideses autentima, soovitav valida private
| |
− | | |
− | Nö ühe domeeni listide nimekirja esitamiseks tuleb öelda
| |
− | | |
− | # list_lists -V lists.raudteejaam.tartu.ee
| |
− | | |
− | ====Mailmani logi====
| |
− | | |
− | Mailmani protsessid logivad oma tegevusi sellistesse failidesse
| |
− | | |
− | /var/log/mailman# ls -l
| |
− | total 72
| |
− | -rw-rw-r-- 1 list list 83 Feb 12 12:04 bounce
| |
− | -rw-rw-r-- 1 root list 16860 Feb 12 17:35 error
| |
− | -rw-rw-r-- 1 list list 1972 Feb 12 18:06 post
| |
− | -rw-rw-r-- 1 list list 729 Feb 12 06:25 qrunner
| |
− | -rw-rw-r-- 1 list list 2549 Feb 12 18:17 smtp
| |
− | -rw-rw-r-- 1 www-data list 753 Feb 12 01:43 subscribe
| |
− | -rw-rw-r-- 1 list list 1140 Feb 12 18:17 vette
| |
− | | |
− | Listserveri MTA + listimootori läbimisel tekivad kirjast Postfixi logisse sellised sissekanded
| |
− | | |
− | Feb 10 23:05:58 smtp2a postfix/smtpd[28944]: connect from moraal.auul[192.168.2.38]
| |
− | Feb 10 23:05:58 smtp2a postfix/smtpd[28944]: E57443E4EC: client=moraal.auul[192.168.2.38]
| |
− | Feb 10 23:05:59 smtp2a postfix/cleanup[28947]: E57443E4EC: message-id=<alpine.DEB.1.10.0902102305480.2613@moraal.auul>
| |
− | Feb 10 23:05:59 smtp2a postfix/qmgr[25982]: E57443E4EC: from=<mart@loomaaed.tartu.ee>, size=523, nrcpt=1 (queue active)
| |
− | Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: disconnect from moraal.auul[192.168.2.38]
| |
− | Feb 10 23:05:59 smtp2a postfix/pipe[28998]: E57443E4EC: to=<test@lists.loomaaed.tartu.ee>, relay=mailman, delay=0.3, delays=0.1/0/0/0.2, \
| |
− | dsn=2.0.0, status=sent (delivered via mailman service)
| |
− | Feb 10 23:05:59 smtp2a postfix/qmgr[25982]: E57443E4EC: removed
| |
− | Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: connect from localhost.localdomain[127.0.0.1]
| |
− | Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: E2F1E3E4EC: client=localhost.localdomain[127.0.0.1]
| |
− | Feb 10 23:05:59 smtp2a postfix/cleanup[28947]: E2F1E3E4EC: message-id=<alpine.DEB.1.10.0902102305480.2613@moraal.auul>
| |
− | Feb 10 23:05:59 smtp2a postfix/qmgr[25982]: E2F1E3E4EC: from=<test-bounces@lists.loomaaed.tartu.ee>, size=1445, nrcpt=1 (queue active)
| |
− | Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: disconnect from localhost.localdomain[127.0.0.1]
| |
− | Feb 10 23:06:00 smtp2a postfix/smtp[28995]: E2F1E3E4EC: to=<priit@loomaaed.ee>, relay=mail.loomaaed.tartu.ee[192.168.96.138]:25, \
| |
− | delay=0.11, delays=0.01/0/0.04/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 906E42CB28)
| |
− | Feb 10 23:06:00 smtp2a postfix/qmgr[25982]: E2F1E3E4EC: removed
| |
− | | |
− | Logist on ilusti näha süsteemi modulaarsus
| |
− | | |
− | * esmalt võetakse kiri vastu smtpd poolt
| |
− | * seejärel antakse kiri edasi pipe abil mailmanile
| |
− | * mailman pöördud smtpd poole ja kiri saadetakse süsteemist välja
| |
− | | |
− | ====Mailmanile peale paigaldamist uue keele toe lisamine====
| |
− | | |
− | Kuigi veebipõhise kasutajaliidese abil on võimalik valida terve hulga keelte seast, millises keeles Mailman kasutajaga suhtleb, toimib ta täieliselt, st nii veebiliides kui automaatselt kasutajatele saadetavad kirjad ainult neis keeltes, mis asuvad /etc/mailman kataloogis. Nt eesti keele puhul peab seal olema kataloog
| |
− | | |
− | /etc/mailman/et
| |
− | | |
− | Nende kataloogide tekitamiseks tuleb öelda soovitavalt töötava Mailmani tingimustes
| |
− | | |
− | # dpkg-reconfigure mailman
| |
− | | |
− | Seejärel esitatakse kasutajale diagloog
| |
| | | |
− | For each supported language, Mailman stores default language specific texts in /etc/mailman/LANG/ giving
| + | # postimasina poole pöördub kasutaja oma töökohaarvutist nt Icedove programmiga |
− | them conffile like treatment with the help of ucf. This means approximately 150kB for each supported
| + | # ... |
− | language on the root file system. If you need a different set of languages at a later time, just run
| + | # ... |
− | dpkg-reconfigure mailman. |
| + | # kiri on from aadressiga mart@loomaaed.tartu.ee |
− |
| + | # tcp/ip ühendus kasutaja töökohaarvutiga lõpetatakse |
− | NOTE: Languages enabled on existing mailing lists are forcibly re-enabled when deselected and mailman needs
| + | # kiri on saadetakse aadressile priit@bmail.com võttes ühendust postimasinaga aadressil 192.168.32.82 ja 'status=sent' tähendab, et kiri õnnestus välja saata |
− | at least one language for displaying its messages.
| |
− |
| |
− | Languages to support:
| |
− | ...
| |
| | | |
− | dpkg-reconfigure käivitab automaatselt Mailmani protsessid.
| + | ===Postimasina kasutamine tulemüüri taga NAT võrgus=== |
| | | |
− | ====Mailmani uuendamine 2.1.5 -> 2.1.11====
| + | Kui postimasin asub aadress-teisendavad tulemüüri taga, siis tuleb Postfixi seadistusfaili /etc/postfix/mail.cf lisada rida |
| | | |
− | Kuigi antud juhul on tegu konkreetse versiooniuuenduse kirjeldusega võib saada siit ideid ka muudeks juhtumiteks. Abiks materjal konkreetseks juhtumiks on www.list.org pealt kopeeritud tar.gz arhiivis UPGRADE failis.
| + | proxy_interfaces = 192.168.96.138 |
| | | |
− | Sammud
| + | kus ip aadress on tulemüüri avalik aadress, mida internetist kasutatakse selle postimasina poole pöördumiseks. |
| | | |
− | * Vana ja uus listimootor käivad erinevates arvutites ja mõlema töö lõpetada.
| + | ===Spämmi tõrjumine DNSBL nimekirja abil=== |
− | * Kopeerida arhiivid kataloogist /var/lib/mailman/archives ümber uude kohta.
| |
− | * Kopeerida listide seadistused kataloogist /var/lib/mailman/lists/listinimi uude kohta.
| |
− | * Kopeerida ajutiselt peatatud failid /var/lib/mailman/data/heldmsg-* ümber uude kohta.
| |
− | * Käivitada uues kohas listimootor ja veenduda veebipõhises haldusliideses, et seadistused on tulnud ilusti üle, uurida logi.
| |
| | | |
− | ===SPF - Sender Policy Framework===
| + | DNSBL (Domain Name System Blocklist) tehnika võimaldab enne kirja vastuvõtmist postimasinal kontrollida tavalise nimepäringu abil, kas tema poole pöörduva SMTP kliendi ip aadress on nö spämmijate nimekirjas või mitte. Postfix toetab sellise kontrolli teostamist. |
| | | |
− | SPF (Sender Policy Framework - ingl. k. epost saatja kontrollimise raamistik) http://www.openspf.org/Project_Overview võimaldab saavutada sellised eesmärke
| + | DNSBL teenusepakkujaid on internetis palju, sobiva valimisel tuleks arvestada selliseid asjaolusid |
| | | |
− | * kaitsta eposti vastuvõtjat ümbriku from aadressi võltsijate eest (eeldusel, et võltsitava domeeninime omanikud oma oma domeenidele kirjeldanud spf või sfp sisuga txt kirjed) | + | * DNSBL teenusepakkujale usaldatakse otsuse tegemine, millistelt aadressidelt ei saa kõnealusesse postimasinasse kirju saata |
− | * kaitsta domeeninime omanikku ümbriku from aadressi võltsijate tegevuse eest, tulemusena ei saa võltsijad saata kontrollimatult adressaatidele võltsitud eposti | + | * DNSBL teenuseid pakutakse erinevatel tingimustel, nt on tasulisi ja mitte-tasulisi |
| | | |
− | ====SPF tööpõhimõtte kirjeldus====
| + | Populaarsed teatud tingimustel tasuta DNSBL teenuse pakkujad on |
| | | |
− | # apt-get instal spfqtool
| + | * Spamhaus - http://www.spamhaus.org/ ja http://en.wikipedia.org/wiki/The_Spamhaus_Project |
| + | * Spamcop - http://www.spamcop.net/ ja http://en.wikipedia.org/wiki/SpamCop |
| | | |
− | ====Eposti vastuvõtja ettevalmistamine====
| + | Spamhaus esitab oma aadresse kolmes erinevas nimekirjas ja kombineeritud nimekirjadena |
| | | |
− | Postfix sisaldab 'Postfix SMTP access policy delegation' http://www.postfix.org/SMTPD_POLICY_README.html süsteemi, mille abil saab ühendada MTA välise lahendusega, antud juhul SPF'iga, selleks, et teostada täiendavat kontrolli, milliste omadustega kirju saab läbi kõnealuse postisüsteemi saata.
| + | * Spamhaus Block List (SBL, sbl.spamhaus.org) - kinnitatud spämmijate ip aadressid |
| + | * Exploits Block List (XBL, xbl.spamhaus.org) - nimekiri tuntud viirusi, eksploite, troojalasi jms levitavatest ip aadressidest |
| + | * Policy Block List (PBL, pbl.spamhaus.org) - nö kodukasutajate ip aadresside nimekiri, millelt tegelikult ei peaks kasutajad eposti saatma |
| | | |
− | Üheks SPF kasutamise võimaluseks on sama MTA sees pidada Postfixi master deemoni poolt käivitatavat Perli skripti, mida jagatakse postfix-policyd-spf-perl paketina, paigaldamiseks tuleb öelda
| + | Kombineeritud nimekirjad on sellised |
| | | |
− | # apt-get install postfix-policyd-spf-perl
| + | * sbl-xbl.spamhaus.org - SBL+XBL |
| + | * zen.spamhaus.org - SBL+XBL+PBL |
| | | |
− | ====Nimesüsteemi ettevalmistamine====
| + | Spamhaus teenus on nö kodukasutajatele tasuta kasutada teatud tingimustel, kasutamistingimusi saab vaadata üksikasjalikult aadressilt http://www.spamhaus.org/ |
− | | |
− | TODO
| |
− | | |
− | ===Kahetasemeliste Postfixi lahenduse kasutamine===
| |
− | | |
− | Turvalisuse, jõudluse või lihtsalt süsteemi modulaarsuse asjaoludest lähtudes seadistakse vahel Postfix süsteemi käima mitmetasemeliselt, nö kahel perimeetril, kusuures kõige ees võib veel pidada greylistingut
| |
− | | |
− | * relee - internetist smtp ühenduste vastuvõtmine, viirustõrje ning spämmianalüüs
| |
− | * delivery - kirjade postkastidesse jagamine ja aliaste alusel edasisaatmine, listimootorid
| |
− | | |
− | internet
| |
− |
| |
− | |
| |
− | __|__
| |
− | | |
| |
− | | TM | spamd (greylisting)
| |
− | |_____|
| |
− | |
| |
− | |
| |
− | ----|--------|-----------------------------------|------
| |
− | | |
| |
− | __|__ __|__
| |
− | | | | |
| |
− | |_____| |_____|
| |
− |
| |
− | RELEE-MTA1 DELIVERY-MTA2
| |
− | clamav listid
| |
− | kasperski antispam (või mingi vaba) @loomaaed.tartu.ee postkastid
| |
− | 2nd mx, relee klientidele relee kohalikele infosüsteemidele
| |
| | | |
− | ====Relee seadistamine====
| + | Postfixi seadistamiseks kontrollima SMTP kliendi ip aadressi zen.spamhaus.org nimekirjast peab seadistusfailis /etc/postfix/main.cf olema nt rida |
| | | |
− | Relee arvuti võtab kirjad internetist vastu, aga ei teosta nendega local deliverit, vaid peale viiruse ja spämmi kontrolle saadab edasi delivery arvutile.
| + | smtpd_recipients_restrictions = permit_mynetworks, reject_unauth_destination, |
| + | reject_rbl_client zen.spamhaus.org |
| | | |
− | main.cf failis tuleb kasutada direktiive
| + | Seda rida tuleks lugeda selliselt |
| | | |
− | relay_domains = loomaaed.tartu.ee
| + | * piiranguid kontrollitakse järjest, rakendatakse esimesena klappiv piirang |
− | transport_maps = hash:/etc/postfix/transport
| + | * kui ükski piirang ei klapi, siis vaikimisi lubatakse andmevahetust |
| + | * permit_mynetworks - postfixi smtpd komponent lubab andmevahtust kohalikest võrkudest |
| + | * reject_unauth_destination - postfixi smtpd komponent ei luba andmevahetust kui RCPT TO päise järgi ei ole postimasin seadistatud kirja vahendama edasi või ise vastu võtma; see rida tegeleb eituse genereerimisega st kui nt kiri on vahendatav, siis tegeleb selle läbi lubamisega mõni reject_recipients_restrictions järgmine kontroll või lubatakse ta vaikimisi läbi |
| + | * reject_rbl_client zen.spamhaus.org - kontrollitakse dns abil Spamhaus teenusest, kas tegemist on tuntud spämmijaga ning vajadusel andmevahetust ei lubata |
| + | * permit - kui kiri ei klappinud ühegi kontrolliga, siis lubatakse ta läbi |
| + | * kui seadistusfaili rida algab tühiku või tabulatsioonimärgiga, siis loetakse seda eelmise rea jätkuks |
| + | * elemente on samaväärne eraldada tühiku või komaga (või mõlemiga) |
| | | |
− | ja transport map moodustamiseks öelda
| + | Piirangute esitamisel on järjekord oluline, sõltub asjaoludest, aga üldiselt on otstarbekas kallimad kontrollid paigutada lõpupoole. |
| | | |
− | # postmap /etc/postfix/transport
| + | Kuulates võrku pealt on näha, et postimasin esitab oma seadistatud nimeserveri kaudu päringu Spamhausile ja saab vastuseks, et saatja 192.168.32.86 ip aadress ei ole tuntud spämmija |
| | | |
− | ====Delivery seadistamine====
| + | 21:35:41.145213 IP 192.168.0.25.52665 > 192.168.96.138.53: 48934+ A? 86.32.168.192.zen.spamhaus.org. (48) |
| + | 21:35:42.133214 IP 192.168.96.138.53 > 192.168.0.25.52665: 48934 NXDomain 0/1/0 (112) |
| | | |
− | Delivery arvuti võtab kirju vastu ainult relee arvutilt ning teostab local delivery või saadab kirjad edasi vastavalt aliaste lahendumisele.
| + | Kui aga Spamhausi poolt kiri peatatakse, siis on Postfixi logis kirjas midagi sellist |
| | | |
− | main.cf failis sisaldub mydestination real domeeninimi
| + | Jul 11 21:48:47 mail postfix/smtpd[21995]: NOQUEUE: reject: RCPT from unknown[192.168.175.125]:\ |
| + | 554 5.7.1 Service unavailable; Client host [192.168.175.125] blocked using zen.spamhaus.org; \ |
| + | http://www.spamhaus.org /query/bl?ip=192.168.175.125; \ |
| + | from=<handbags@spammija.net> to=<rosenqvistrosenqvistrbwf@loomaaed.tartu.ee> proto=ESMTP \ |
| + | helo=<125-175-168-192.cab.tiiba.net.ar> |
| | | |
− | mydestination = localhost, loomaaed.tartu.ee
| + | Nö käsitsi saab ip aadressi Spamhausi kuulumist kontrollida küsides, kuulumisel vastatakse nii |
| | | |
− | ===Milter===
| + | $ dig +short 125.175.168.192.zen.spamhaus.org |
| + | 127.0.0.4 |
| | | |
− | TODO
| + | ja mitte-kuulumisel |
| | | |
− | ===Märkused===
| + | $ dig +short 125.175.168.192.zen.spamhaus.org |
| + | $ |
| | | |
− | * abiks pisike programm mail, paketist mailx (mis tegelikult paigaldab sõltuvusena paketi bsd-mailx)
| + | Või brauseriga küsides aadressilt http://www.spamhaus.org/query/bl?ip=192.168.175.125 |
| | | |
| ===Kasulikud lisamaterjalid=== | | ===Kasulikud lisamaterjalid=== |
| | | |
− | * Tarkvara kodulehekülg - http://cyrusimap.web.cmu.edu/ | + | * http://kuutorvaja.eenet.ee/wiki/Amavis_kasutamine_Debian_Lenniga |
− | * IMAP protokolli kasutamise näited - http://bobpeers.com/technical/telnet_imap.php | + | * http://kuutorvaja.eenet.ee/wiki/Postfix'i_arhitektuuri_kirjeldus_ja_kasutamise_keerulisemad_võimalused |
− | * apt-get install cyrus-docs-2.2 ja seejärel vaadata brauseriga file:///usr/share/doc/cyrus-doc-2.2/html/index.html | + | * http://kuutorvaja.eenet.ee/wiki/Postfix |
| + | * http://no.spam.ee/header_checks |
Eesmärk
Eesmärgiks on seadistada käima selliste omadustega postiedastusagent (ingl. k. Mail Transfer Agent, MTA) Postfix
- internetist võetakse vastu domeeni loomaaed.tartu.ee kasutajate epostiaadressidele saadetud kirju aadressil 192.168.0.25
- vastuvõetud loomaaed.tartu.ee domeeni kirjad salvestatakse postimasina failisüsteemi, st tehakse local delivery
- postimasina abil saab saata kirju välja internetti teistele kasutajatele alamvõrgus 192.168.0.0/24 asuvatest arvutitest
- kirjade avalikust võrgust vastuvõtmisel teostatakse saatja ip aadressidele DNSBL kontrolli Spamhaus zen.spamhaus.org nimekirja põhjal
internet
...
.
v
192.168.96.138 _|_
| | Tulemüür
|___|
| 192.168.0.254/24
| 192.168.0.0/24 alamvõrk
-----|---------|-------|--------------|-------------------------------
| | |
_|_ _|_ _|_ 192.168.0.25/24
| | | | | |
|___| |___| |___|
Töökohaarvuti A Postimasin
Töökohaarvuti B
Kuigi joonisel on kasutatud nö privaatseid aadresse kehtib loogilises mõttes esitus avalike aadresside kasutamise juhu kohta. Punktis Postfix'i_kasutamine_Debianiga#Postimasina kasutamine tulemüüri taga NAT võrgus käsitletakse juhtumit, kui postimasin kasutab privaatset aadressi asudes aadress-teisendava tulemüüri taga.
Püstitatud eesmärki võiks kasutaja edasi arendada
Nimesüsteemi ettevalmistamine
Õigesti seadistatud nimesüsteem on postisüsteemi kasutamise eelduseks.
MX ja A kirje
Selleks, et avalikus internetis saaksid ülidselt teised kasutajad (nt Gmail kasutajad) saata kirju nt aadressil mart@loomaaed.tartu.ee peab olema avalikus nimesüsteemis kirjeldatud domeeni loomaaed.tartu.ee MX (mail exchange, meilivahetuskoht) kirje. Selleks tuleb pöörduda nimeteenuse pakkuja poole ning öelda milline on kasutatav avalik ip aadress ning millist domeeninime soovitakse kasutama asuda, põhimõtteliselt saab tehnilises mõttes sellise soovi alusel avalikus nimesüsteemis vajalikud muudatused teha.
MX kirje näeb välja nt selline
$ dig @ns.nimeserver.ee loomaaed.tartu.ee mx
...
;; QUESTION SECTION:
;looomaaed.tartu.ee. IN MX
;; ANSWER SECTION:
looomaaed.tartu.ee. 300 IN MX 20 mail.loomaaed.tartu.ee.
;; AUTHORITY SECTION:
looomaaed.tartu.ee. 300 IN NS ns1.loomaaed.tartu.ee.
looomaaed.tartu.ee. 300 IN NS ns2.loomaaed.tartu.ee.
;; ADDITIONAL SECTION:
mail.loomaaed.tartu.ee. 300 IN A 192.168.0.24
ns1.loomaaed.tartu.ee. 86400 IN A 192.168.193.163
ns2.loomaaed.tartu.ee. 86400 IN A 192.168.193.164
Kui kasutaja internetist püüab saata kirja aadressile mart@loomaaed.tartu.ee, siis toimub selline järgnevus
- kasutaja süsteemi postiedastusagent küsib avalikust nimesüsteemist loomaaed.tartu.ee postimasina nime, saab teada MX kirjest teada, et postimasina nimi on mail.loomaaed.tartu.ee
- kasutaja süsteemi postiedastusagent saab lisaks A kirjest teada, et mail.loomaaed.tartu.ee postimasin asub aadressil 192.168.0.24
- kasutaja süsteemi postiedastusagent võtab aadressile mart@loomaaed.tartu.ee kirja saamise asjus ühendust soketil 192.168.0.25:25 töötava postiedastusagendiga
PTR kirje
Tihtipeale on teised internetis töötavad postimasinad seadistatud käima selliselt, et nad konktrollivad, kas MX kirje domeeninimele (mail.loomaaed.tartu.ee) vastava ip aadressi (192.168.0.24) pöördteisendus on olemas, või veel enam, langeb kokku MX domeeninimega. Sellise kontrolli läbimiseks peab olema nimesüsteemis seadistatud korrentne PTR kirje, antud juhul selline
$ dig -x 192.168.0.24
;; QUESTION SECTION:
;24.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
24.0.168.192.in-addr.arpa. 300 IN PTR mail.loomaaed.tartu.ee.
;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400 IN NS ns1.loomaaed.tartu.ee.
0.168.192.in-addr.arpa. 86400 IN NS ns2.loomaaed.tartu.ee.
Postimasina ettevalmistamine
Postimasinas tuleks esmalt kontrollida, kas arvuti nimi on korrektselt seadistatud. Antud juhul peaks olema failis /etc/hostname kirjas
# cat /etc/hostname
mail
ning failis /etc/hosts kirjas
# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.96.138 mail.loomaaed.tartu.ee mail
Kontrollimiseks peab hostname programmile süsteem vastama nii
# hostname
mail
# hostname -f
mail.loomaaed.tartu.ee
Olgu postimasin ühendatud võrku nii nagu punktis Eesmärk on esitatud, kusjuures
- tulemüürist peab saama pöörduda postimasina pordile 25/tcp
- postimasin peab saama pöörduda internetti pordile 25/tcp
- postimasin peab saama nimesid lahendada
Lisaks võiks postimasinas olla seadistatud selline tarkvara
- ntp - ajaserver, õigemini küll kliendi rollis
- lokaat
- syslog
Tarkvara paigaldamine
Postfix tarkvara v. 2.5.5 saab paigaldada Debian Lenny paketihaldusest öeldes
bash# apt-get install postfix postfix-doc
Tavaliselt siis eemaldatakse vaikimisi Debiani standard operatsioonisüsteemi kooseisus esinev Exim Postfixi vastu. Postfixi paigaldamisel tuleb valida 'General type of configuration', valime 'Internet Site'
Seejärel küsitakse 'mail name' väärtust, see hakkab esinema läbi selle postisüsteemi välja saadetud kirjade eposti aadresside @ märgist paremal
loomaaed.tartu.ee
Seejärel tekitatakse kasutaja, genereeritakse seadistusfailid ja käivitatakse Postfix.
Setting up postfix (2.5.5-1.1) ...
Adding group `postfix' (GID 107) ...
Done.
Adding system user `postfix' (UID 105) ...
Adding new user `postfix' (UID 105) with group `postfix' ...
Not creating home directory `/var/spool/postfix'.
Creating /etc/postfix/dynamicmaps.cf
Adding tcp map entry to /etc/postfix/dynamicmaps.cf
Adding group `postdrop' (GID 108) ...
Done.
setting myhostname: mail.loomaaed.tartu.ee
setting alias maps
setting alias database
changing /etc/mailname to loomaaed.tartu.ee
setting myorigin
setting destinations: loomaaed.tartu.ee, mail.loomaaed.tartu.ee, localhost.loomaaed.tartu.ee, localhost
setting relayhost:
setting mynetworks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
setting mailbox_size_limit: 0
setting recipient_delimiter: +
setting inet_interfaces: all
/etc/aliases does not exist, creating it.
WARNING: /etc/aliases exists, but does not have a root alias.
Postfix is now set up with a default configuration. If you need to make
changes, edit /etc/postfix/main.cf (and others) as needed. To view Postfix configuration
values, see postconf(1).
After modifying main.cf, be sure to run '/etc/init.d/postfix reload'.
Running newaliases
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
Setting up postfix-doc (2.5.5-1.1) ...
Postfixiga on seotud failisüsteemis sellised kataloogid ning failid
- /etc/postfix - Postfixi seadistusfailid, kõige olulisemad on main.cf ja master.cf
- /etc/mailname - sisuga 'loomaaed.tartu.ee'
- /var/spool/postfix - saba (ingl. k. queue)
- /var/log/mail.* - logi
- /usr - programmifailid ja teegid ning dokumentatsioon, erinevates kataloogides, 'dpkg -L postfix' ütleb
- man 5 postconf - manuaal
- /etc/aliases - nn aliases andmebaas
Tarkvara paigaldamisel esitatud dialoogi saab edaspidi esile kutsuda öeldes
# dpkg-reconfigure postfix
Postfixi seadistamine võtma vastu loomaaed.tartu.ee domeeni kirju
Parasjagu kehtestatud seadistusi saab küsida öeldes 'postconf -n', -n võti tähendab, et esitatakse seadistused, mis on /etc/postfix/main.cf failis kirjeldatud
# postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
html_directory = /usr/share/doc/postfix/html
inet_interfaces = all
mailbox_size_limit = 0
mydestination = loomaaed.tartu.ee, mail.loomaaed.tartu.ee, localhost.loomaaed.tartu.ee, localhost
myhostname = mail.loomaaed.tartu.ee
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = /usr/share/doc/postfix
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
Kõigi kehtestatud seadistusparameetrite nimekirja koos väärtustega näeb öeldes
# postconf
ning vaikeväärtustega nimekirja öeldes
# postfix -d
Tarkvara paigaldamise käigus moodustatud seadistused täidavad püstitatud eesmärgi kirjade vastuvõtmise osas
- inet_interfaces - väärtus 'all' tähendab, et Postfix server kuulab kõigil võrguseadmetel port 25/tcp peale tulevaid ühendusi
- mydestination - väärtuste seas esineb domeeninimi loomaaed.tartu.ee, mis tähendab, et selle domeeni kirju võetaks vastu ja neile tehakse local delivery
- vaikimisi ei ole Postfix avatud relee (ingl. k. open relay), st läbi mail.loomaaed.tartu.ee ei saa avalikust internetist pöördudes saata kirju suvaliste domeenide kasutajatele
- vaikimisi salvestab Postfix local delivery kirjad kasutajanimelistesse failidesse kataloogi /var/mail
Postfixi seadistusfailis /etc/postfix/main.cf kasutatud direktiivide esinemise järjekord ei ole tehnilises mõttes tähtis va asjaolu, et kui üks ja sama direktiiv on kirjeldatud mitu korda, siis jääb kehtima viimane kirjeldus. Kasutamise mõttes on otstarbekas samalaadseid direktiive grupeerida.
Kirja vastuvõtmine
Kui internetis saata kiri aadressile mart@loomaaed.tartu.ee, siis ilmub Postfixi logisse
# tail -f /var/log/mail.log
...
1 Jul 11 15:51:21 mail postfix/smtpd[6618]: connect from post-relee.auul[192.168.1.150]
2 Jul 11 15:51:21 mail postfix/smtpd[6618]: 77CB1AC112: client=post-relee.auul[192.168.1.150]
3 Jul 11 15:51:21 mail postfix/cleanup[6622]: 77CB1AC112: message-id=<20090711125121.7AC116E512@bmail.com>
4 Jul 11 15:51:21 mail postfix/qmgr[6304]: 77CB1AC112: from=<priit@bmail.com>, size=516, nrcpt=1 (queue active)
5 Jul 11 15:51:21 mail postfix/smtpd[6618]: disconnect from post-relee.auul[192.168.1.150]
6 Jul 11 15:51:21 mail postfix/local[6623]: 77CB1AC112: to=<mart@loomaaed.tartu.ee>, relay=local, \
delay=0.02, delays=0.01/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)
7 Jul 11 15:51:21 post-lenny postfix/qmgr[6304]: 77CB1AC112: removed
kus
- - internetist aadressilt 192.168.1.150 võetakse ühendust
- - ...
- - eposti kirja identifikaator (message-id) on 20090711125121.7AC116E512@bmail.com
- - kiri on aadressilt priit@bmail.com
- - tcp/ip ühendus arvutiga 192.168.1.150 lõpetatakse
- - sooritatakse nn local delivery, st kiri salvetataks faili /var/mail/mart
Järgmised kirjad lisanduvad faili /var/mail/mart.
Vastuvõetud kirja lugemine
Postfix on postiedastusagent ja ta ei tegele ise kasutajate postiprogrammide (nt Icedove või Alpine) teenindamisega. Postfixi poolt postimasina failisüsteemi salvestatud nn postkastifailidest /var/mail/kasutajanimi saab kasutaja lugeda kirju kahel moel
- kõige otsekohesem, aga praktiliseks kasutamiseks ehk suhteliselt ebamugav on kasutajatel on kirju lugeda nii, et logida sisse kasutajana postimasinasse ja kasutada programmi Alpine, mis oskab sellest failist kirju esitada
- postimasinasse tuleb paigaldada mõni spetsiaalselt kasutajate postiprogrammidega suhtlev tarkvara, nt IMAP server Cyrus, mis oskab võrgus teenindada kasutaja töökoharvutist nt Icedove programmi kui IMAP kliendi pöördumisi
Alpine paigaldamiseks peab süsteemiadministraator ütlema
# apt-get install alpine
Postfixi seadistamine saatma välja alamvõrgu 192.168.0.0/24 kirju
Kirjade väljasaatmiseks tuleb muuta failis /etc/postfix/main.cf parameetri mynetworks väärtust lisades sinna kasutatava subneti aadressi, tulemusena on vastav rida selline
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24
Peale seadistusfaili muutmist tuleb öelda
# /etc/init.d/postfix reload
Kirja väljasaatmine
Kirja väljasaatmiseks tuleb kasutaja postiprogrammis, nt Icedove seadistada väljuva eposti arvuti aadressiks 192.168.0.25
Kirja väljasaatmisel tekib logisse
1 Jul 11 19:33:09 mail postfix/smtpd[6278]: connect from moraal[192.168.0.10]
2 Jul 11 19:33:10 mail postfix/smtpd[6278]: 5590C6E50A: client=moraal[192.168.0.10]
3 Jul 11 19:33:10 mail postfix/cleanup[6282]: 5590C6E50A: message-id=<4A58BEC5.20506@loomaaed.tartu.ee>
4 Jul 11 19:33:10 mail postfix/qmgr[6274]: 5590C6E50A: from=<mart@loomaaed.tartu.ee>, size=484, nrcpt=1 (queue active)
5 Jul 11 19:33:10 mail postfix/smtpd[6278]: disconnect from moraal[192.168.10.10]
6 Jul 11 19:33:10 mail postfix/smtp[6283]: 5590C6E50A: to=<priit@bmail.com>, \
relay=mail.bmail.com[192.168.32.82]:25, delay=0.3, delays=0.15/0.01/0.03/0.11, dsn=2.0.0, status=sent \
(250 2.0.0 Ok: queued as 77B0E4A9D2)
7 Jul 11 19:33:10 mail postfix/qmgr[6274]: 5590C6E50A: removed
kus
- postimasina poole pöördub kasutaja oma töökohaarvutist nt Icedove programmiga
- ...
- ...
- kiri on from aadressiga mart@loomaaed.tartu.ee
- tcp/ip ühendus kasutaja töökohaarvutiga lõpetatakse
- kiri on saadetakse aadressile priit@bmail.com võttes ühendust postimasinaga aadressil 192.168.32.82 ja 'status=sent' tähendab, et kiri õnnestus välja saata
Postimasina kasutamine tulemüüri taga NAT võrgus
Kui postimasin asub aadress-teisendavad tulemüüri taga, siis tuleb Postfixi seadistusfaili /etc/postfix/mail.cf lisada rida
proxy_interfaces = 192.168.96.138
kus ip aadress on tulemüüri avalik aadress, mida internetist kasutatakse selle postimasina poole pöördumiseks.
Spämmi tõrjumine DNSBL nimekirja abil
DNSBL (Domain Name System Blocklist) tehnika võimaldab enne kirja vastuvõtmist postimasinal kontrollida tavalise nimepäringu abil, kas tema poole pöörduva SMTP kliendi ip aadress on nö spämmijate nimekirjas või mitte. Postfix toetab sellise kontrolli teostamist.
DNSBL teenusepakkujaid on internetis palju, sobiva valimisel tuleks arvestada selliseid asjaolusid
- DNSBL teenusepakkujale usaldatakse otsuse tegemine, millistelt aadressidelt ei saa kõnealusesse postimasinasse kirju saata
- DNSBL teenuseid pakutakse erinevatel tingimustel, nt on tasulisi ja mitte-tasulisi
Populaarsed teatud tingimustel tasuta DNSBL teenuse pakkujad on
Spamhaus esitab oma aadresse kolmes erinevas nimekirjas ja kombineeritud nimekirjadena
- Spamhaus Block List (SBL, sbl.spamhaus.org) - kinnitatud spämmijate ip aadressid
- Exploits Block List (XBL, xbl.spamhaus.org) - nimekiri tuntud viirusi, eksploite, troojalasi jms levitavatest ip aadressidest
- Policy Block List (PBL, pbl.spamhaus.org) - nö kodukasutajate ip aadresside nimekiri, millelt tegelikult ei peaks kasutajad eposti saatma
Kombineeritud nimekirjad on sellised
- sbl-xbl.spamhaus.org - SBL+XBL
- zen.spamhaus.org - SBL+XBL+PBL
Spamhaus teenus on nö kodukasutajatele tasuta kasutada teatud tingimustel, kasutamistingimusi saab vaadata üksikasjalikult aadressilt http://www.spamhaus.org/
Postfixi seadistamiseks kontrollima SMTP kliendi ip aadressi zen.spamhaus.org nimekirjast peab seadistusfailis /etc/postfix/main.cf olema nt rida
smtpd_recipients_restrictions = permit_mynetworks, reject_unauth_destination,
reject_rbl_client zen.spamhaus.org
Seda rida tuleks lugeda selliselt
- piiranguid kontrollitakse järjest, rakendatakse esimesena klappiv piirang
- kui ükski piirang ei klapi, siis vaikimisi lubatakse andmevahetust
- permit_mynetworks - postfixi smtpd komponent lubab andmevahtust kohalikest võrkudest
- reject_unauth_destination - postfixi smtpd komponent ei luba andmevahetust kui RCPT TO päise järgi ei ole postimasin seadistatud kirja vahendama edasi või ise vastu võtma; see rida tegeleb eituse genereerimisega st kui nt kiri on vahendatav, siis tegeleb selle läbi lubamisega mõni reject_recipients_restrictions järgmine kontroll või lubatakse ta vaikimisi läbi
- reject_rbl_client zen.spamhaus.org - kontrollitakse dns abil Spamhaus teenusest, kas tegemist on tuntud spämmijaga ning vajadusel andmevahetust ei lubata
- permit - kui kiri ei klappinud ühegi kontrolliga, siis lubatakse ta läbi
- kui seadistusfaili rida algab tühiku või tabulatsioonimärgiga, siis loetakse seda eelmise rea jätkuks
- elemente on samaväärne eraldada tühiku või komaga (või mõlemiga)
Piirangute esitamisel on järjekord oluline, sõltub asjaoludest, aga üldiselt on otstarbekas kallimad kontrollid paigutada lõpupoole.
Kuulates võrku pealt on näha, et postimasin esitab oma seadistatud nimeserveri kaudu päringu Spamhausile ja saab vastuseks, et saatja 192.168.32.86 ip aadress ei ole tuntud spämmija
21:35:41.145213 IP 192.168.0.25.52665 > 192.168.96.138.53: 48934+ A? 86.32.168.192.zen.spamhaus.org. (48)
21:35:42.133214 IP 192.168.96.138.53 > 192.168.0.25.52665: 48934 NXDomain 0/1/0 (112)
Kui aga Spamhausi poolt kiri peatatakse, siis on Postfixi logis kirjas midagi sellist
Jul 11 21:48:47 mail postfix/smtpd[21995]: NOQUEUE: reject: RCPT from unknown[192.168.175.125]:\
554 5.7.1 Service unavailable; Client host [192.168.175.125] blocked using zen.spamhaus.org; \
http://www.spamhaus.org /query/bl?ip=192.168.175.125; \
from=<handbags@spammija.net> to=<rosenqvistrosenqvistrbwf@loomaaed.tartu.ee> proto=ESMTP \
helo=<125-175-168-192.cab.tiiba.net.ar>
Nö käsitsi saab ip aadressi Spamhausi kuulumist kontrollida küsides, kuulumisel vastatakse nii
$ dig +short 125.175.168.192.zen.spamhaus.org
127.0.0.4
ja mitte-kuulumisel
$ dig +short 125.175.168.192.zen.spamhaus.org
$
Või brauseriga küsides aadressilt http://www.spamhaus.org/query/bl?ip=192.168.175.125
Kasulikud lisamaterjalid