[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: smtp: from



On Sun, Oct 06, 2002 at 07:25:52PM +0200, Lo'oRiS il Kabukimono wrote:
> "N. Wieland" <nicholas_wieland@yahoo.it>:
> 
> > aptgetta(TM) postfix-doc e leggi la faq: li spiega tutto.
> 
> ho provato: non è servito a NULLA.
> 
> sarà che non è spiegato bene, sarà che non capisco bene, ma tutte le cose
> che mi dice di fare per ottenere quello che voglio, le faccio ma non hanno
> NESSUN effetto.

Verifica con postconf, che restituisce i valori letti da 
da Postfix. Se non ti restituisce le modifiche fatte, 

# strace -eopen postconf {nome_var_ ; per es. smtpd_helo_required}
e vedi quale main.cf apre/cambia 
> 
> in pratica vorrei:
> · accettare posta in ricezione solo destinata al mio dominio
> · accettare posta in uscita solo proveniente dal mio dominio

Aspirazione comune. La regola generale  per non
fare da relayhost per chiunque è in primo luogo un controllo
stretto sul o sui tuoi client smtp, e poi sui sender e i recipient
degli host per te validi. Altrimenti si rischia di
accettare sender/recipient validi di host non fidati e altre cosette:
è più facile spooffare gli indirizzi che i client.
Quindi prima un lavoro su smtpd_client_restrictions 
e politica severa su mynetworks. 

> . tutta la posta in uscita abbia il From: corrispondente all'utente reale
>   che l'ha inviata

Intendi il nome nel campo From:, l'<indirizzo internet>,
o il FROM come parametro della richiesta MAIL ? In ogni caso,
i primi passi di Postfix sono la costruzione di un'Envelope affidabile: 
 (sintetizzo)
1) cleanup, che apre 'incoming'; print string: STRINGA
(la stringa che identifica il messaggio appena scritto) 
2)pickup: mail_scan_any: read STRINGA uid=1001 from <nome_utente>
     (questo from non c'entra niente con il FROM: negli headers)
3) cleanup: connect to subsystem private-rewrite 
4) master: spawn cmd /dir/postfix/trivial-rewrite --->canonicalize
     (qui aggiusta l'user come  user@host.domain.name)
5)cleanup: rewrite_clnt (user ---> user@host.name)
6)cleanup:mail_addr_find: user@host.name ---> indirizzo@libero.it
   (se hai il db di canonical o di sender_canonical; è
 certo un modo per incatenare un utente a un solo indirizzo, a
 meno di non fare una virtusertable)
Completato lo stesso procedimento anche per il recipient (se
è interno al tuo dominio), e fatto
un cleanup anche per gli header, l'Envelope è pronta e 
solo a questo punto Postfix chiama l'smtp.

controlla con strace, cleanup e pickup leggono eccome /etc/passwd

> i primi due appunto sembra che li spieghi ma non funzionano.
> il terzo non lo menziona neanche (dice che si può cambiare il nome del
> dominio uscente - che cmq non funziona - ma dice anche che non essendoci
> autenticazione, un "esterno" ti può babbare e mandare le mail come se fosse
> un tuo utente).
> come faccio?

L'autenticazione (cfr altri post nella ml) non è l'unico
problema e può anzi essere un problemaccio, se non è chiara
l'architettura (bellissima) di Postfix.
  
regexp  



Reply to: