Newsgroup: it.comp.os.linux.sys
Titolo: Relay postfix

E' parecchio che non uso postfix, quindi forse sono arrugginito.
 
Ho una configurazione un po particolare:
 
alcuni MX che ricevono mail e la girano a due mailserver interni.
Sto spostando un po di caselle da un mailserver all'altro.
Sul primo c'è postfix , sul nuovo (grazie a Dio) c'è exim.
 
Le mail "dirette" vengono ricevute correttamente in quanto ho mappato le caselle direttamente sugli MX (casella1 => mail2, casella3 => mail1, etc etc)
 
Il problema si ha con gli alias in comune, dove l'alias viene gestito da mail1 e le varie destinazioni vengono gestite da mail2.
 
In questo caso, il postfix di mail1 riceve la mail, espande gli alias e da errore di relay not allowed perchè il destinatario non è tra le sue destinazioni possibili.
 
Ho risolto mettendo i due mx come mynetworks, in questo modo vengono bypassati i check di relay. I singoli mailserver non sono accessibili da remoto (la porta 25 è bloccata a livello di firewall e le connessioni sono possibili solo se provenienti dagli mx)
 
ho creato un buco di sicurezza o posso stare trnaquillo?
non posso mappare 1:1 gli alias e le loro destinazioni, sono alcune migliaia.

 mappare 1:1 gli alias e le loro destinazioni, sono alcune migliaia.
 
Non ho capito un tubo né del problema né della soluzione.
Difficile darti un parere.
 

 Difficile darti un parere.
 
LOL.
Volevo semplicemente dire che ho inserito gli IP degli MX in mynetworks di postifix, in modo da fargli bypassare i check anti-relay.

 di postifix, in modo da fargli bypassare i check anti-relay.
 
Non capisco perchè tu lo abbia fatto ma se la macchina non è 
raggiungibile dall'esterno, dubito che possa essere abusata come open 
relay.
Non ho capito quindi cosa hai fatto ma tornando a bomba non credo che tu 
ti sia aperto la rete.
 
 

 ti sia aperto la rete.
 
Bene, l'importante è questo, volevo giusto una conferma.
La macchina che fa l'espansione non è raggiungibile da fuori, ed anche se lo fosse, non dovrebbe essere un problema, visto che ho messo gli IP degli MX in mynetworks (non ho aperto tutto a tutti)

 exim: relay not allowed.
 
Se è questo che ti capita controlla le configurazioni di postfix, perchè
hai qualcosa di *molto* sballato...
 
 
 
-- 
Paranoia is a disease unto itself. And may I add: the person standing
next to you may not be who they appear to be, so take precaution.
-----------------------------------------------------------------------------
http://bofhskull.wordpress.com/
 

 hai qualcosa di *molto* sballato...
 
Secondo me è exim che risponde "relay not allowed" e non il postfix.
 
Ad occhio e croce quello che rimane da capire (e che nessuno ha capito) è 
il giro che la mail per l'alias espanso (e non consegnato) si mette a 
fare.
Ce la incolli qualche riga del log dove c'è scritto "relay not allowed ?"

, relay=
mx2.x.it
[1.2.3.202]:25, delay=12, delays=0.25/0/5.1/6.2, dsn=2.0.0, status=sent (250 OK id=1SPrSI-0002w3-7o)
May  3 10:32:07 mail1 postfix/qmgr[31277]: 99E8D18033: removed
 
L'espansione degli alias viene fatta correttamente, come si può vedere da li sopra.
 
Una volta espanso l'alias, la mail verso 
a...@x.net
 va a buon fine mediante l'LDA di dovecot (relay=dovecot)
in quanto gestito tutto dallo stesso server.
 
In questo caso va a buon fine anche il relay verso l'altro dominio, 
x.it
, perchè ho
inserito gli ip degli MX dentro il "mydestination" di postfix. Togliendolo, 
j...@x.it
 
mi va in "Relay access denied", in quanto 
x.it
 non è gestito dal mailstore attuale ed il
mittente non è autorizzato a fare da relay tramite questo mailstore.


 
 
E sopratutto , è l'MX che da errore di relay, non il postfix, ma perchè cambiando la direttiva sul postfix ho risolto il problema?

 cambiando la direttiva sul postfix ho risolto il problema?
 
Ecco, questa è una buona domanda.
Se la direttiva che hai cambiato sul postfix è "mynetworks" non ha 
sicuramente influenza quindi il problema si è risolto da solo ed era 
diverso da quello che tu hai proposto.
 
Max
 
 
 

 autorizzato a fare da relay tramite questo mailstore.
 
No, non è possibile.
 
Il mydestination serve a postfix per accettare le mail, non per inviarle.
Se tu modifichi postfix non stai facendo nulla per dire all'MX (exim) che 
può prenderle.
 
Quindi:
- o il parametro non è quello 
- o hai modificato qualcosa anche lato exim
. oppure hai (come diceva skull) qualche serio casino di routing ed il 
giro che hai descritto è molto più complicato di quello che descrivi.
 
Max

 diverso da quello che tu hai proposto.
 
Molto probabile.
Lunedì ripristino la direttiva e guardo se squilla il telefono :)

 può prenderle.
 
Uè, aspetta.
 
Mi sembrava di aver scritto mynetworks, no mydestination.
Rileggendo il messaggio qui sopra, noto di aver sbagliato, scusate, parlavo del mynetworks.
 
Ho modificato il mynetworks, permettendo quindi, il relay anche agli MX.
 
Visto che nelle recipient restriction (non ricordo nemmeno più il parametro esatto di postfix, non lo uso da molto) ho permit_mynetworks, il mailstore fa relay verso tutto e tutti, se è l'mx ad inviargli posta.
 
In teoria la configurazione non è pericolosa (ribadisco che il mailstore non è accessibile da remoto ma solo dagli mx) ma vorrei capire bene.
 
Secondo me si è verificata questa cosa:
 
- ho aggiornato il mailstore di riferimento per 
x.it
 
- il mailstore postfix vecchio si è aggiornato ed ha rimosso 
x.it
 dalle sue tabelle
- ho inviato una mail ad un alias gestito (giustamente) dal mailstore
- il mailstore fa l'espansione e consegna agli indirizzi presenti dentro l'alias
- alcuni di questi indirizzi sono gestiti dal mailstore e vanno a buon fine
- un indirizzo è 
y...@x.it
 e NON è più gestito dal mailstore, pertanto il postfix cerca di farne il delivery.
 
Visto che il mittente non è autenticato (a detta di postfix, visto che io autentico su un server smtp esterno), postfix scambia la mail come un tentativo di relay non autorizzato proveniente dal mio mx e si incazza.
 
Mettendo l'mx in mynetworks, postfix ne autorizza sempre il relay.
 
Mi sembra filare come discorso

:
    Relay access denied
 

 secondi fa.
 
Ok, già meglio.
Aggiungendo l'MX nel "mynetworks" di postfix tu non hai fatto altro che 
dire a postfix di accettare quella mail come se nulla fosse. E hai 
bypassato il problema.
 
Lo hai bypassato perchè non lo hai risolto.
Mi dici che la mail che va dall'MX al postfix ha come destinazione postfix 
ma, da quello che sembra, il dominio pre-espansione NON è gestito da quel 
postfix, altrimenti non ti avrebbe detto relay denied ma avrebbe 
accettato la mail.
 
Dovresti porti queste domande:
- dato il dominio di destinazione 
x.it
, è giusto che exim lo mandi a quel 
postfix ?
- Se si, perchè quel postfix non lo riconosce come dominio locale e lo 
rifiuta ?
 
L'errore sta in uno di quei due step.

 accettato la mail.
 
No.
La mail va dall'MX al postfix, *HA* come destinazione postfix.
Ed è giusto che vada a finire li, perchè 
x.it
 è gestito da quel postfix.
 
Il problema è che 
x.it
 non è una mail ma un alias, con al suo interno
destinatari NON gestiti dal postfix. Postfix da errore di relay quando
cerca di recapitare agli indirizzi dentro l'alias, non quando riceve
la mail da parte dell'mx.


NO.
L'espansione dell'alias avviene DOPO che l'indirizzo non espanso è stato 
accettato. Siccome l'indirizzo non è stato accettato, non è stato nemmeno 
espanso. Non essendo stato espanso, il fatto che sia un alias non è 
rilevante.
 
Torniamo a 10 giorni fa:
- o non hai ancora capito il problema
- o hai dei grossi, grassi casini da sbrogliare e capire sul postfix.
 
E non mi sento di escludere nessuna delle due ipotesi.
 

 rilevante.
 
Ma per la miseria, il problema non è l'indirizzo NON espanso (AKA alias), ma l'indirizzo *DENTRO* l'alias, una volta espanso.
 
Se il server Postfix riceve posta per 
pi...@pluto.it
 e 
pi...@pluto.it
 è un alias che punta a 
cu...@merda.com
, Postfix *accetta* la mail perchè 
pi...@pluto.it
 e' un suo indirizzo, lo espande, e poi *deve* inviare posta a 
cu...@merda.com
 e non lo fa, perchè 
merda.com
 non è gestito da lui e pertanto deve fare da relay senza autenticazione.


Solo nel mondo dei sogni.

 e non lo fa, perchè 
merda.com
 non è gestito da lui e pertanto deve fare da relay senza autenticazione.
 
...mi pare proprio il contrario: proprio perché il dominio di destinazione NON
e' gestito da Postfix (locale), Postfix non gestisce in proprio la mail, ma la
rimbalza a quel dominio; o almeno ci prova. L'autenticazione non c'entra.
 
Se ora ti mando un messaggio quello t'arriva, eppure 
gmail.com
 mica e' gestito
da me.
 
Leonardo (magari non ho capito un apascio)
 
-- 
Tell us whether you spy, in the light of the morn,
what saluted was fiercely at the fall of the past day:
whose pips and whose bands in the very heart of the fray
bravely floated from the bulwarks to which we were sworn?

 da me.
 
Mi arriva perchè il tuo server contatta l'mx che ha in carico gmail, pertanto gmail è un dominio gestito dal mx.
 
Nel mio caso, 
merda.com
 *NON* è mio, la mail viene ricevuta dal mio server ed il mio server la rifiuta in qunato non è un open relay.
 

 Solo nel mondo dei sogni.
 
Mica vero, se io provo a recapitare una mail per "
microsoft.com
" tramite uno dei tuoi server, il tuo server la rifiuta in quanto il dominio non è suo ed io non sono autorizzato a fare relay tramite il tuo server.
 

Nel mio caso, 
merda.com
 *NON* è mio, la mail viene ricevuta dal mio server ed il mio server la rifiuta in qunato non è un open relay.
 
E allora il tuo server e' configurato male, direi.
 
E' anche possibile che sia configurato bene, e che a tutti nojaltri finora sia
andata di culo - ma penso ti renda conto della probabilita' relativa di queste
due ipotesi :-)
 
Leonardo



Se un mio account su un mio dominio inoltra a 
microsoft.com
, sto
accettango una mail diretta a un mio dominio. L'autorizzazione
all'ingresso in coda è sottoposta a quello.
 
 

 andata di culo - ma penso ti renda conto della probabilita' relativa di queste
 
No, il problema è sicuramente il mio server, ma non saprei cosa possa generare questa problematica.

 all'ingresso in coda è sottoposta a quello.
 
Ora ho capito. Quindi il controllo viene fatto *solo* *prima* dell'espansione alias, una volta che l'alias è stato 'accettato' io posso avere al suo interno chi mi pare che il server effettuerà l'inoltro senza alcun controllo extra anti-relay.
 
Benissimo. Ora mi resta solo da capire come mai io ricevo un relay not allowed.

 Benissimo. Ora mi resta solo da capire come mai io ricevo un relay not allowed.
 
 
A boh, ora funziona. Evidentemente quando ho ricevuto gli errori era durante una sincronizzazione non perfetta dei vari server, durante la migrazione.
 
Per ora tengo il mynetworks impostato a 
127.0.0.0/8
 sul postfix, come era in origine.

 Ora ho capito. Quindi il controllo viene fatto *solo* *prima* dell'espansione alias, una volta che l'alias è stato 'accettato' io posso avere al suo interno chi mi pare che il server effettuerà l'inoltro senza alcun controllo extra anti-relay.
 
Ebbene si, ho scritto un fiume di cazzate in tutto il thread, mi son lasciato fregare dal messaggio di errore.
 
E' del tutto normale che i controlli vengano fatti sull'alias e non sui singli membri, ho centinaia di alias che contengono indirizzi extra alla mia rete e funzionano senza problemi, come è giusto che sia.
 
Mi son perso in un bicchier d'acqua su cose che già conoscevo, tra l'altro.
Immensa figura di merda :)