znaczacy > comp.* > comp.mail.mta

LFC (03.03.2020, 15:36)
W domenie jest zapisany jeden serwer pocztowy, widoczny w widoku
zewn?trznym i wewn?trznym
Chcia?by postawi? drugi serwer, ?eby troch? poeksperymentowa? z inn?
konfiguracj? i mo?e uruchomi? co? nowocze?niejszego ni? sendmail z
obs?ug? bazodanow? i jakim? webmailem
Pytanie brzminast?puj?co je?eli w widoku wewn?trznym dns wpisz? go jako
kolejny serwer pocztowy:
@ IN MX 10 poczta.domena.pl
@ IN MX 20 mail.domena.pl

dalej oczywi?ci adresy IP

Zak?adam, ze od strony zewn?trznej nic si? nie zmieni, natomiast
interesuje mnie, jaki b?dzie efekt w widoku wewn?trznym, czyli co si?
stanie je?eli u?ytkownik na serwerze podstawowym skieruje poczt? do
usera zapisanego w tym drugim i na odwrót, albo zwyczajnie si? pomyli i
wpisze b?edny adres mailowy z prawid?owo? domen?.

Dotychczasowy uk?ad dzia?a na sendmailu + dovecot z ró?nymi milterami a
my?l? o postfiksie z dovecot i roundcube + mysql + dodatki typu
spamassasin czy clamav.
Czy po wpisaniu w domen?, tak jak my?l? host mail.domen.pl b?dzie szansa
poeksperymentowac bezbole?nie z nowym uk??dem?

LFC
Lemat (03.03.2020, 16:40)
W dniu 03.03.2020 o 14:36, LFC pisze:
[..]
> Czy po wpisaniu w domen?, tak jak my?l? host mail.domen.pl b?dzie szansa
> poeksperymentowac bezbole?nie z nowym uk??dem?
> LFC


"U?ytkownik" czyli cz?owiek z outlookiem, thunderbirdem nie u?ywa
rekordów MX, u?ywa tylko A.
"Client" czyli inny serwer pocztowy u?ywa rekordów MX i on b?dzie
wybiera? serwer wed?ug priorytetu w MX. Je?eli twoja 10 b?dzie zawsze
dost?pna to 20 nie otrzyma poczty w ogóle. Masz inne serwery w LANie?
Piotr Lechowicz (03.03.2020, 17:03)
W dniu 2020-03-03 o 14:36, LFC pisze:

> w widoku wewnętrznym dns wpiszę go jako kolejny serwer pocztowy:
> @    IN MX    10    poczta.domena.pl
> @    IN MX    20    mail.domena.pl


> co się stanie jeżeli użytkownik na serwerze podstawowym skieruje pocztę do usera zapisanego w tym drugim i na odwrót


Chyba nie do końca widzę twoją koncepcję: chcesz mieć innych użytkowników w tej samej domenie na zapasowym niż na podstawowym?
IMHO to się rozmija z ideą zapasowego MX, który z założenia powinien (musi?) mieć dostęp do info o adresach w domenie z podstawowego, ale sam nie hostuje skrzynek pocztowych userów - jest tylko (buforującym) forwarderem.

, albo zwyczajnie się pomyli i wpisze błedny adres mailowy z prawidłowoą domeną.
jw, podstawowy ma całą bazę adresów w domenie i powinien odrzucić tego maila z kodem 511 user unknown.

> a myślę o postfiksie z dovecot i roundcube + mysql + dodatki typu spamassasin czy clamav. Informacyjnie: mam taką konfigurację z sendmailem jako MTA (tylko bez sa).


> Czy po wpisaniu w domenę, tak jak myślę host mail.domen.pl będzie szansa poeksperymentowac bezboleśnie z nowym ukłądem?

Eksperymentowanie byłoby bezbolesne bez ruszania DNSa, bo jak coś skopiesz w testowych konfigach to z dużym prawdopodobieństwem pogubisz potrzebne maile.
Zawsze możesz eksperymentować karmiąc testówkę z ręki.
DNS to ostania rzecz, jaką bym zmieniał przy implementacji backup MXa.

Piotr
Andrzej A. Filip (03.03.2020, 18:19)
Lemat <#> pisze:
> [?]
> "Client" czyli inny serwer pocztowy u?ywa rekordów MX i on b?dzie
> wybiera? serwer wed?ug priorytetu w MX. Je?eli twoja 10 b?dzie zawsze
> dost?pna to 20 nie otrzyma poczty w ogóle. [?]


A spam to pies? :-)
LFC (03.03.2020, 22:34)
W dniu 2020-03-03 o 16:03, Piotr Lechowicz pisze:
[..]
> jw, podstawowy ma całą bazę adresów w domenie i powinien odrzucić tego
> maila z kodem 511 user unknown.
> Informacyjnie: mam taką konfigurację z sendmailem jako MTA (tylko bez sa).


Chętnie się zapoznam ponieważ lubie sendmaila. Historycznie to był
pierwszy serwer pocztowy, który postawiłem dawno temu i po ustawieniu
pierwszej w miarę poprawnej konfiguracji z użytkownikami systemowymi
(później wpadłem na to, żeby im dać shell /bin/false) w zasadzie ja
powielałem w kolejnych rozwiązaniach dodając tylko po kolei autoryzację
sasl, potem spamassassin, dalej clamav, certyfikat Diffiego-Helmanna, a
w końcu regex-milter. Jakoś mi nie przeszkadza, że nie rozumiem tysiąca
iinych dostepnym w konfiguracji opcji.
Słabi mnie tylko mała odporność na różne wybiegi spamerstwa
Z ciekawości czemu bez SA

LFC
LFC (04.03.2020, 10:04)
W dniu 03.03.2020 o 15:40, Lemat pisze:

> "U?ytkownik" czyli cz?owiek z outlookiem, thunderbirdem nie u?ywa
> rekordów MX, u?ywa tylko A.
> "Client" czyli inny serwer pocztowy u?ywa rekordów MX i on b?dzie
> wybiera? serwer wed?ug priorytetu w MX. Je?eli twoja 10 b?dzie zawsze
> dost?pna to 20 nie otrzyma poczty w ogóle. Masz inne serwery w LANie?


Pocztowych nie. Faktycznie u?iwadomi?em soobie, ?e wpisanie drugiego
MX-a nic nie daje. Wystarczy wpisanie A i b?dzie mo?na potestowa? ró?ne
rozwi?zania niczym nie ryzykuj?c

LFC
LFC (05.03.2020, 08:18)
W dniu 03.03.2020 o 16:03, Piotr Lechowicz pisze:

> Informacyjnie: mam taką konfigurację z sendmailem jako MTA (tylko bez sa).


Podzielisz się jakimś HowTo, bo w sieci nie udało mi się znaleźć tego
typu opisu, który mógłbym zaimplementować na Centosie 6.

LFC
Piotr Lechowicz (05.03.2020, 23:50)
W dniu 2020-03-05 o 07:18, LFC pisze:
> W dniu 03.03.2020 o 16:03, Piotr Lechowicz pisze:
>> Informacyjnie: mam taką konfigurację z sendmailem jako MTA (tylko bez sa).

> Podzielisz się jakimś HowTo, bo w sieci nie udało mi się znaleźć tego typu opisu, który mógłbym zaimplementować na Centosie 6.
> LFC


Nie mam gotowca.
System mamy identyczny, więc konfigi wklejam "na żywca" (pomijam oczywiste oczywistości).

Generalnie konfiguracja opiera się o Dovecota z bazą userów w MySQL.

I. Od strony sendmaila:

1. uwierzytelnianie w MSA przy wysyłaniu idzie standardowo przez sasla:

[]# cat /etc/sasl2/Sendmail.conf
pwcheck_method:saslauthd

który jest skonfigurowany do odpytywania dovecota przez imap:

[]# cat /etc/sysconfig/saslauthd
MECH=rimap
FLAGS="-c -O 127.0.0.1"

2. LDA - dodałem nowy mailer:

[]# cat /usr/share/sendmail-cf/mailer/dovecot.m4
# 4 virtual mail users
Mdovecot, P=/usr/bin/sudo,
F=l59DFMPn,
S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
M=51200000,
U=virtmail:virtmail,
T=DNS/RFC822/X-Unix,
A=/usr/bin/sudo /usr/libexec/dovecot/dovecot-lda -d $u

dopisany w /etc/mail/sendmail.mc:

MAILER(smtp)dnl
MAILER(dovecot)dnl

i uruchamiany z poziomu mailertable:

example.pl dovecot:dovecot

Tak to działa:
- przy przychodzącej wiadomości do nieistniejącego usera

Mar 2 16:08:40 sendmail[392]: 022F8YF7000392: from=<horacio.parodi>, proto=ESMTP, daemon=MTA, relay=zfish.mxout.godns.net [76.74.198.66]
Mar 2 16:08:41 dovecot: auth: mysql: Connected to /var/lib/mysql/mysql.sock
Mar 2 16:08:41 dovecot: auth: sql(kulaga.marian): unknown user
Mar 2 16:08:41 sendmail[396]: 022F8YF7000392: to=<gliniecki.norbert>, delay=00:00:01, xdelay=00:00:00, mailer=dovecot, pri=122973, relay=dovecot, dsn=5.1.1, stat=User unknown
Mar 2 16:08:42 sendmail[396]: 022F8YF7000392: 022F8gF6000396: DSN: User unknown

Tu jest dodatkowy narzut w postaci DSNa zamiast odrzucania maila bezpośrednio w sesji SMTP.
Jeszcze nie analizowałem jak to usprawnić.

- przy wysyłaniu z próbą autoryzacji danymi nieistniejącego usera

Mar 2 16:13:15 dovecot: auth: mysql: Connected to /var/lib/mysql/mysql.sock
Mar 2 16:13:15 dovecot: auth: sql(gliniecki.norbert,127.0.0.1): unknown user
Mar 2 16:13:20 dovecot: imap-login: Disconnected (auth failed, 1 attempts): user=<gliniecki.norbert>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
Mar 2 16:13:20 saslauthd[7498]: do_auth : auth failure: [user=gliniecki.norbert] [service=smtp] [realm=example.pl] [mech=rimap] [reason=remote server rejected your credentials]
Mar 2 16:13:20 sendmail[485]: 022FD9D1000485: ppp78-36-115-222.pppoe.komi.dslavangard.ru [78.36.115.222] did not issue MAIL/EXPN/VRFY/ETRN during connection to MTA

II. Od strony Dovecota

1. widoczny w definicji mailera user virtmail to zwykły user systemowy z prawem 700 do folderu /home/virtmail z mailboxami

[]# cat /etc/passwd|grep virtmail
virtmail:x:1000:1000:4 mail virtual users:/home/virtmail:/sbin/nologin

2. /etc/dovecot/conf/10-auth.conf

auth_username_format = %Ln
auth_mechanisms = plain login
passdb {
driver = sql
args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
driver = static
args = uid=1000 gid=1000 home=/home/virtmail/%d/%n
}

Jak widać struktura folderów ma układ /home/virtmail/domena/user - to mój wybór, tu jest pełna dowolność na etapie wyboru konfiguracji.

3. /etc/dovecot/conf/10-mail.conf

mail_location = maildir:~/Maildir
mail_privileged_group = mail
first_valid_uid = 100
first_valid_gid = 100
mail_uid = 100
mail_gid = 100
mbox_write_locks = fcntl

4. użyty w 10-auth.conf skrypt:

driver = mysql
connect = host=/var/lib/mysql/mysql.sock dbname=xxx user=yyy password=zzz

password_query = SELECT userid AS username, domain, password FROM users WHERE userid = '%n' or userid = ( select userid from aliases where alias = '%n' )
user_query = SELECT home, uid, gid FROM users WHERE userid = '%n' or userid = ( select userid from aliases where alias = '%n' )

# For using doveadm -A:
iterate_query = SELECT userid AS username, domain FROM users

III. Od strony bazy:

CREATE TABLE `users` (
`userid` varchar(128) NOT NULL,
`domain` varchar(128) NOT NULL,
`password` varchar(256) NOT NULL,
`home` varchar(255) NOT NULL,
`uid` int(11) NOT NULL,
`gid` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `aliases` (
`id` int(11) NOT NULL,
`alias` varchar(128) NOT NULL,
`domain` varchar(128) NOT NULL,
`userid` varchar(128) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Hasła w bazie są w formacie Dovecota {schema}$typ$salt$hash, np:
{MD5-CRYPT}$1$xxxxxxxx$yyyyyyyyyyyyyyy
Można je łatwo generować:
[]# doveadm pw -s md5-crypt
Większość haseł mam w SHA512-CRYPT z typem $6$ - od Centos 6.4 (chyba) wszedł jako domyślny systemowy i hasła z kont systemowych można było przenieść do bazy 1:1.

W bazie mam osobno userid i domenę - redefiniując zapytania do bazy i konfig mailera można łatwo zmienić format loginów na userid@domena

To tak na szybko.
Cała reszta konfiguracji sendmail/dovecot/miltry/roundcube raczej bez zmian.
goo-mlyny (06.03.2020, 11:56)
W dniu czwartek, 5 marca 2020 22:55:02 UTC+1 u?ytkownik Piotr Lechowicz
> Generalnie konfiguracja opiera si? o Dovecota z baz? userów w MySQL.


Tak z ciekawo?ci - na ile skrzynek i aliasów jest twój system?
LFC (06.03.2020, 14:05)
W dniu 05.03.2020 o 22:50, Piotr Lechowicz pisze:
> To tak na szybko.
> Cała reszta konfiguracji sendmail/dovecot/miltry/roundcube raczej bez
> zmian.


Tak z ciekawości 2 pytania:
1. czemu nie dorzuciłeś do configu sendmaila milterów do obsługi
spamassassina, clamava ew. regexa?
2. Zamierzam posadzić ten zestaw na I3 4 gen + 8GB RAM + RAID 1 na
dyskach 1000GB, ze 40 kont pocztowych - poleci z luzem?

Tak mi się jeszcze narzuciło teraz- a co z aliasami? Będzie tak samo jak
z userami shellowymi?

LFC
Piotr Lechowicz (06.03.2020, 16:12)
W dniu 2020-03-06 o 13:05, LFC pisze:
> W dniu 05.03.2020 o 22:50, Piotr Lechowicz pisze:
>> To tak na szybko.
>> Cała reszta konfiguracji sendmail/dovecot/miltry/roundcube raczej bez
>> zmian.

> Tak z ciekawości 2 pytania:
> 1. czemu nie dorzuciłeś do configu sendmaila milterów do obsługi spamassassina, clamava ew. regexa?


Mam ustawione miltry: dnsbl, milter-regex i clamav oraz mocno antyspamowo skalibrowany access.
Nie opisywałem, bo uznałem to za oczywistość niezwiązaną z przejściem na Dovecot/MySQL.
SA celowo nie uruchamiałem, bo testuję skuteczność obecnego zestawu filtrów.

> 2. Zamierzam posadzić ten zestaw na I3 4 gen + 8GB RAM + RAID 1 na dyskach 1000GB, ze 40 kont pocztowych - poleci z luzem?


Myślę, że spokojne i dużym zapasem.
Ja mam system na wirtualce z 4 rdzeniami/4.8GB RAM i poza tematami pocztowymi robi jeszcze kilka innych rzeczy.
Obecnie mam 25 kont i 50 adresów/aliasów, ale serwer pełni także rolę filtrującego backup MXa dla kilku innych MTA (teraz ok 250 kont, w szczycie było ok 400).
Max obciążenie jakie system miał przy zalewie spamu to 40k messages/24h.
Średnio dziennie wychodzi ok 6k total, w tym max 1k dobrego.
Statystyki robi mi

> Tak mi się jeszcze narzuciło teraz- a co z aliasami? Będzie tak samo jak z userami shellowymi?

Tzn?
Aliasy są w bazie, tak samo jak konta userów.
Nie używam pliku aliases dla kont wirtualnych.
Podobne wątki