Erinevus lehekülje "Postfix'i kasutamine Debianiga" redaktsioonide vahel
(→Cyrus) |
(→Mailman) |
||
358. rida: | 358. rida: | ||
Mõne seadistusparameetri kehtestumiseks tuleb Sympale ja Apache'le stop ja start öelda. | Mõne seadistusparameetri kehtestumiseks tuleb Sympale ja Apache'le stop ja start öelda. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===SPF - Sender Policy Framework=== | ===SPF - Sender Policy Framework=== |
Redaktsioon: 8. juuli 2009, kell 16:46
Sisukord
- 1 Sissejuhatus
- 2 Eesmärk
- 3 Postimasina ettevalmistamine
- 4 Tarkvara paigaldamine
- 5 Seadistamine
- 6 Kasutamine
- 7 Kirjade töötlemine välise programmiga
- 8 Logi ja debugimine
- 9 Spämmi tõrjumine Postfixi sisemiste vahenditega
- 10 Andmevahetuse krüptimine
- 11 Postisüsteemi testimine
- 12 Amavis
- 13 IMAP kliendid
- 14 Sympa
- 15 SPF - Sender Policy Framework
- 16 Kahetasemeliste Postfixi lahenduse kasutamine
- 17 Milter
- 18 Märkused
- 19 Kasulikud lisamaterjalid
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ärgiks on seadistada käima selliste omadustega postiedastusagent
- võtab vastu domeenide loomaaed.tartu.ee ja www.loomaaed.tartu.ee posti
- saadab mart@loomaaed.tartu.ee aadressile saadetud kirja edasi aadressile
- salvestab priit@loomaaed.tartu.ee aadressile saadetud kirja faili /var/mail/mart
- võimaldab saata välja alamvõrkudest 192.168.0.0/24 ja 172.16.0.0/24 posti
Postimasina ettevalmistamine
Vaada üle vastavalt vajadustele
- ntp
- lokaat
Tarkvara paigaldamine
Postfix tarkvara saab paigaldada Debiani 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.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'. Running newaliases Stopping Postfix Mail Transport Agent: postfix. Starting Postfix Mail Transport Agent: postfix.
Postfixiga on seotud failisüsteemis sellised kataloogid ning failid
- /etc/postfix - Postfixi seadistusfailid
- /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
Süsteemist väljuva posti ümbriku muutmiseks tuleb kasutada mail.cf failis rida
smtp_generic_maps = hash:/etc/postfix/generic
ning /etc/postfix/generic ise sisaldab näiteks selliseid ridu
www-data@arvuti.sisedomeen www-bounce@valisdomeen.ee root@arvuti.sisedomee www-bounce@valisdomeen.ee
Muudatuste kehtestamiseks tuleb generic'ikile vastav andmebaas moodustada käsuga
# postmap /etc/postfix/generic
ning laadida reload'iga Postfix.
Käskuga postconf estitatakse parasjagu kehtetatud Posfixi seadistused
# postconf
ning lisades võtme -n esitatakse main.cf failis ilmutatult kasutatud parameetrite väärtused
# postconf -n
Konkreetse parameetri väärtust saab küsida nii, nt
# postconf mail_version mail_version = 2.5.5
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"; print fh "$ARGV[1]\n\n\n"; @read=<STDIN>; foreach $rida (@read) { print fh $rida; }
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.
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
# postsuper -d C558C4DC80
Spämmi tõrjumine Postfixi sisemiste vahenditega
Näiteks sobib kasutada sellist parameetrit selliste väärtustega
smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_access, 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
Amavis http://www.ijs.si/software/amavisd/ tarkvara võimaldab postisüsteemi, nt Postfix, ühendada väliste teenustega ja nende väliste teenuste kasutamist juhtida. Hästi levinud on kasutada Amavisi juhtimisel sellist analüüsi teostavat tarkvara
- ClamAV - viiruste analüüsi tarkvara
- Spamassassin - spami analüüsi tarkvara
Amavis tarkvara kasutamist kirjeldab aadressil http://kuutorvaja.eenet.ee/wiki/Amavis_kasutamine_Debian_Lenniga asuv tekst.
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" TransferLog "/var/log/apache2/sympa.avalik.kit-access.log" <Directory "/home/sympa/www"> Options None AllowOverride All Order Deny,Allow Allow from All </Directory> Alias /static-sympa /usr/local/sympa/static_content ScriptAlias /sympa /usr/local/sympa/bin/wwsympa.fcgi </VirtualHost>
Sympa seadistamine toimub peamiselt faili /etc/sympa.conf abil, olulised on järgmised määrangud
domain loomaaed.tartu.ee listmaster mart@loomaaed.tartu.ee lang en_US supported_lang en_US,et_EE db_type Pg db_name sympa db_host 10.0.6.221 db_port 5432 db_user postgres db_passwd sympa
Sympa käivitamine
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.
Abiks on jälgida Sympa logi, vaikimini /var/log/syslog. Nt Sympa logib läbi veebiliidese antud korraldusi
Dec 21 13:38:58 sympa wwsympa[25679]: [robot loomaaed.tartu.ee] [client 192.168.2.38] [user mart@loomaaed.tartu.ee] [list test] 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.
SPF - Sender Policy Framework
SPF (Sender Policy Framework - ingl. k. epost saatja kontrollimise raamistik) http://www.openspf.org/Project_Overview võimaldab saavutada sellised eesmärke
- 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)
- kaitsta domeeninime omanikku ümbriku from aadressi võltsijate tegevuse eest, tulemusena ei saa võltsijad saata kontrollimatult adressaatidele võltsitud eposti
SPF tööpõhimõtte kirjeldus
# apt-get instal spfqtool
Eposti vastuvõtja ettevalmistamine
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.
Ü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
# apt-get install postfix-policyd-spf-perl
Nimesüsteemi ettevalmistamine
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
Relee arvuti võtab kirjad internetist vastu, aga ei teosta nendega local deliverit, vaid peale viiruse ja spämmi kontrolle saadab edasi delivery arvutile.
main.cf failis tuleb kasutada direktiive
relay_domains = loomaaed.tartu.ee transport_maps = hash:/etc/postfix/transport
ja transport map failis rida
loomaaed.tartu.ee :[localdelivery.loomaaed.tartu.ee]
map'i moodustamiseks öelda
# postmap /etc/postfix/transport
tulemusena tekib faili
# file /etc/postfix/transport.db /etc/postfix/transport.db: Berkeley DB (Hash, version 9, native byte-order)
Delivery seadistamine
Delivery arvuti võtab kirju vastu ainult relee arvutilt ning teostab local delivery või saadab kirjad edasi vastavalt aliaste lahendumisele.
main.cf failis sisaldub mydestination real domeeninimi
mydestination = localhost, loomaaed.tartu.ee
Milter
TODO
Märkused
- abiks pisike programm mail, paketist mailx (mis tegelikult paigaldab sõltuvusena paketi bsd-mailx)
Kasulikud lisamaterjalid
- Tarkvara kodulehekülg - http://cyrusimap.web.cmu.edu/
- IMAP protokolli kasutamise näited - http://bobpeers.com/technical/telnet_imap.php
- apt-get install cyrus-docs-2.2 ja seejärel vaadata brauseriga file:///usr/share/doc/cyrus-doc-2.2/html/index.html