Freesco, NND, CDN, EOS
http://forum.freesco.pl/

exim - config i kilka domen (bylo problem z Thunderbird)
http://forum.freesco.pl/viewtopic.php?f=22&t=12174
Strona 1 z 1

Autor:  Mr Groch [ sobota, 22 kwietnia 2006, 13:45 ]
Tytuł:  exim - config i kilka domen (bylo problem z Thunderbird)

Witam

Mam exima z repozytorium reszta-devel, konfig by maciek,
zmodyfikowany tylko do dzialania bez clamav. Certyfikat i klucz
wygenerowane.

Po pierwsze, gdy w ustawieniach serwera smtp thunderbirda ustawie,
by uzywal "TLS, jesli dostepne" to wywala przy wysylaniu, ze STARTTLS
required before AUTH - czyli jakos nie chce wykryc, ze serwer obsluguje TLS.

Po drugie, gdy juz mu recznie w thunderbirdzie zalacze, ny uzywal TLS
to wyskakuje przy wysylaniu:

Nie mozna ustanowic polaczenia (...) za pomoca STARTTLS poniewaz
serwer nie oferuje STARTTLS w odpowiedzi na ECHLO...

I tyle z wysylania...
Gdy probuje dodac mu parametr -tls-on-connect, to juz wogole
niezaleznie co ustaiwe w thunderbirdzie, zawsze wyskakuje:

(..) poniewaz polaczenie z serwerem SMTP (...) bylo niemozliwe. Serwer moze byc niedostepny lub odrzuca polaczenie.

W logach exima za kadzym razem to samo:
TLS error on connection from k_groch [192.168.0.4] (SSL_CTX_use_certificate_chain_file file=/etc/exim/exim.crt): error:02001002:system library:fopen:No such file or directory

Z gory dzieki za pomoc

Autor:  Maciek [ sobota, 22 kwietnia 2006, 13:57 ]
Tytuł: 

Cytuj:
TLS error on connection from k_groch [192.168.0.4] (SSL_CTX_use_certificate_chain_file file=/etc/exim/exim.crt): error:02001002:system library:fopen:No such file or directory

Zmień w konfiguracji exima i tpop3d ścieżki na /etc/mail/exim.crt.

Autor:  Mr Groch [ sobota, 22 kwietnia 2006, 14:03 ]
Tytuł: 

O kurde... hehe - wklejalem ten log bez przeczytania ze zrozumieniem :)

Faktycznie, nie zauwazylem tej sciezki...

Zaraz sprawdze.. Dzieki

Autor:  Mr Groch [ sobota, 22 kwietnia 2006, 15:35 ]
Tytuł: 

Niestety to nie starczylo..

Uporalem sie juz i chodzi mi cacy, ale to nie zmienia faktu,
ze w domyslnym konfigu jest mnostwo niescislosci...

Po pierwsze - Ci ktorzy nie chca uzywac clamav maja nieco
pokomplikowane zadanie... Nalezy zakomentowac:
: [/] [] ()
#acl_smtp_data = exiscan

#av_scanner = clamd:/var/lib/clamav/clamd.sock

odkomentowac:
: [/] [] ()
acl_smtp_data = acl_check_content

i pozmieniac nieco w sekcji acl_check_content, odkomentowac:
: [/] [] ()
demime = scr:vbs:bat:lnk:pif

regex = [Vv] *[Ii] *[Aa] *[Gg] *[Rr] *[Aa]

i zakomentowac:
: [/] [] ()
#deny message = This message contains malware ($malware_name)
#     malware = *

#warn  message = X-Spam-Score: $spam_score ($spam_bar)
#      spam = nobody:true
#warn  message = X-Spam-Report: $spam_report
#      spam = nobody:true

#warn message = X-Spam-Flag: YES
#     spam = nobody

W przeciwnym wypadku mozna miec duze problemy z wyslaniem...

Dalej - kilka niescislosci zwiazanych z sciezkami i nieprawidlowymi
opcjami..

Nalezy poprawic sciezke do certyfikatow:
: [/] [] ()
tls_certificate = /etc/mail/exim.crt
tls_privatekey = /etc/mail/exim.key

i najlepiej pozbyc sie opcji:
: [/] [] ()
tls_verify_hosts = *

wymaga ona jeszcze jednej opcji, ktora nie zostala dopisana,
a exim sie inaczej nie odpala (tls_verify_certificates), ale
raczej radze wywalic to, gdyz stwarza to dodatkowe problemy
(serwer wymaga od klienta certyfikatu, a to jest znaczny problem)

Dalej - w jendym miejscu trzeba tez poprawic sciezke do pliku
z aliasami:
: [/] [] ()
data = ${lookup{$local_part}lsearch{/etc/mail/aliases}}


I w sekcji Authentication mialem takze problem z plain...
Poprawilem na:
: [/] [] ()
plain:
    driver = plaintext
    public_name = PLAIN
    server_prompts = :
    server_condition = ${if pwcheck{$2:$3}{1}{0}}
    server_set_id = $2

i juz dziala :)

Podsumowujac - przecietny uzytkownik musi sie niezle natrudzic,
by odpalic exima z domyslnym konfigiem :)

Pisze to w trosce dla ogolu i prosze o rozpatrzenie tego jako
poprawek, ktore nalezy naniesc :)

W pliku zmienilem takze pare innych rzeczy, juz raczej podpadajacych
pod kosmetyke... Poprawiony plik exim.conf znajduje sie tutaj:
http://groch.dyndns.org/~groch/exim.conf
(domylsnie wylaczony clamav, ale starczy odkomentowac 2 linie i
jedna zakomentowac, by exim z nim wspolpracowal)

Proponowalbym takze do pliku /rc.d/exim w komendzie
odpalajacej exima zmienic:
: [/] [] ()
/usr/sbin/exim -bd -q15m #-oX 465 -tls-on-connect

niektorym pocztakujacym moze to pomoc - wsytarcy wtedy
tylko odkomentowac jak beda chcieli skorzystac z tej
opcji.. Nie beda musieli szukac co trza dopisac ;)

Pozdrawiam

PS. Mam jeszce na koniec pytanie.. Jak skonfigurowac exima
do pracy na kilku domenach? Np domyslnie dziala na xxx.org,
a chcialbym takze wysylac z yyy.org. Dodatkowo certyfikar
jest wygenerowany dla xxx.org. Jak nalezy problem rozwiazac?

Autor:  Maciek [ sobota, 22 kwietnia 2006, 16:00 ]
Tytuł: 

Cytuj:
plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_condition = ${if pwcheck{$2:$3}{1}{0}}
server_set_id = $2

Z tymi zmianami byłbym bardzo ostrożny, jesteś pewien, że nie zrobiłeś sobie open relay?
Cytuj:
PS. Mam jeszce na koniec pytanie.. Jak skonfigurowac exima
do pracy na kilku domenach? Np domyslnie dziala na xxx.org,
a chcialbym takze wysylac z yyy.org. Dodatkowo certyfikar
jest wygenerowany dla xxx.org. Jak nalezy problem rozwiazac?

W prostym układzie dopisać drugą domenę do local_domains.
Jednak niestety w bardziej skomplikowanym ukłądzie niezależnych domen należałoby chyba wykorzystać virtual exim, a tego nikt nie robił chyba. Generalnie to jeśli ktoś zamierza być profesjonalnym providerem i udostępniać pocztę na różnych domenach, to nie nadaje się do tego exim ani NND.

Autor:  Mr Groch [ sobota, 22 kwietnia 2006, 16:13 ]
Tytuł: 

Maciek pisze:
Z tymi zmianami byłbym bardzo ostrożny, jesteś pewien, że nie zrobiłeś sobie open relay?


Raczej nie, z wylaczonym uwierzytelnianiem u klienta wyskakuje:
authentication PLAIN or LOGIN over TLS/SSL required - relay not permitted

Maciek pisze:
W prostym układzie dopisać drugą domenę do local_domains.
Jednak niestety w bardziej skomplikowanym ukłądzie niezależnych domen należałoby chyba wykorzystać virtual exim, a tego nikt nie robił chyba. Generalnie to jeśli ktoś zamierza być profesjonalnym providerem i udostępniać pocztę na różnych domenach, to nie nadaje się do tego exim ani NND.


Hm... A wiec jak juz to pozostaje mi dopisac ta domene, zakomentowac linie:
: [/] [] ()
#acl_smtp_auth = acl_check_auth

pozostawiajac wybor czy laczyc sie poprzez TLS, czy bez
szyfrowania dla klienta (serwer wtedy tego nie wymaga ale nadal
obsluguje). TLS byloby stosowane tylko dla dmoeny xxx.org gdyz
dla niej zostal wygenerowany certyfikat, a dla yyy.org stosowaloby sie
uwierzytelnianie bez szyfrowania... Dobrze rozumie,?

No chyba, ze jest jakis jeszce sposob na wybor certyfikatu w zaleznosci
od domeny?

Pozdrawiam

Autor:  Mis' [ sobota, 22 kwietnia 2006, 17:14 ]
Tytuł: 

Mr Groch pisze:
Po pierwsze - Ci ktorzy nie chca uzywac clamav maja nieco
pokomplikowane zadanie... Nalezy zakomentowac:
[...]
W przeciwnym wypadku mozna miec duze problemy z wyslaniem...


Rozumiem że nie chcesz clamav. Jednak zdecydowaliśmy, że domyślnie w NND exim będzie działać z clamav.

Mr Groch pisze:
Dalej - kilka niescislosci zwiazanych z sciezkami i nieprawidlowymi opcjami..

Nalezy poprawic sciezke do certyfikatow:
: [/] [] ()
tls_certificate = /etc/mail/exim.crt
tls_privatekey = /etc/mail/exim.key

i najlepiej pozbyc sie opcji:
: [/] [] ()
tls_verify_hosts = *


Dalej - w jendym miejscu trzeba tez poprawic sciezke do pliku
z aliasami:
: [/] [] ()
data = ${lookup{$local_part}lsearch{/etc/mail/aliases}}



poprawione

Mr Groch pisze:
I w sekcji Authentication mialem takze problem z plain...
Poprawilem na:
: [/] [] ()
plain:
    driver = plaintext
    public_name = PLAIN
    server_prompts = :
    server_condition = ${if pwcheck{$2:$3}{1}{0}}
    server_set_id = $2

i juz dziala :)


porównując to do mojego konfiga widzę, że dodałeś jedną linijkę: server_prompts = :
Powiedz proszę co to zmieniło, bo u mnie działa bez kłopotu od dawna bez tego...

Mr Groch pisze:
Podsumowujac - przecietny uzytkownik musi sie niezle natrudzic, by odpalic exima z domyslnym konfigiem :)


Niestety to prawda, nawet było już dziesiątki razy zgłaszane że opis ma się nijak do rzeczywistości. Dlatego jakiś zcas temu wspólnie z Lamerem przygotowaliśmy wszystkie pakiety potrzebne do obsługi poczty, poprawiając ścieżki, prawa, userów itp... Pisałem o tym w dziale Pakiety. Niestety póki co nie mam zadnej odpowiedzi jak działa upgrade, bo świerza instalacja jest bezproblemowa i a konfigurator pozwala uruchomić pocztę w kilka minut.

Mr Groch pisze:
Proponowalbym takze do pliku /rc.d/exim w komendzie
odpalajacej exima zmienic:
: [/] [] ()
/usr/sbin/exim -bd -q15m #-oX 465 -tls-on-connect


poprawione, aczkolwiek dokładnie odwrotnie niż sugerujesz. Po prostu domyślny exim w NND będzie działał z clamav i szyfrowaniem.

Mr Groch pisze:
PS. Mam jeszce na koniec pytanie.. Jak skonfigurowac exima
do pracy na kilku domenach? Np domyslnie dziala na xxx.org,
a chcialbym takze wysylac z yyy.org. Dodatkowo certyfikar
jest wygenerowany dla xxx.org. Jak nalezy problem rozwiazac?


Proponuję dokumentację exima. Ponoć jest to najlepiej napisana dokumentacja do programów uniksowych.
I nie wierz Maćkowi jak pisze że exim się nie nadaje na profesjonalny serwer :-)

Autor:  Mr Groch [ sobota, 22 kwietnia 2006, 18:39 ]
Tytuł: 

Mis' pisze:
Powiedz proszę co to zmieniło, bo u mnie działa bez kłopotu od dawna bez tego...


Hmm... No wiec po uporaniu sie z certyfikatami, konfiguracja, itd
ciagle mialem problemy z autoryzacja (wyskakiwal ciagle blad
wspomniany poprzednio). Znalazlem wlasnie w FAQ exima, by
dopisac ta linie i pare innych przy okazji wskazowek. Dopisalem
to co radzili i nareszcie klient pocztowy zapytal mnie o haslo
przy autoryzacji i dalej poszlo z gorki... Niestety nie moge Ci dokladnie
pomoc, czym to dokladnie bylo spowodowane, gdyz az tak sie nie
zgalebialem, by np laczyc sie przez telnet...

Mis' pisze:
Proponuję dokumentację exima. Ponoć jest to najlepiej napisana dokumentacja do programów uniksowych.
I nie wierz Maćkowi jak pisze że exim się nie nadaje na profesjonalny serwer :-)


OK, a wiec nie potrzebuje profesjonalnego serwera - chcialem tylko,
bym mogl wysylac poczte z roznych domen i by to nie bylo za bardzo
"widoczne" w nagloiwkach wiadomosci...

Jako tako sie z tym uporalem. Dopisalem do
domainlist local_domains
nowe domenki, z ktorych chcialem wysylac, niestety nie za
bardzo zadzialalo (Authenticated user must match sender!)

Zmodyfikowalem wiec pare linijek:
: [/] [] ()
acl_check_mail:
    accept condition = ${if or { \
    {eq{$authenticated_id}{}} \
    {eq{$authenticated_id}{$sender_address_local_part}} \
    }{1}{0}}
    deny message = Authenticated user must match sender!

(wg mnie jest to lepsze rozwiazanie - nadal ktos kto chce sie
pod kogos podszyc nie wysle maila, ale domena do tego nie jest
mieszana - taki sam efekt ale bardziej elastyczne rozwiazanie. Polecam
zmienic w domyslnym konfigu - chocby dla osob, ktore chca
uzywac paru domen :) )

Po tych zmianach juz ladnie mail mi sie wyslal z innej domeny
niz primary, ale nadal w naglowku wiadomosci jak byk
widnial adres primary_host... Nie podobalo mi sie to...

Korzystajac wiec z faktu, ze nadawca jest sprawdzany przed
wyslaniem wiadomosci, pozwolilem sobie zmienic naglowek, w taki
sposob, by mail byl nie do poznania, ze domena jest inna niz ta z
primary_host - jest to bezpieczne i zamierzony efekt zostal uzyskany :)
: [/] [] ()
received_header_text = "Received: \
${if def:sender_fullhost {from ${sender_fullhost}\n\t}\
{${if def:sender_ident {from ${sender_ident} }}\
${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}\
by ${sender_address_domain} \
${if def:received_protocol {with ${received_protocol}}} (SMTP)\n\t\
${if def:tls_cipher {(tls_cipher ${tls_cipher}) }}\
${if def:tls_peerdn {(tls_peerdn ${tls_peerdn}) }}\
id ${message_id}\
${if def:received_for {\n\tfor <$received_for>}}"


Takze polecam wprowadzic te zmiany do domyslnego konfigu - dzieki
temu exim stanie sie bardziej elastyczny :)

Aha, i sam sie troche zdziwilem, ale nie mialem problemu z
autoryzacja przez TLS/SSH pomimo korzystania z innej domeny,
niz domyslna, wiec wbrew pozorom korzystanie z wielu domen
nie jest takie trudne :)

PS. Co prawda naglowek wiadomosci jest zmeniony i nie ma sladu
primary_host, ale mimo wsyztsko dalsze serwery przekazaujace
wiadomosc dodaja do naglowka swoje wpisy i tam sie "ujawnia"
nasz glowny host... Ale na to juz chyba nie ma rady...

Pozdrawiam

Autor:  Mis' [ sobota, 22 kwietnia 2006, 19:03 ]
Tytuł: 

Mr Groch pisze:
Jako tako sie z tym uporalem. Dopisalem do
domainlist local_domains
nowe domenki, z ktorych chcialem wysylac, niestety nie za
bardzo zadzialalo (Authenticated user must match sender!)


Mam prośbę. Przetestuj teraz swój serwerek kilkunastoma przynajmniej testerami na open relay. I pokaż te błędy, które zostaną znalezione. Możesz na priv.
Kilkunastoma, ponieważ używają one różnych testów i dopiero użycie większej ilości daje pewność poprawnej konfiguracji. Co do znalezionych błędów to mozesz być raczej pewien, że coś znajdą... może nie będą to błędy krytyczne ale... potem zastanowimy się jak to usunąć.

Mr Groch pisze:
Co prawda naglowek wiadomosci jest zmeniony i nie ma sladu primary_host, ale mimo wsyztsko dalsze serwery przekazaujace wiadomosc dodaja do naglowka swoje wpisy i tam sie "ujawnia" nasz glowny host... Ale na to juz chyba nie ma rady...


Nie znam się na tym, ale to może być związane z konfiguracją DNS. Czy te dodatkowe domeny, które sprawdzałeś są odpowiednio skonfigurowane?

Autor:  Mr Groch [ niedziela, 23 kwietnia 2006, 19:45 ]
Tytuł: 

@Mis
Wyniki testow wyslane...


Mam jeszce jedno pytanko.. Poczta wyslana np przez skrypty php
przychodzi jako nobody@domena.org, cz jest jakis sposob
(oprocz zmiany uzytkownika, z ktorego korzysta Apache :) )
na zmiane nadawce z nobody na jakas inna?

Autor:  Mr Groch [ piątek, 28 kwietnia 2006, 11:26 ]
Tytuł: 

Sorry, ze zawracam ale chcialbym sie czegos dowiedziec :D

Poczta wyslana np przez skrypty php ze strony www
przychodzi jako nobody@domena.org, czy jest jakis sposob
(oprocz zmiany uzytkownika, z ktorego korzysta Apache :) )
na zmiane nadawce z nobody na jakas inna? Wiem, ze mozna
latwo zmienic adresata poczty przychodzacej za pomoca aliasow,
ale jak zminic nadawce poczty wyhodzacej?

Pozdrawiam

Autor:  Mr Groch [ poniedziałek, 1 maja 2006, 13:00 ]
Tytuł: 

Nie wierze, ze nikt nie wie.. A jak sie nie da, to po prostu napiszcie :)

Autor:  Maciek [ poniedziałek, 1 maja 2006, 15:00 ]
Tytuł: 

Możesz zmienić w konfiguracji exima, żeby każdy mógł wysyłać bez autentykacji, to jedyny sposób :D

Autor:  mazol [ sobota, 20 maja 2006, 22:49 ]
Tytuł: 

dopisalem domeny do local_domains oraz zmienilem w sekcji acl_check_mail to co groch pisal a takze naglowki, ale klapa...

Przy wysylaniu z innej domeny USER MUST MATCH SENDER
a przy wysylaniu na inna domene zwraca wiadomosc ze zly host...

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/