Jak co nejjednodušeji udělat záložní MX server?

Jak co nejjednodušeji udělat záložní MX server?
« kdy: 11. 10. 2021, 16:17:42 »
Ahoj všem,

Co mám:

používám ISPConfig administrační panel pro server na kterém máme poštu.

Řešený problém:

Nyní řeším jak vytvořit záložní MX server, který bych dal v DNS velde hlavního MX serveru, akorát s jinou prioritou. Ve výsledku by při výpadku primárního MX serveru měla být pošta směrována na ten záložní MX, kde by se zprávy uložily a počkaly, dokud hlavní MX server nebude zase odpovídat.

Představa o tom, jak by se to asi mělo řešit:

Ideálně bych to řešil bez replikace MySQL databáze s daty o uživatelských schránek. Zřejmě se to dělá jen proto, aby záložní server ihned zahazoval poštu směrující na schránku, která na primárním MX serveru neexistuje. Podle mě to není potřeba.

Úplně nejraději bych to řešil vydeployováním kontejneru s nějakým SW, který přesně k tomu slouží. Že by ten kontejner/jiný VPS sloužil jako backup MX.

Děkuji moc za tipy a rady.


Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #1 kdy: 11. 10. 2021, 16:38:34 »
Pokud sekundární server a dálší nedokážou ověřit uživatele je lepší takový MX záznam vůbec nemít.
Výsledkem je nekonečné přelévání spamu a neexistujících schránek mezi servery.

Správný stav je, aby záložní servery akceptovali poštu jako primární (ideálně jako HA řešení).
Zachytit ty zprávy a pokoušet se je přeposílat nemá velký smysl, odesílací servery obvykle umí naprosto totéž.


Ahoj všem,

Co mám:

používám ISPConfig administrační panel pro server na kterém máme poštu.

Řešený problém:

Nyní řeším jak vytvořit záložní MX server, který bych dal v DNS velde hlavního MX serveru, akorát s jinou prioritou. Ve výsledku by při výpadku primárního MX serveru měla být pošta směrována na ten záložní MX, kde by se zprávy uložily a počkaly, dokud hlavní MX server nebude zase odpovídat.

Představa o tom, jak by se to asi mělo řešit:

Ideálně bych to řešil bez replikace MySQL databáze s daty o uživatelských schránek. Zřejmě se to dělá jen proto, aby záložní server ihned zahazoval poštu směrující na schránku, která na primárním MX serveru neexistuje. Podle mě to není potřeba.

Úplně nejraději bych to řešil vydeployováním kontejneru s nějakým SW, který přesně k tomu slouží. Že by ten kontejner/jiný VPS sloužil jako backup MX.

Děkuji moc za tipy a rady.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #2 kdy: 11. 10. 2021, 17:15:49 »
Neodmítat poštu pro neexistující uživatele na záložním serveru dnes prakticky nejde. Spousta spammerů toho využívala, že záložní servery tohle nedělaly a rovnou směřovala e-maily na záložní servery. Když záložní server přijme, má zodpovědnost za jeho doručení. Pokud schránka na primárním serveru neexistuje, má poslat odesílateli e-mail o nedoručení – jenže e-mail odesílatele bude obvykle zfalšovaný, takže e-maily o nedoručení budete jen obtěžovat nevinné lidi. Fakticky půjde z vaší strany o spam – a spammeři s tím samozřejmě počítají a to podstatné uvádějí do úvodní části e-mailu, která je v odpovědi o nedoručení citovaná.

Pokud byste chtěl zprávy pro neexistující adresy přijmout a pak zahodit, nedozví se zase odesílatel, který udělal překlep, že zadal špatný e-mail.

Je potřeba počítat s tím, že záložní MX server se u regulérního e-mailu dostane ke slovu akorát v případě, kdy budete mít dlouhodobý výpadek na primárním serveru. Protože krátkodobý výpadek primárního serveru překlene regulérní e-mail tak, že ho u sebe podrží odesílatel ve frontě a zkusí ho odeslat za pár minut znovu.

FKoudelka

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #3 kdy: 11. 10. 2021, 21:13:32 »
S každým dalším mx serverem roste počet spamů o 100%. Spammery fakt priorita MX nezajímá Nemít na záložním serveru povolené uživatele - o to hůř. Dokud jsem měl záložní MX server u gts (bez ověřování uživatelů samozřejmě),byl právě on zdaleka největším zasilatelem spamu do naší domény, ve výše zmíněné dimenzi. A ještě na mě byli drzí.

FKoudelka

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #4 kdy: 11. 10. 2021, 21:16:44 »
Ahoj všem,

Co mám:

používám ISPConfig administrační panel pro server na kterém máme poštu.

Řešený problém:

Nyní řeším jak vytvořit záložní MX server, který bych dal v DNS velde hlavního MX serveru, akorát s jinou prioritou. Ve výsledku by při výpadku primárního MX serveru měla být pošta směrována na ten záložní MX, kde by se zprávy uložily a počkaly, dokud hlavní MX server nebude zase odpovídat.

To není nutné, odesílající servery to zkouší poslat znovu , tuším 5 dní


Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #5 kdy: 11. 10. 2021, 21:32:51 »
To není nutné, odesílající servery to zkouší poslat znovu , tuším 5 dní
Není to žádná globální konstanta. Je na konfiguraci každého klienta (to, čemu vy říkáte „odesílající server“), zda a jak dlouho bude držet e-maily ve frontě a zkoušet je odeslat znovu. Třeba spammeři to často znova vůbec nezkouší ;-)

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #6 kdy: 11. 10. 2021, 22:19:23 »
Pokud vám z nějakých analýz vyšla potřeba mít MX server zálohovaný, zvažte i méně typický scénář. Dva servery se shodnou MX prioritou, ve shodné konfiguraci. Krom jiného tím i vzniká prostor pro snazší nasazení nějaké konfigurační automatizace (ansible apod.). No a díky shodným MX prioritám se ham i spam provoz tak nějak přirozeně rozloží mezi oba servery a různé statistické nástroje antispamu budou stále přibližně stejně naučeny na aktuální mailový provoz. Považuji to za lepší, než aby záložní server v případě nějakého výpadku převzal provoz bez naučeného antispamu, nebo naučeného jen na spam.

mhepp

  • ***
  • 158
    • Zobrazit profil
    • E-mail
Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #7 kdy: 12. 10. 2021, 01:12:20 »
Pokud vám z nějakých analýz vyšla potřeba mít MX server zálohovaný, zvažte i méně typický scénář. Dva servery se shodnou MX prioritou, ve shodné konfiguraci. Krom jiného tím i vzniká prostor pro snazší nasazení nějaké konfigurační automatizace (ansible apod.). No a díky shodným MX prioritám se ham i spam provoz tak nějak přirozeně rozloží mezi oba servery a různé statistické nástroje antispamu budou stále přibližně stejně naučeny na aktuální mailový provoz. Považuji to za lepší, než aby záložní server v případě nějakého výpadku převzal provoz bez naučeného antispamu, nebo naučeného jen na spam.

To je zajímavá úvaha, ale pokud jsou dané servery „koncové“, jak zajistím integritu e-mailových schránek? Vždyť budu mít půlku pošty na jednom a druhou půlku na druhém... Nebo mi něco uniká?

RDa

  • *****
  • 2 672
    • Zobrazit profil
    • E-mail
Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #8 kdy: 12. 10. 2021, 04:22:22 »
Pokud vám z nějakých analýz vyšla potřeba mít MX server zálohovaný, zvažte i méně typický scénář. Dva servery se shodnou MX prioritou, ve shodné konfiguraci. Krom jiného tím i vzniká prostor pro snazší nasazení nějaké konfigurační automatizace (ansible apod.). No a díky shodným MX prioritám se ham i spam provoz tak nějak přirozeně rozloží mezi oba servery a různé statistické nástroje antispamu budou stále přibližně stejně naučeny na aktuální mailový provoz. Považuji to za lepší, než aby záložní server v případě nějakého výpadku převzal provoz bez naučeného antispamu, nebo naučeného jen na spam.

To je zajímavá úvaha, ale pokud jsou dané servery „koncové“, jak zajistím integritu e-mailových schránek? Vždyť budu mít půlku pošty na jednom a druhou půlku na druhém... Nebo mi něco uniká?

Muzete mit prece sdilene uloziste - na tretim pocitaci, nebo nejakou variantu distributed block device a clusterovaciho FS :) Prakticke nasazeni spis vyzaduje 3 nody, kde muze jeden byt restartovan / umrit, protoze se snaz resi kdo ma pravdu (dva prehlasuji jednoho).

Osobne jsem nemel potrebu resit zalozni MX - ze zkusenosti vim, ze klasicka posta se zkousi dorucit cca 2 dny (pak se odesilajici server rozhodne to vzdat a prijde notifikace o nedorucitelnosti), takze pokud jsem schopen resit problemy okamzite (at uz sw update fail.. protoze mam schranky podle DB, nebo stavkujici hw.. ), tak se nic nedeje.

To co se nedorucuje opakovane jsou jednak spamy, a pak ruzne automaticky generovane verifikace typu - tady mate PIN, nebo kliknete na tento odkaz (password reset). Protoze provozuji krutoprisny MX check a vlastni variaci na graylist, tak vidim ze tyhle veci se nikdy nezopakuji - nekdy nezbyva nic jineho nez whitelistovat urcite "cloudove" odesilatele, co neumi retry a pokud umi, tak to zkusi zcela jinej nod.. to pak ani nejobycejnejsi graylist nedava :)
« Poslední změna: 12. 10. 2021, 04:27:38 od RDa »

FKoudelka

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #9 kdy: 12. 10. 2021, 08:52:20 »
To není nutné, odesílající servery to zkouší poslat znovu , tuším 5 dní
Není to žádná globální konstanta. Je na konfiguraci každého klienta (to, čemu vy říkáte „odesílající server“), zda a jak dlouho bude držet e-maily ve frontě a zkoušet je odeslat znovu. Třeba spammeři to často znova vůbec nezkouší ;-)
To nevadí, ale v praxi to víceméně funguje.
Hodní spammeři  :-)
« Poslední změna: 12. 10. 2021, 08:54:28 od FKoudelka »

FKoudelka

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #10 kdy: 12. 10. 2021, 08:53:45 »
Pokud vám z nějakých analýz vyšla potřeba mít MX server zálohovaný, zvažte i méně typický scénář. Dva servery se shodnou MX prioritou, ve shodné konfiguraci. Krom jiného tím i vzniká prostor pro snazší nasazení nějaké konfigurační automatizace (ansible apod.). No a díky shodným MX prioritám se ham i spam provoz tak nějak přirozeně rozloží mezi oba servery a různé statistické nástroje antispamu budou stále přibližně stejně naučeny na aktuální mailový provoz. Považuji to za lepší, než aby záložní server v případě nějakého výpadku převzal provoz bez naučeného antispamu, nebo naučeného jen na spam.
Promiňte, jak říkám, spam se nerozloží, ale zdvojnásobí.

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #11 kdy: 12. 10. 2021, 09:14:11 »
Promiňte, jak říkám, spam se nerozloží, ale zdvojnásobí.
To těžko. Spammer nemá důvod ten samý e-mail posílat stejnému adresátovi přes jiný server, když místo toho může poslat e-mail někomu jinému.

FKoudelka

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #12 kdy: 12. 10. 2021, 09:29:27 »
Promiňte, jak říkám, spam se nerozloží, ale zdvojnásobí.
To těžko. Spammer nemá důvod ten samý e-mail posílat stejnému adresátovi přes jiný server, když místo toho může poslat e-mail někomu jinému.
A kdo říká, že to bude ten stejný spammer ?

Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #13 kdy: 12. 10. 2021, 09:56:04 »
Nedělejte to. Přiděláte si víc starostí než užitku.

SMTP samo o sobě je navrženo tak dobře, že s výpadkem na několik hodin se doslova počítá. U našeho mailserveru (shameless plug https://poste.io) se doručuje až třináctkrát, poslední pokus je po jeden a půl dni. Až teprve potom to vzdá a vygeneruje bounce. Ostatní MTA to mají obdobně.

Pokud byste přecejen nutně potřeboval záložní MX bez databáze tak si dejte záležet na nastavení. Z hlavy mi napadá, že musíte vyřešit jak předat spamfiltru info o zdrojové IP a bounce message pokud možno úplně zakázat. Jak už tu někdo podtknul, 99% provozu záložního mailserveru bude spam, který následně váš hlavní mailserver bude zahazovat.

Pochopitelnější už je HA celého mailserveru včetně IMAPu/POP3, ale to jednak opravdu potřebuje málokdo a jednak to je úplně jinej level komplikací.

mhepp

  • ***
  • 158
    • Zobrazit profil
    • E-mail
Re:Jak co nejjednodušeji udělat záložní MX server?
« Odpověď #14 kdy: 12. 10. 2021, 12:05:36 »
Pokud vám z nějakých analýz vyšla potřeba mít MX server zálohovaný, zvažte i méně typický scénář. Dva servery se shodnou MX prioritou, ve shodné konfiguraci. Krom jiného tím i vzniká prostor pro snazší nasazení nějaké konfigurační automatizace (ansible apod.). No a díky shodným MX prioritám se ham i spam provoz tak nějak přirozeně rozloží mezi oba servery a různé statistické nástroje antispamu budou stále přibližně stejně naučeny na aktuální mailový provoz. Považuji to za lepší, než aby záložní server v případě nějakého výpadku převzal provoz bez naučeného antispamu, nebo naučeného jen na spam.

To je zajímavá úvaha, ale pokud jsou dané servery „koncové“, jak zajistím integritu e-mailových schránek? Vždyť budu mít půlku pošty na jednom a druhou půlku na druhém... Nebo mi něco uniká?

Muzete mit prece sdilene uloziste - na tretim pocitaci, nebo nejakou variantu distributed block device a clusterovaciho FS :) Prakticke nasazeni spis vyzaduje 3 nody, kde muze jeden byt restartovan / umrit, protoze se snaz resi kdo ma pravdu (dva prehlasuji jednoho).


Pokud mám mailový server někde v hostingu, tak záložní chci mít v jiném hostingu z důvodů od různého „špinění“ adres až po fatální výpadek datacentra. Potom je sdílený FS trochu problém, protože dostupnost a latence, případně šifrování a  celkově úzké hrdlo, single point of failure a tak. Takže toto řešení naopak spíše snižuje doručitelnost pošty...