Postfix transport_maps
 
gen2brain (748) #4235
27. feb. 06. 13:21
Dobio sam zadatak na poslu da podignem nas mail server koji ce da se ponasa kao mail gateway. Do sad je sve islo kako treba ali sad ima nekih sitnica koje nigde nisam mogao da pronadjem (ili ne znam sta tachno da trazim).
Znaci ovako stoje stvari: server ce sluziti kao smtp server za celu firmu i kao pop server za 10-tak maloprodaja. Podesio sam mx record na dns-u i mail uredno nalazi server-a. Nasao sam skriptu koja pokupi sve mail adrese iz ldap direktorijuma sa w2k masine i to prebaci u relay_recipient. Podigao spamassassin, clamav, popbeforesmtp... Sve to radi kako treba, poruka stigne do postfixa i on je prosledi exchange-u dok za tih 10-tak maloprodaja imam unix usere i za njih poruka stize u localu tacnije u njihov .maildir.

Ono sto ja hocu je da kad postfix prosledi poruku exchange-u sacuva jedan primerak i u localu... mislio sam da koristim virtualne usere i foldere za to... u svakom slucaju ne znam kako to da izvedem...


command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 5
home_mailbox = .maildir/
html_directory = /usr/share/doc/postfix-2.2.5/html
local_recipient_maps = hash:/etc/postfix/relay_recipients, proxy:unix:passwd.byname, hash:/etc/postfix/aliases
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = domain.co.yu
myhostname = mail.domain.co.yu
mynetworks = 192.168.1.0/24, 127.0.0.0/8
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.2.5/readme
relay_domains = $mydestination
relay_recipient_maps = hash:/etc/postfix/relay_recipients, proxy:unix:passwd.byname, hash:/etc/postfix/aliases
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
show_user_unknown_table_name = no
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient,check_client_access hash:/etc/postfix/pop-before-smtp,reject_unauth_destination
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550



.domain.co.yu smtp:[192.168.1.2]
domain.co.yu smtp:[192.168.1.2]
korisnik1@domain.co.yu local:
korisnik2@domain.co.yu local:
korisnik3@domain.co.yu local:


Znaci ovako izgleda transport tabela... Da li neko mozda zna kako da poruku koja se salje na domain.co.yu prosledim na exchange I sacuvam u localu???

Postfix Mail 
steveb (226) #4236
27. feb. 06. 13:38
Ja bi ti sigurno mogo da pomognem, ali ne razumem sta tacno hoces. Valjda ne razumem dosta dobro nas jezik da to sto posto razumem sta tu pises i sta hoces. Ako bi mogo da to napises na engleski (okay, okay... znam. Mi smo na gentoo-srbija.org ali ipak. Ne mogu tako dobro nas jezik. Pre vise godine sam van nase zemlje i inace nikad sa nikome ne pricam srpski).

Pozdrav

Stevan

gen2brain (748) #4238
27. feb. 06. 15:36
OK, I will write shortly, you see my config...
All I want is to forward all incoming mails to exchange server and to retain a local copy of messages in .maildir on postfix server. Hope I explained my problem a little bit better.

meka (592) #4239
27. feb. 06. 15:43
Ovo nije tako loša ideja i bilo bi i meni korisno (volim da znam kojekakve stvari).

steveb: how to keep mail even when user downloads it through POP3? Something like `ignore the DELE command`, but not quite like that (mark it as `read` or something like that so that next RETR 1 doesn`t download already downloaded message).

gen2brain: da li sam ja ovo dobro shvatio/preveo? U suštini, kako meni ovo treba, moguće je da sam malo skrenuo vodu na svoju vodenicu (nije bila namera). :o)

gen2brain (748) #4240
27. feb. 06. 15:53
Ne, nisi dobro preveo ... ne treba mi tako nesto... mislim da je recenica koju sam gore napisao dovoljno jasna... znaci postfix je gateway i prosledjuje postu exchange-u ali ja hocu da pored toga ostavi i kopiju na postfix serveru...

Petar (120) #4241
27. feb. 06. 16:25
gen2brain napisao:
ali ja hocu da pored toga ostavi i kopiju na postfix serveru...


always_bcc = gen2brain@domain.co.yu

Tako sva posta zavrsava kod tebe u maildir-u , bez obzira ko salje i gde salje, ti dobijas kopiju. Ako je to ono sto ti treba.

meka (592) #4242
27. feb. 06. 18:40
gen2brain, u vreme kada sam pisao nije bilo tvog post-a (razlika je 7 minuta izmedju naših post-ova). Nisam hteo da ispravljam tvoj engleski ili tako nešto. A i kad je tema tu, da postavim i ono što mene muči.

gen2brain (748) #4243
27. feb. 06. 18:42
Pa nije bas... pazi ovako, taj w2k server je domain kontroler, na njemu je exchange server koji isporucuje postu po firmi i on ne moze da se ukloni zbog nekih specificnih stvari u outlook-u (taskovi i sl.).

E sad, ovako konfigurisan postfix radi ok, pokupio sam sa nekom perl skriptom iz ldap-a sve mail adrese i to smestam u relay_recipients tako da postfix bounc-uje svaku poruku za koju ne nadje odgovarajuceg usera.

Znaci postfix ovako prosledi postu do exchange-a i exchange je smesta u njegov mailbox. Ono sto ja hocu je da za svakog usera pored toga sto prosledi poruku istu sacuva i u maildir na gentoo serveru i to svaku u odgovarajuci folder, tako da u slucaju da se exchange zaglupi (sto se desava cesto...) ne zavisim od njega vec mogu da imam svu postu i na gentoo-u, a to znaci da mogu i da podignem neki webmail klijent.

E pa ako je ko skapirao sta ja hocu pomagajte.... znam da je ovako nesto sigurno moguce, procitao sam svasta ali na brzinu tako da nisam bas siguran odakle da krenem...

gen2brain (748) #4244
27. feb. 06. 18:43
meka napisao:
gen2brain, u vreme kada sam pisao nije bilo tvog post-a (razlika je 7 minuta izmedju naših post-ova).

Ma ok skapirao sam, samo nisam hteo da zbunimo steveb-a sa dva razlicita pitanja.. :)

steveb (226) #4248
28. feb. 06. 17:33
Ne, nisi dobro preveo ... ne treba mi tako nesto... mislim da je recenica koju sam gore napisao dovoljno jasna... znaci postfix je gateway i prosledjuje postu exchange-u ali ja hocu da pored toga ostavi i kopiju na postfix serveru...


Okay. To razumem. Sta jos nisam siguran je ovo ovde:
Postfix radi samo kao mail relay. Mail dolazi is interneta i postfix valjda samo pravi anti-virus i anti-spam check i onda automaticno pravi forward na MS Exchange SMTP. Jeli to tacno? Znaci na Postfix serveru NEMA nikakav local storage za mail?

I sada hoces, da Postfix isto stavi na stranu celi mail sto salje na MS Exchange u neki local storage? Jeli to tacno?

Smijem li da te pitam zasto to hoces?

Pitam zato, sto ako upotreblavas "always_bcc" funktiu od Postfix, onda ce valjda sve ici u jedan directory. Znaci mail za user1@domain.tld, user2@domain.tld i user3@domain.tld sve oni bi isli kazemo na shared.store@domain.tld (local Postfix maildir account). Na kraju ce biti veoma tesko da imas "overview" koja mail kome pripada.

Mozda ti to nije ni vazno? Neznam. To zavisi sta je tvoj "scope" ili "goal" od toga local save.


Mozda sam pre vise "business objective oriented"? Ja imam musterije, sto tacno isti "need" imaju kao ti. Kod nas ovde nije technika najveliki problem, nego zakon. Zakon nam ne dava, da pravimo 100% mirroring od zeli mail traffic (inbound/outbound). Samo smijemo da registriramo max. 40KB (na kraju je to oko 15KB do 20KB od body, zato sto je mail puno puta mulit byte encoded (kao UTF-8)) od body, zeli header i druge male sitnize (kao delivery time, send time, etc).

Anyway... sa Postfix imas sa tvojom version od Postfix, tri mogucnosti da napravis to sta zelis:Automatic BCC recipients

Druga moguznost je da upotrebljavas nesta kao procmail i tamo da pravis taj mirroring/saving. Ili da napises nesta kao Postfix policy deamon sto kopira mail svaki put kad imas inbound mail.

Vazno je, da se pitas, zasto ti to treba. Onda je laksije da se nadje "solution" za tvoj "need".


Pozdrav

Stevan

Petar (120) #4249
28. feb. 06. 18:11
steveb napisao:
Pitam zato, sto ako upotreblavas "always_bcc" funktiu od Postfix, onda ce valjda sve ici u jedan directory


Procmail može posle da sortira taj email u maildirs, ovako nešto:

:0 
* ^From:.*(korisnik1\@domain.co.yu)
$MAILDIR/korisnik1/

:0
* ^From:.*(korisnik2\@domain.co.yu)
$MAILDIR/korisnik2/

.....



ili da koristi bcc mape sa svakog juzera, ko što si predložio

pz

gen2brain (748) #4250
28. feb. 06. 18:47
steveb napisao:
Postfix radi samo kao mail relay. Mail dolazi is interneta i postfix valjda samo pravi anti-virus i anti-spam check i onda automaticno pravi forward na MS Exchange SMTP. Jeli to tacno? Znaci na Postfix serveru NEMA nikakav local storage za mail?

Bas tako, stavio sam postfix sa amavisd-om, clamav, spamassassin, samo sto trenutno IMA oko desetak korisnika kojima sam otvorio unix account i koji ce dobijati postu u local storage. Oni pristupaju remote serveru i za njih sam stavio courier-imap. Te adrese sam stavio u transport_maps a sva ostala posta za domain.co.yu ide do microsoft exchange-a.
Tako da ipak nece raditi samo kao gateway...

steveb napisao:
Mozda ti to nije ni vazno? Neznam. To zavisi sta je tvoj "scope" ili "goal" od toga local save.

Desavalo su se vec svakakve havarije sa exchange-om, od toga da mu njegov JEDAN fajl, baza u kome drzi sve mailboxove dostigne limit od 16gb i prestane sa radom (treba kupiti noviju verziju jel) do "sitnih" ispadanja i odbijanja da salje ili prima poruke. Hocu da izbegnem takve situacije u buducnosti, ako imam kopiju svakog maila u localu moci cu da podignem squirrelmail ili nesto slicno i svi ce moci da nastave sa radom dok se exchange "popravlja".

Nije lose ovo gore resenje sa procmailom ali mislim da mi je mozda bolje da koristim recipient_bcc_maps, ovako nesto
user1@domain.co.yu	user1@localhost
user2@domain.co.yu user2@localhost

Ovo bi trebalo da radi jer da?
Vec imam perl skriptu u cron-u koja vuce iz activedirectory email adrese svih korisnika, nije problem da je prepravim da pravi i ovakav format ali sad opet problemi....
Ima oko 80 korisnika, hocu naravno da izbegnem otvaranje unix naloga :( Sta raditi?
Secam se da sam kad sam nesto cackao oko sambe uspeo da pridruzim masinu w2k domain-u i da sam sa getent passwd dobijao sve korisnike u domainu. Da li je to resenje ili neki virtualni useri..?

steveb (226) #4256
28. feb. 06. 20:22
Okay. Razumem sta sada hoces.

Ako bi ja bijo u tvojoj situaciu, onda bi ja to ovako uradio:

Ja bi sve instaliro na Linux systemu, bez integrazije sa MS Exchange.
Ja bi istaliro Postfix, Cyrus-IMAP, DSPAM, Amavis-New. Za user management bi valjda uzo Cyrusmaster zato sto ima interface na LDAP i MS Exchange isto moze da priza na LDAP (Znam. Pisao sam, da nebi mislijo na MS Exchange. Ali ipak morao bi, jeli to je final delivery system za mail kod vas). Onda bi to sve konfiguriro i tek na kraju bi napravijo link medju Postfix/Cyrus <-> MS Exchange. Ja bi uzo nesta kao IMAP Sync i bi synco mail medju Cyrus i MS Exchange. Na kraju bi imao mail na obadve strane. U Cyrus i u MS Exchange. Ako MS Exchange se pokvari, onda bi useri ipak mogli preko neki Web-Interface da citaju mail na Linux system. Sta nebi imali na Linux systemu je:
Calendaring & Scheduling
Contacts


Contacts bi mogo da stredis sa nekim LDAP Addressbook. Ali Calendaring & Scheduling nije tako lako. Nema puno applications sto rade 100% sa Outlook/MS Exchange.

Anyway... Sa LDAP bi mogo da administriras usere samo na jednoj strani. Tako nebi trebo da otvaras user na linux. Cyrus tako i tako ne otvara local unix accounts. U Cyrus je sve virtual.

Cyrus je isto veoma brze nego Courier, ako imas puno mail.

DSPAM bi uzo, sato sto je tacniji nego SpamAssassin i upotrebljava manje ressources nego SA. Ako ti treba, ja imam preko 12'000'000 tokens u mojoj DSPAM test installation. To bi ti dalo "out of the box" jednu "accurency" od 99.9x%. Mogo bi da napravim dump od to i da bazim na ftp server.

Ti bi cak i mogo da uzmes nesta ko Zimbra ili Open-Xchange ili Scalix ili nesta slicno pa bi imao sve (mail, C&S, contacts, etc) na Linux. Onda nebi ti trebo MS Exchange server a useri bi ipak mogli dalje da rade sa Outlook.



Mozda sam fantasiro pre vise? Mozda moj "approach" nije tacno sta trazis?

Pozdrav

Stevan


EDIT: Zaboravijo sam da pisem, da je "advantage" od jednom IMAP Sync da i mail, sto je generiran u MS Exchange isto se nadje na drugoj (Linux) strani. Ako pravis bcc copy od inbound mail, onda to nebi imao.

gen2brain (748) #4257
28. feb. 06. 22:01
Uh, sve to zvuci stvarno lepo ali moram do kraja nedelje da zavrsim sa ovim. Ne znam da li cu imati vremena sad da probam Cyrus, ovako kako je sad sredjeno moze da radi pa makar i ne cuvao poruke u localu.

Pokusacu jos sa ovim - http://forums.gentoo.org/viewtopic-t-373283-highlight-exchange.html

Na to sam mislio kad sam pisao da mi je uspelo da imam sve domain usere na linux masini. Znaci ovako bi trebao samo da napravim home direktorijume za sve te usere a svi bi mogli da se autentifikuju preko password-a iz active directory-ja.
Paa, ako ne uspem kad budem imao vremena probacu sigurno cyrus.

Pozdrav.

steveb (226) #4258
28. feb. 06. 22:45

steveb (226) #4289
02. mar. 06. 06:08
@gen2brain: Kako bi bilo, da bi jos malo napravio "hardening" od tvog Postfix? Mislim nesta kao: SPF, DNSbl, Greylisting, etc... To sigurno nebi bilo lose. Sta mislis? Mogu ti da ti dobro pomognem u tom smislu.

gen2brain (748) #4293
02. mar. 06. 14:48
Za sad ova kombinacija radi odlichno! :) Testiram ga vec nekoliko dana i nije uspeo nijedan bad mail da se provuce. U subotu cu verovatno da prebacim MX record za .com domain da pokazuje na ovaj server. Ako i posle toga bude ovako uspesno "ubijao" bad mail mislim da nece biti potrebno. spamassassin radi posao sasvim ok. Ako bude frke zovem u pomoc. :)

steveb (226) #4301
02. mar. 06. 19:09
Okay. Ako imas tak dobar setup, onda idi na www.spamarchive.org i skini nihov celi archive od spam sto imaju (to je preko 100'000 spam mails) i prevuci to preko SpamAssassin. Kazi mi koliko greske tobivas?

Ja sa mojim DSPAM setup (imam oko 21'000'000 token u DSPAM) imam manje od 10 greske (missclassification) na celi spamarchive.org data set.

Bas bi hteo da znam koliko tvoj SpamAssassin bi uvatio. Siguran sam, da ce vise od 10 greske napraviti. 100% sam siguran. Jeli SpamAssassin nije tako dobar kao DSPAM ili CRM114. Nemoze da bude!

A kad pravim test sa Enron Email Dataset onda imam manje od 100 greske. A celi Enron Email Dataset je oko 500'000 mail totalno!

Iskreno sam interesiran na tvoj SpamAssassin accurancy. Kod mene DSPAM moze nekoliko desetak mail na sekundu da classificira (na malom serveru sa Athlon Duron 1.3GHz). Koliko brzo moze SA kod tebe da radi? A kaku tacinu ima? Jeli je nesta oko 99.9% ili nesta drugo? Bas sam interesiran.

Pozdrav

Stevan

gen2brain (748) #4302
02. mar. 06. 20:33
Ajde probacu sutra tu arhivu sa spamarchive. Sad bas i mene zanima kakvi ce biti rezultati. Nisam ja to nesto extra sredjivao, samo sam stavio spamassassin-ruledujour i manje vise default podesavanja, smanjio sam $sa_tag2_level_deflt na 5...
Inace, kako ti radis taj test? Na spamarchive-u ima gomilu malih fajlova, necu imati vremena da se toliko bakcem sa njima :)
Masine su slicne, mislim da je i ovaj moj neki duron na 1GHz...mozda malo vise...
Edit:
222,506 messages
1.3GB
Auh, a mozda i necu bas sutra da probam ali u svakom slucaju javljam ;)

steveb (226) #4303
02. mar. 06. 21:20
Siko sam sve od njih. Submited i auto submited. Onda sam sa gzip dearichiviro i onda sa mbox2maildir (cini mi se to je is Qmail) sam sve pretvorijo u maildir format. Onda sam sve failove renamo na md5sumu:
for foo in *;do mv -v ${foo} $(md5sum ${foo}|awk 'print $1');don 
e



I onda sa DSPAM:
for foo in *;do if(dspam --user globaluser --classify --deliver= 
summary<${foo}|grep -ivq "result="Spam"");then echo ${foo};fi;done|w
c -l



Bas sada pravim jos jedamput test. Ocu da vidim koliko false positive i false negative imam. Do sada imam 6 komada a tek sam 1/8 od archive proverio. Neznam dali cu biti ispod 10 komada. Ne verujem. Ali moram da vidim. Sigruno nece biti preko 100.


Pozdrav

Stevan

Na teme mogu odgovarati samo članovi. Morate biti prijavljeni ili se registrovati.