mailserver na firewallu?

Ivo Panacek ivop na regionet.cz
Pátek Listopad 8 15:17:10 CET 2002


On Pá, 2002-11-08 at 14:44, Matthes wrote:
> > Asi mi to uniklo, ale napsal jste jaky smtp server pouzivate? 
> > Potrebujete spis neco jako masquarading.  A potrebujete mit vubec
> > nejake interni adresy?  Resp. zkuste napsat, ceho se tim snazite
> > dosahnout ;-)
> >
> .
> .
> .
> > Pronesu kacirskou myslenku;-): Proc mate pro server pridelovani adres
> > pres DHCP?  Serveru se IP adresa nemeni, v siti je porad a tedy neni
> > zadny duvod proc mu nepridelit statickou adresu.
> 
> Dobre, pokusim se vysvetlit situaci co nejlepe:
> 
> pripojeni jede pres UPC mistral a zatim nebyl duvod a hlavne zbytecne 
> finance navic na pronajem pevne IP (no proste nemam, no! ;)
> Server funguje jako firewall/gateway mezi pidisiti za nim a nasim milym 
> virtualnim svetem, cili iptables s maskaradou na tom jedou, jinak bych si 
> nevrznul vubec :)
> Bezi na nem webserver, dns, mail, ssh a databazove servery a to pouze pro 
> vnitrni ucely vyvoje, predevsim webovych aplikaci.
> Mailserver se do ted prakticky nevyuzival jinak, nez pro testovani 
> posilani mailu na vnitrni adresy, ale ted a) mam projekt, ktery ma 
> odesilat zpravy na mobilni adresy (predevsim oskari), coz potrebuju 
> testovat a
>  b) bych potreboval zaridit, aby to byl plnohodnotny mailserver pro tu 
> pidisit. Potrebuji nejen stahovat z ruznych adres emaily (to jde pres 
> fetchmail v pohode) a pak si je stahovat pres pop3/imap na workstationy, 
> ale i prave zprovoznit odesilani pres tento server.
> Jiz v prvnim mailu jsem uvadel, ze se jedna konkretne o Postfix, ale to 
> neni myslim ten podstatny problem.
> Co se tyce tech kontrol existence domeny, podle me server, ma-li tak 
> nakazano, kontroluje metodou getHostByName(domena) ci tak nejak zda 
> domena je radne zaregistovana v DNS a kdyz ne, tak zahlasi FOEM 
> (fuck-off-error-message :). Check na reverzni zaznam podle me neprovadi, 
> protoze tento "luxus" provozuji jen ti nejslusnejsi (zkuste si zjistit IP 
> podle hostname treba u cinanu), takze to by asi nedoslo aspon X% vsech 
> poslanych mailu :)) Krom toho, kdyby vzdaleny server neznal IP, z ktere 
> to prislo, neprijde mi zpatky ani ten error message, takze IP-cko se 
> kdesi ve zmeti mimeheaderu asi posilat musi. Ale to je pouze spekulace, 
> jak to funguje se jen dohaduji dle ne vzdy zdraveho logickeho usudku.
> 
> Takze otazka stale zni - jak na to? ;)

Aha, tak to by nemel by problem.

1. jmeno, kterym se server predstavi na prichozi SMTP asi nepotrebujete,
   ale pro poradek smtpd_banner = text, treba takto:
      smtpd_banner = jlabs.cz ESMTP

2. jmeno, kterym se server predstavi (HELO/EHLO)pri odesilani na jiny SMTP dle
   meho nazoru neni dulezite, i kdyz ho nekdo (pry) kontroluje,
   ale nastavit se da parametrem
      myhostname = plne.kvalifikovane.jmeno

3. vnitrni stanice uz asi mate nakonfigurovany, abe vse posilaly
   na tuhle vasi masinu, pokud nemate vevnitr spravne DNS (= i reverzy),
   tak (si je spravne nastavte :) udelejte mene restruktivni
   kontroly:

      smtpd_helo_required = no
      smtpd_helo_restrictions =
      ...

ja se priznam, ze prichozi SMTP spojeni kontroluji takhle:

smtpd_recipient_restrictions = reject_unknown_recipient_domain,
                               check_recipient_access hash:/etc/postfix/deny-recipients,
                               permit_mynetworks,
                               permit_auth_destination,
                               hash:/etc/postfix/access,
                               reject

A kdyz uz fakt nekdo mail potrebuje protlacit k nam a fakt neni schopen
si zajistit korektni (jakykoliv) reverz, tak ho na tom stroji
pridam do /etc/hosts, cimz se mu prvni podminka splni.
Tabulky deny-recipients a access plnim ocekavanym zpusobem.

Dva kolegove mistral maji a mam vyzkouseno, ze upc ma nastavene
reverzni zaznamy => nemel by to byt problem.

Pokud by byl, tak si vyrobte skript, ktery pri nahozeni IP interface
od UPC zjisti IP, z nej reverz a ten do main.cf napise. To by nemelo
byt slozite.

ivo




Další informace o konferenci Linux