PDA

View Full Version : Server di posta how-to


gromit60
28-10-2005, 13:27
Pur essendo affetto da niubbismo cronico, mi sono messo in testa di “buttare su” un server di posta da utilizzare all’interno del mio ufficio, che facesse le cose che avevo in mente, cioè raccolta della posta dalle varie mail sparse per il mondo, controllo antivirus/antispam e poi ce li scarichiamo con calma.
Tempo fa avevo provato ad utilizzare p3scan, che fa da mail proxy, però lo scaricamento della posta era dannatamente lento, e i miei colleghi per poco non mi linciano, per cui l’ho dovuto togliere quanto prima.

Per raggiungere lo scopo, come un po’ tutti, penso, ho cominciato a raccogliere documentazione sul web ma nessun documento rispondeva pienamente alle mie richieste. Così ho creato un mio how-to che ora condivido con l’intento di comunicare quello che ho fatto, ma anche di ricevere critiche/suggerimenti per migliorare il tutto.


Note sulla realizzazione di server di posta Linux con controllo antivirus e antispam

Distribuzione utilizzata: Debian 3.1r0 Sarge
Tipo di installazione: base non grafica
Programmi utilizzati:
Postfix
Fetchmail
Procmail
Solid-pop3d
Spamassassin
Clamav


- Scaletta sintetica per l’installazione
1. installare Debian
2. modificare source.list
3. aggiungere gli utenti
4. installare postfix e configurarlo
5. installare procmail e configurarlo
6. installare spamassassin e configurarlo
7. installare clamav e configurarlo
8. installare clamassassin e configurarlo
9. installare fetchmail e configurarlo
10. installare solid-pop3


I vari files di configurazione inizialmente sono stati tratti da un documento reperito sul forum di Hardware Upgrade nella sezione Linux ed altri S.O., nei tutorials.
Il tutorial però fa riferimento all’attivazione di un server su una macchina linux che funge da workstation e non da server, per cui viene prevista la lettura della posta su questa con Mutt. Ovviamente i files di configurazione sono ritagliati su questa realtà.

La mia intenzione invece è di “tirare su” un server di posta interno, che possa essere utilizzato per scaricare la posta temporaneamente, e controllarla sia per quanto riguarda i virus che per lo spam, prima di essere scaricata dai singoli client (su macchine Win).


INSTALLAZIONE DEBIAN

Dopo aver installato la Debian Sarge occorre modificare il file /etc/apt/source.list per poter permettere un corretto aggiornamento del sistema con apt-get e aptitude, nonché dell’antivirus Clamav. Un esempio può essere:

deb http://ftp.it.debian.org/debian stable main contrib non-free
deb-src http://ftp.it.debian.org/debian stable main contrib non-free

deb ftp://ftp.nerim.net/debian-marillat/ stable main
deb-src ftp://ftp.nerim.net/debian-marillat/ stable main

deb http://giano.com.dist.unige.it/debian-volatile sarge/volatile main

deb http://security.debian.org/ stable/updates main

Il repository volatile serve per aggiornare correttamente ClamAV.

Creazione degli utenti
Al momento utilizzo utenti reali della macchina. Per evitare problemi una volta creato l’utente modifico il file /etc/passwd impostando la shell a /bin/false, altrimenti creo gli utenti utilizzando:

$adduser -–shell /bin/false nomeutente


POSTFIX

Per l’installazione è meglio utilizzare apt-get piuttosto che aptitude che sembra non funzionare bene in questo caso.

$apt-get install postfix

In fase di installazione scegliere l’opzione: nessuna configurazione.
Una volta installato utilizzo questo file di configurazione:

CONFIGURAZIONE DI /ETC/POSTFIX/MAIN.CF

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = nomehost.nomedominio.ext
mydomain = nomedominio.ext
mydestination = $myhostname, localhost.$mydomain, $mydomain
myorigin = $myhostname
inet_interface = all
relayhost = smtp del provider
mynetwork_style = host
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Mailbox
mail_spool_directory = /var/spool/mail
mailbox_command = /usr/bin/procmail
mail_owner = postfix
smtpd_helo_restriction = reject_invalid_hostname, reject_unknown_hostname
disable_vrfy_command = yes

Le parti in corsivo vanno sostituite con i vostri dati, ovviamente 
Mantengo anche il discorso degli alias che al momento non mi servono perché non utilizzo utenti virtuali, però per un uso futuro…

Inizializzare il database degli alias

$newaliases

Avviare il server smtp con:

$/etc/init.d/postfix start

e provate subito una connessione telnet alla porta 25, se il server è attivo e ben configurato dovreste riuscire ad inviare una mail.


PROCMAIL

Il file principale è /etc/procmailrc che stando in /etc/ rimane valido per qualsiasi utente presente sul pc. Ovvio che se il file non esiste va creato a mano tramite il comando touch. L’utilizzo di Procmail è limitato all’invio delle mail ai due programmi per il filtraggio: ClamAV e Spamassassin.
Nelle regole conviene impostare la regola di invio a ClamAV per prima. Al momento le mail che risultano infette da virus vengono mandate a /dev/null senza alcun avviso per il destinatario (non mi piace).
Ho impostato il file di log in var/log con il nome di procmail.log. Il file non era presente e l’ho creato con

#: cd /var/log
#: touch procmail.log
#: chown mail:mail procmail.log
#: chmod 666 procmail.log

Per fare in modo che procmail possa scriverci sopra ho dovuto impostare i permessi sul file in 666. Non so fino a che punto sia corretto, però funge.

Il procmailrc che utilizzo è questo:

CONFIGURAZIONE DI ETC/PROCMAILRC

SHELL=/bin/sh
PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin/usr/local/bin:.
DROPPRIVS=yes

VERBOSE=yes # impostare a no dopo il debug (yes | no)
LOGABSTRACT = all # produce log MOLTO estesi, impostare a no in seguito (all |
LOGFILE=/var/log/procmail.log # file di log

# prima di filtrare con spamassassin controllo se ci sono virus
:0fw
| /usr/local/bin/clamassassin

:0:
* ^X-Virus-Status: Yes
/dev/null


# prima di consegnare le mail, filtro quelle rimaste con spamassassin (solo messaggi inferiori a 256k)
:0fw:
* < 256000
| spamc


SPAMASSASSIN

Spamassassin non è altro che un programma che analizza tutte le mail indistintamente in ingresso (consegnategli da procmail) per identificare se vi è dello spam.
Il suo compito è quello di assegnargli un livello di spam (vedi required_score nel file di configurazione) e se questo livello supera il 5.0 (required_score) come predefinito, verrà allora considerato spam, marcherà l'email aggiungendo ******SPAM****** al soggetto. Il valore si può modificare a piacere ma occorre valutare bene prima di mettere valori troppo bassi o troppo alti.

Installato secondo le istruzioni: $apt-get install spamassassin spamc razor (oppure utilizzando aptitude)

Questo è il file di configurazione che utilizzo:

CONFIGURAZIONE DI ETC/SPAMASSASSIN/LOCAL.CF

# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
###########################################################################
#
# rewrite_header Subject *****SPAM*****
# report_safe 1
# trusted_networks 212.17.35.
# lock_method flock

# Imposta il punteggio che deve raggiungere la mail per essere considerato spam
required_score 5.0

# Testo da aggiungere al subject delle e-mail identificate spam
rewrite_header Subject *****SPAM*****

# Se report_safe h impostato a "1", i messaggi ritenuti spam verranno allegati come file
report_safe 0

# Filtro Bayesiano
use_bayes 1

# Auto-apprendimento di filtro
auto_learn 1

# Controllo sulle RBL, se gia' l'isp che offre la mail fa questo, impostarlo a "1" altrimenti a "0"
skip_rbl_checks 0

# Uso razor
use_razor2 1

# File di configurazione di razor (controllatene l'esistenza)
razor_config /etc/razor/razor-agent.conf

# Tempo di time-out di razor
razor_timeout 10

# Controllo sul dns
dns_available yes

# Lingue da non considerare potenzialmente spam
ok_languages it

# Domini dal quale le mail NON verranno considerata spam
whitelist_from *@nomedominio.ext

# Domini dal quale TUTTE le mail verranno considerata spam
# http://www.spam-blockers.com/SPAM-blacklists.htm
blacklist_from *@nomedominio.ext

Molto importante la sezione whitelist per considerare sempre valide le mail provenienti da 1 o più domini. A queste viene assegnato un punteggio di -15 (se ricordo bene) per cui anche se contengono codice html (per esempio) è difficile che oltrepassino la soglia di +5.

Attivo spamd cambiando il valore di default da 0 a 1 nel file /etc/default/spamassassin:

# Change to one to enable spamd
ENABLED=1

Nel procmailrc c’è la regola che manda le mail a spamc piuttosto che spamassassin (più pesante).


CLAMAV

Nessun problema relativo all’installazione. Si installa con aptitude selezionando “clamav”. Per avere la versione più aggiornata occorre che nel source.list sia elencato almeno un repository volatile.

Clamassassin

Il suo funzionamento è simile a quello di spamassassin ma, ovviamente, le mail vengono indirizzate a ClamAV.
Per l’installazione occorre fare tutto “a manina” andando sul sito, scaricando il tar, lo si copia (con Winscp) nella cartella /tmp, poi si scompatta con il classico tar xvzf poi:

./configure
make install


FETCHMAIL

$apt-get install fetchmail

La configurazione di uno o più account di posta viene fatta tramite il file /etc/fetchmailrc che deve essere presente e ben configurato.
Dopo aver creato il file /etc/fetchmailrc si vanno ad impostare i vari parametri che lo regolano.

$touch /etc/fetchmailrc

Utilizzo un unico file di configurazione, non specifico per ogni utente, e questo è un esempio:

CONFIGURAZIONE DI /ETC/FETCHMAILRC

# I M P O S T A Z I O N I
# poll (inizializza la connessione al server e imposta il tempo di attesa di connessione)
# proto (tipo di protocollo da usare)
# authenticate (tipo di autenticazione)
# user (nome utente per l'autenticazione)
# password (password per l'autenticazione)
# mda (mail delivery agent al quale passare la posta)
# is user here options (utente al quale destinare la posta piu' eventuali opzioni)

Defaults proto POP3
mda '/usr/bin/procmail -d %T'


# ACCOUNT nomeutente@nomedominio.ext
poll popserver.nomedominio.ext timeout 60
authenticate password
user nomeutente
password password
is utente here options keep

Le prime due righe sono valide per tutti gli account inseriti. Occorre inserire un account per ogni indirizzo mail che si intende scaricare. La sintassi è semplice ed è quasi autoesplicativa. Per quanto riguarda le opzioni qui ho utilizzato keep che significa “lascia le mail sul server” ma si può usare nokeep (li cancella), flush, oppure fetchall

Conviene creare il file come ultimo passo, in modo da cominciare a scaricare la posta localmente quando tutto è a posto.


SOLID-POP3D

Da installare con aptitude. E’ preferibile farlo richiamare da inetd.
Solid-pop3d che farà semplicemente da server pop3 non necessita di essere configurato, è più che sufficente per scopi casalinghi e sicuro, supporta sia mailbox che maildir a differenza di courier, virtual hosting, APOP authentication etc..
si installa ed è pronto per l'uso

$apt-get install solid-pop3d

dovrebbe avviarsi in automatico alla fine dell'installazione ma se così non fosse avviatelo subito e provate come con prostifx se funziona.

$/etc/init.d/solid-pop3d start

$nmap localhost
PORT STATE SERVICE
25/tcp open smtp (postfix)
110/tcp open pop3 (solid-pop3d)
783/tcp open hp-alarm-mgr (spamassassin)

$telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Solid POP3 server ready

in caso di problemi il file di configurazione è /etc/spop3d.conf mentre in /usr/share/doc/solid-pop3d/examples/ è presente un file di configurazione come esempio. E'sempre buona regola fare debugging tramite "$cat /var/log/syslog" .


Per il momento il server di posta così configurato soddisfa le mie esigenze. Quello che mi piacerebbe implementare sarebbe un avviso da parte di ClamAV quando trova un virus (per ora butta la mail in dev/null senza dire niente a nessuno) e la possibilità di consultare la posta in webmail senza scaricarla.


Link utili

http://www.hwupgrade.it/forum/showthread.php?t=944062 La base di partenza (PiloZ)
http://drivel.com/clamassassin/ Clamassassin
http://www.webmail.us/testvirus Invio di mail infette per testare l’antivirus.
http://www200.pair.com/mecham/spam/spamfilter20050626.html - Server di posta con di tutto e di più

ilsensine
31-10-2005, 08:54
Direi che può essere molto utile. Qualche commento dagli esperti? Gurutech?

LimiT-MaTz
31-10-2005, 08:57
io uso mailscanner.
e naturalmente clamav e spamassassin.
perche ignoravo l'esistenza di clamassasin .

dennyv
31-10-2005, 11:06
io uso mailscanner.
e naturalmente clamav e spamassassin.
perche ignoravo l'esistenza di clamassasin .

Anch'io non lo conoscevo... anche perchè uso il buon classico (e pesante :stordita: ) amavis-new... comunque bella guida, magari più avanti la si può integrare con una sui virtualhost con backend mysql o ldap! ;)

kingvi
31-10-2005, 15:44
Davvero molto interessante. Io sto cercando qualche guida per un server di posta con questi programmi:
- Postfix
- Squirrelmail
- courier-pop
- courier-imap
e altri inseriti nella guida postata in questo topic.

Sapreste darmi una mano o indirizzarmi?

PiloZ
31-10-2005, 16:04
Il tutorial però fa riferimento all’attivazione di un server su una macchina linux che funge da workstation e non da server, per cui viene prevista la lettura della posta su questa con Mutt. Ovviamente i files di configurazione sono ritagliati su questa realtà.

buono :)
sul mio howto essendoci un server pop il tutto diventa estendibile anche su un server al quale i client si possono collegare ;)
tra i Link utili avrei aggiunto l'howto fatto da me :D

cikko
01-11-2005, 11:33
buono :)
sul mio howto essendoci un server pop il tutto diventa estendibile anche su un server al quale i client si possono collegare ;)
tra i Link utili avrei aggiunto l'howto fatto da me :D
ottimo l'howto di PiloZ, e` davvero molto chiaro. Comunque Mutt puo` accedere direttamente alle caselle e-mail senza l'ausilio di Fetchmail: bisogna impostare i parametri `pop_host' e `pop_user' nel file .muttrc.
Per IMAP invece, imap_user e imap_pass. Si puo` anche definire come spool:
set spoolfile={mail.isp.it}inbox
set folder={mail.isp.it}

Saluti

edivad82
01-11-2005, 12:13
Davvero molto interessante. Io sto cercando qualche guida per un server di posta con questi programmi:
- Postfix
- Squirrelmail
- courier-pop
- courier-imap
e altri inseriti nella guida postata in questo topic.

Sapreste darmi una mano o indirizzarmi?


http://workaround.org/articles/ispmail-sarge/
http://www.littleboboy.net/?2005/04/15/54-postfix-courier-imap
http://high5.net/postfixadmin/
http://www.akadia.com/services/postfix_amavisd.html
http://www.renaissoft.com/maia/index.php

squirrel è una stupidata, basta che segui i readme

edivad82
01-11-2005, 12:23
Direi che può essere molto utile. Qualche commento dagli esperti? Gurutech?
non mi piace usare procmail per girare le mail a spamassassin e clam, meglio usare amavisd-new e passare le mail in pipe da postfix...

naturalmente sarebbe consigliabile un layout con mysql per la flessibilità e la semplicità di gestione con postfixadmin o un tool equivalente

dennyv
01-11-2005, 21:10
non mi piace usare procmail per girare le mail a spamassassin e clam, meglio usare amavisd-new e passare le mail in pipe da postfix...

naturalmente sarebbe consigliabile un layout con mysql per la flessibilità e la semplicità di gestione con postfixadmin o un tool equivalente

:mano:
E' la mia configurazione... se trovo un buco di tempo e serve una mano sarò felice di collaborare per creare una guida! ;)

gromit60
01-11-2005, 23:21
buono :)
sul mio howto essendoci un server pop il tutto diventa estendibile anche su un server al quale i client si possono collegare ;)
tra i Link utili avrei aggiunto l'howto fatto da me :D
Più che giusto, anche perché sono partito proprio dal tuo per fare il lavoro. Inserirò un link diretto!

kingvi
02-11-2005, 12:53
http://workaround.org/articles/ispmail-sarge/
http://www.littleboboy.net/?2005/04/15/54-postfix-courier-imap
http://high5.net/postfixadmin/
http://www.akadia.com/services/postfix_amavisd.html
http://www.renaissoft.com/maia/index.php

squirrel è una stupidata, basta che segui i readme
Grazie mille, appena ho due minuti (si fa per dire!) provo e vediamo cosa ne salta fuori.

kingvi
08-11-2005, 16:03
http://workaround.org/articles/ispmail-sarge/

Non funziona questo link :cry:

edivad82
08-11-2005, 16:05
Non funziona questo link :cry:
come no? funza funza :D

kingvi
08-11-2005, 19:15
come no? funza funza :D
Con firefox va... :D

edivad82
08-11-2005, 19:19
A me no! Nè da casa, nè dall'ufficio :cry:
Lo puoi salvare in formato mht e mandarmelo via mail? (sperando che sia una unica grande pagina altrimenti lascia perdere)
La mail: cristianvi@freemail.it

Grazie!
fatto ;) non è mht ma è lo stesso ;)

kingvi
08-11-2005, 19:21
fatto ;) non è mht ma è lo stesso ;)
Cavolo nemmeno il tempo di editare il post... mitico!

Grazie lo stesso

DigitalKiller
18-11-2005, 15:40
:help:
Sfrutto questo 3d senza aprirne un altro simile :)
Un po' di tempo fa ho configurato la mia debian in modo che scarichi le email dalle varie caselle (circa 15 su un dominio gestito da un isp) e le smisti nelle varie caselle del dominio locale.
Sui vari pc ho creato della lan, ho poi creato l'account locale per scaricare la posta filtrata. Sui pc, quindi, ci sono 2 account: uno per la posta in uscita ed uno per quella in entrata.
Ora, però, vorrei fare in modo che anche le mail in uscita fossero filtrate. Come faccio?

gromit60
18-11-2005, 16:09
Se ti può essere di aiuto ti dico come ho fatto io nel mio ufficio. Anziché creare due account ho impostato il dominio in postfix uguale al dominio del provider così nel client di posta mi basta cambiare il server da cui si scarica la posta e non l'account che rimane lo stesso (cioè sarà account@miodominio.it su 192.168.xx.yy e non su pop.miodominio.it) e questo anche per la posta in uscita. Inoltre ho impostato il server di posta anche come smtp così le mail passano tramite esso anche in uscita. Ovviamente occorre impostare il relayhost in postfix. A questo punto penso si possa impostare anche il controllo della posta in uscita (con ClamAV?).

~Blissard~
18-11-2005, 21:12
IPCop non è più semplice da utilizzare per questo scopo?

gromit60
19-11-2005, 08:19
Che io sappia Ipcop (che uso) non prevede un server di posta all'interno ma un filtraggio per mezzo di mail proxy (p3scan) che viene comunque installato da un addon (copfilter) e non è compreso in ipcop stesso.
La controindicazione è che p3scan rallenta lo scarico della posta (è ovvio...) visto che filtra ogni messaggio che passa con antispam ed antivirus durante lo scaricamento.
E' proprio per questo motivo che ho "ideato" un server di posta intermedio che faccia questo lavoro in tempi diversi dallo scaricamento per non provocare ire funeste da parte degli utenti.
A mio avviso sarebbe molto interessante implementare un server come quello che ho proposto su ipcop, se qualcuno ha suggerimenti potrebbe essere una "killer installation" (non so se si può dire...)

DigitalKiller
22-11-2005, 12:03
Se ti può essere di aiuto ti dico come ho fatto io nel mio ufficio. Anziché creare due account ho impostato il dominio in postfix uguale al dominio del provider così nel client di posta mi basta cambiare il server da cui si scarica la posta e non l'account che rimane lo stesso (cioè sarà account@miodominio.it su 192.168.xx.yy e non su pop.miodominio.it) e questo anche per la posta in uscita. Inoltre ho impostato il server di posta anche come smtp così le mail passano tramite esso anche in uscita. Ovviamente occorre impostare il relayhost in postfix. A questo punto penso si possa impostare anche il controllo della posta in uscita (con ClamAV?).


Sto apportando delle modifiche alla configurazione del server di posta, ma sono sorti dei problemi..
Ho una mail (su katamail quindi al di fuori del dominio) piena di spam e che utilizzo per le prove. Ho configurato fetchmail in modo che scarichi le mail da questo indirizzo, ma queste, una volta scaricate e passate il controllo antivirus, spariscono...non vengono consegnate né all'utente, né nella cartella che raccoglie lo spam.
Se però tento di inviare delle email da shell, tutto funziona correttamente! Cosa ho sbagliato? :mc:

DigitalKiller
22-11-2005, 15:16
Piccolo aggiornamento :stordita:

Il problema credo che dipenda da questa voce in /etc/postfix/main.cf
mydestination = $myhostname, localhost.$mydomain, $mydomain

Commentando questa voce, infatti, riesco a consegnare le email scaricate da remoto, ma non riesco a consegnare quelle inviate da shell. Decommentandola, invece, torno nella situazione precedente :(

DigitalKiller
22-11-2005, 16:42
Altro aggiornamento..
In /var/log/mail.log ho trovato questo errore
Nov 22 17:32:45 localhost postfix/smtp[32591]: C09C551C89: to=<digitalkiller@localhost>, relay=none, delay=0, status=bounced (Host or domain name not found. Name service error for name=localhost type=A: Host not found)

L'errore si ripete ogni volta che passo a postfix le mail scaricate con fetchmail :(

DigitalKiller
23-11-2005, 11:15
:help: :help:

gromit60
23-11-2005, 11:34
Ho una mail (su katamail quindi al di fuori del dominio) piena di spam e che utilizzo per le prove. Ho configurato fetchmail in modo che scarichi le mail da questo indirizzo, ma queste, una volta scaricate e passate il controllo antivirus, spariscono...non vengono consegnate né all'utente, né nella cartella che raccoglie lo spam.
Se però tento di inviare delle email da shell, tutto funziona correttamente! Cosa ho sbagliato? :mc:
Cosa utilizzi per passare le mail all'antivirus ed all'antispam? Nella configurazione che propongo io se una mail è infetta viene inviata a dev/null quindi scompare nel vuoto...

DigitalKiller
23-11-2005, 11:42
Le mail le passo in pipe da postfix. Il problema comunque non sono né spamassassin né amavis.
Io ho modificato solo /etc/postfix/main.cf. Riportandolo alla vecchia configurazione funziona tutto correttamente

DigitalKiller
23-11-2005, 13:33
Questo è il mio /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = debian.dominioremoto.it
mydomain = dominioremoto.it
mydestination = $myhostname, localhost.$mydomain, localhost
myorigin = $mydomain
inet_interfaces = all
#relayhost = localhost
mynetwork_style = host
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
mailbox_command = /usr/bin/spamc | /usr/bin/procmail -a "$SENDER $RECIPIENT $EXTENSION"
mail_owner = postfix
mailbox_size_limit = 0
recipient_delimiter = +
content_filter=smtp-amavis:[127.0.0.1]:10024
smtpd_helo_restriction = reject_invalid_hostname, reject_unknown_hostname
disable_vrfy_command = yes


e questo è il /var/log/mail.log che ottengo inviando una mail da shell
Nov 23 14:14:56 debian postfix/pickup[4523]: 774C051C9D: uid=0 from=<root>
Nov 23 14:14:56 debian postfix/cleanup[4532]: 774C051C9D: message-id=<20051123131456.774C051C9D@debian.dominioremoto.it>
Nov 23 14:14:56 debian postfix/qmgr[4524]: 774C051C9D: from=<root@dominioremoto.it>, size=309, nrcpt=1 (queue active)
Nov 23 14:14:56 debian postfix/smtpd[4537]: connect from debian[127.0.0.1]
Nov 23 14:14:56 debian postfix/smtpd[4537]: 9E92551C9C: client=debian[127.0.0.1]
Nov 23 14:14:56 debian postfix/cleanup[4532]: 9E92551C9C: message-id=<20051123131456.774C051C9D@debian.dominioremoto.it>
Nov 23 14:14:56 debian postfix/qmgr[4524]: 9E92551C9C: from=<root@dominioremoto.it>, size=761, nrcpt=1 (queue active)
Nov 23 14:14:56 debian postfix/smtpd[4537]: disconnect from debian[127.0.0.1]
Nov 23 14:14:56 debian amavis[2282]: (02282-10) Passed, <root@dominioremoto.it> -> <digitalkiller@dominioremoto.it>, Message-ID: <20051123131456.774C051C9D@debian.dominioremoto.it>, Hits: -
Nov 23 14:14:56 debian postfix/smtp[4534]: 774C051C9D: to=<digitalkiller@dominioremoto.it>, orig_to=<digitalkiller>, relay=127.0.0.1[127.0.0.1], delay=0, status=sent (250 2.6.0 Ok, id=02282-10, from MTA: 250 Ok: queued as 9E92551C9C)
Nov 23 14:14:56 debian postfix/qmgr[4524]: 774C051C9D: removed
Nov 23 14:14:57 debian postfix/smtp[4538]: 9E92551C9C: to=<digitalkiller@dominioremoto.it>, relay=mail.dominioremoto.it[ip], delay=1, status=bounced (host mail.dominioremoto.it[ip] said: 553 5.3.0 <digitalkiller@dominioremoto.it>... No such user here (in reply to RCPT TO command))
Nov 23 14:14:57 debian postfix/cleanup[4532]: D3BF951C9E: message-id=<20051123131457.D3BF951C9E@debian.dominioremoto.it>
Nov 23 14:14:57 debian postfix/qmgr[4524]: 9E92551C9C: removed
Nov 23 14:14:57 debian postfix/qmgr[4524]: D3BF951C9E: from=<>, size=2625, nrcpt=1 (queue active)
Nov 23 14:14:59 debian postfix/smtp[4538]: D3BF951C9E: to=<root@dominioremoto.it>, relay=mail.dominioremoto.it[ip], delay=2, status=sent (250 2.0.0 jANDEvN10835 Message accepted for delivery)
Nov 23 14:14:59 debian postfix/qmgr[4524]: D3BF951C9E: removed

Mentre questo è il log che ottengo ricevendo una mail da remoto
Nov 23 14:16:10 debian fetchmail[3502]: terminated with signal 15
Nov 23 14:16:11 debian fetchmail[4566]: starting fetchmail 6.2.5.4 daemon
Nov 23 14:16:15 debian fetchmail[4566]: 1 message for digitalkiller81@katamail.com at pop.katamail.com (1635 octets).
Nov 23 14:16:15 debian fetchmail[4566]: reading message digitalkiller81@katamail.com@pop.katamail.com:1 of 1 (1635 octets)
Nov 23 14:16:15 debian postfix/smtpd[4568]: connect from debian[127.0.0.1]
Nov 23 14:16:15 debian postfix/smtpd[4568]: 7B25751C9C: client=debian[127.0.0.1]
Nov 23 14:16:15 debian postfix/cleanup[4532]: 7B25751C9C: message-id=<3DF4FB83.35004@ubp.edu.ar>
Nov 23 14:16:15 debian fetchmail[4566]: flushed
Nov 23 14:16:15 debian postfix/qmgr[4524]: 7B25751C9C: from=<DoloresYatessneeze@aco.tm.fr>, size=1956, nrcpt=1 (queue active)
Nov 23 14:16:15 debian postfix/smtpd[4537]: connect from debian[127.0.0.1]
Nov 23 14:16:15 debian postfix/smtpd[4537]: A5B9851C9D: client=debian[127.0.0.1]
Nov 23 14:16:15 debian postfix/cleanup[4532]: A5B9851C9D: message-id=<3DF4FB83.35004@ubp.edu.ar>
Nov 23 14:16:15 debian postfix/qmgr[4524]: A5B9851C9D: from=<DoloresYatessneeze@aco.tm.fr>, size=2404, nrcpt=1 (queue active)
Nov 23 14:16:15 debian postfix/smtpd[4568]: disconnect from debian[127.0.0.1]
Nov 23 14:16:15 debian fetchmail[4566]: sleeping at mer 23 nov 2005 14:16:15 CET
Nov 23 14:16:15 debian postfix/smtpd[4537]: disconnect from debian[127.0.0.1]
Nov 23 14:16:15 debian amavis[2283]: (02283-10) Passed, <DoloresYatessneeze@aco.tm.fr> -> <digitalkiller@localhost>, Message-ID: <3DF4FB83.35004@ubp.edu.ar>, Hits: -
Nov 23 14:16:15 debian postfix/smtp[4534]: 7B25751C9C: to=<digitalkiller@localhost>, relay=127.0.0.1[127.0.0.1], delay=0, status=sent (250 2.6.0 Ok, id=02283-10, from MTA: 250 Ok: queued as A5B9851C9D)
Nov 23 14:16:15 debian postfix/qmgr[4524]: 7B25751C9C: removed
Nov 23 14:16:15 debian spamd[2311]: spamd: connection from debian [127.0.0.1] at port 32893
Nov 23 14:16:15 debian spamd[2311]: spamd: setuid to digitalkiller succeeded
Nov 23 14:16:15 debian spamd[2311]: spamd: processing message <3DF4FB83.35004@ubp.edu.ar> for digitalkiller:1000
Nov 23 14:16:16 debian spamd[2311]: Can't locate Mail/SPF/Query.pm in @INC (@INC contains: ../lib /usr/share/perl5 /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl) at /usr/share/perl5/Mail/SpamAssassin/Plugin/SPF.pm line 272, <GEN19> line 69.
Nov 23 14:16:17 debian spamd[2311]: spamd: identified spam (28.1/5.0) for digitalkiller:1000 in 2.0 seconds, 2516 bytes.
Nov 23 14:16:17 debian spamd[2311]: spamd: result: Y 28 - BAYES_99,RCVD_IN_BL_SPAMCOP_NET,RCVD_IN_XBL,URIBL_AB_SURBL,URIBL_JP_SURBL,URIBL_OB_SURBL,URIBL_SBL,URIBL_SC_SURBL,URIBL_WS_SURBL scantime=2.0,size=2516,user=digitalkiller,uid=1000,required_score=5.0,rhost=debian,raddr=127.0.0.1,rport=32893,mid=<3DF4FB83.35004@ubp.edu.ar>,bayes=1,autolearn=spam
Nov 23 14:16:17 debian spamd[2285]: prefork: child states: II
Nov 23 14:16:17 debian postfix/local[4572]: A5B9851C9D: to=<digitalkiller@localhost>, relay=local, delay=2, status=sent (delivered to command: /usr/bin/spamc | /usr/bin/procmail -a "$SENDER $RECIPIENT $EXTENSION")
Nov 23 14:16:17 debian postfix/qmgr[4524]: A5B9851C9D: removed

gromit60
23-11-2005, 14:21
Sinceramente mi metti un po' in difficoltà... Se ho capito bene utilizzi spamc direttamente in pipe da postfix e procmail per inviare le mail alle caselle di posta, poi richiami amavis per il controllo antivirus. Mi sembra che l'utilizzo di amavis comporti anche una modifica al file master.cf di postfix...

DigitalKiller
23-11-2005, 14:46
Sinceramente mi metti un po' in difficoltà... Se ho capito bene utilizzi spamc direttamente in pipe da postfix e procmail per inviare le mail alle caselle di posta, poi richiami amavis per il controllo antivirus. Mi sembra che l'utilizzo di amavis comporti anche una modifica al file master.cf di postfix...

Si, ma ti ripeto che il problema è postfix :( Tutto il resto funziona correttamente

Mi viene da pensare una cosa...che tutto possa dipendere dal workgroup?
Mi spiego meglio: finchè in postfix specifico come myhostname = debian.dominiolocale.it (cioè workgroup ufficio), tutto funziona correttamente; mentre se specifico myhostname = debian.dominioremoto.it (il dominio remoto ed il workgroup sono differenti) smette di funzionare

gromit60
23-11-2005, 16:09
Non credo... io ho una rete locale con miodominio.loc (ed è un'active directory con win 2003 server), sull'host che mi fa da server di posta ho messo lo stesso miodominio.loc come gruppo di lavoro, poi però in postfix ho messo miodominio.it
In questo modo riesco anche a consegnare la posta in locale tra gli utenti dello stesso miodominio.it che è quello che usiamo per lavoro.
Quindi se io sono ciccio@miodominio.it e il mio collega è pippo@miodominio.it impostando come smtp il server interno riesco tranquillamente a mandargli una mail senza uscire dalla rete.
Il mio main.cf è impostato come nell'howto.
Controllando adesso vedo che avevo impostato (non me lo ricordavo) nel file etc/hosts anche la voce

192.168.71.71 server.locale.loc server

(sono ovviamente dati di esempio)

DigitalKiller
23-11-2005, 16:29
Non credo... io ho una rete locale con miodominio.loc (ed è un'active directory con win 2003 server), sull'host che mi fa da server di posta ho messo lo stesso miodominio.loc come gruppo di lavoro, poi però in postfix ho messo miodominio.it
In questo modo riesco anche a consegnare la posta in locale tra gli utenti dello stesso miodominio.it che è quello che usiamo per lavoro.
Quindi se io sono ciccio@miodominio.it e il mio collega è pippo@miodominio.it impostando come smtp il server interno riesco tranquillamente a mandargli una mail senza uscire dalla rete.
Il mio main.cf è impostato come nell'howto.
Controllando adesso vedo che avevo impostato (non me lo ricordavo) nel file etc/hosts anche la voce

192.168.71.71 server.locale.loc server

(sono ovviamente dati di esempio)

Scusami, ma è da questa mattina che ci sbatto la testa e inizio a non capirci più nulla :cry:
Hia detto che in /etc/host hai inserito questa voce
192.168.71.71 server.locale.loc server
Ma locale.loc è uguale a miodominio.loc?

gromit60
23-11-2005, 16:46
Sì. Anch'io comincio ad avere la testa un po' fusa...

DigitalKiller
23-11-2005, 16:50
Sì. Anch'io comincio ad avere la testa un po' fusa...
Grazie, spero di risolvere in questo modo! :)

DigitalKiller
24-11-2005, 14:58
Eccomi di nuovo qui...purtroppo :cry:
Ho in parte risolto il problema. Ora riesco a ricevere le email inviate sia dall'esterno che dalle altre applicazioni. Ho, però, un piccolo problema :(
Le mai ricevute dall'esterno (cioè non quelle inviate da shell o dalle applicazioni) nel campo destinatario presentano solo il nome utente e non nomeutente@dominioremoto.ext :cry: Come mai?


Questo è il mio /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = dominioremoto.it
mydomain = dominioremoto.it
mydestination = $myhostname, localhost.$mydomain, localhost
myorigin = $mydomain
inet_interfaces = all
relayhost = smtp
mynetwork_style = host
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
mailbox_command = /usr/bin/spamc | /usr/bin/procmail -a "$SENDER $RECIPIENT $EXTENSION"
mail_owner = postfix
mailbox_size_limit = 0
recipient_delimiter = +
content_filter=smtp-amavis:[127.0.0.1]:10024
smtpd_helo_restriction = reject_invalid_hostname, reject_unknown_hostname
disable_vrfy_command = yes


Ho evidenziato le parti che ho dovuto modificare per farlo funzionare

DigitalKiller
24-11-2005, 15:44
"Risolto" :D Il problema è dovuto a libero, che visualizza solo lo userid e non l'indirizzo email completo. Ho fatto delle prove con altri indirizzi email e funziona perfettamente! :)

Ora ho solo un'ultima domanda..
Ho creato un utente a cui giro, tramite procmail, tutto lo spam raccolto dalle altre caselle email. Vorrei utilizzare questo utente solo per verificare le mail considerate spam. Quando, però, da outlook tento di scaricare la posta di questo utente giustamente mi viene chiesto usernam e password, in quanto le mail non sono di sua proprietà. Per scaricarle devo necessariamente cambiarne il proprietario. C'è un modo per farlo automaticamente? O l'approccio che ho scelto è errato?

gromit60
24-11-2005, 17:44
Ho creato un utente a cui giro, tramite procmail, tutto lo spam raccolto dalle altre caselle email. Vorrei utilizzare questo utente solo per verificare le mail considerate spam. Quando, però, da outlook tento di scaricare la posta di questo utente giustamente mi viene chiesto usernam e password, in quanto le mail non sono di sua proprietà. Per scaricarle devo necessariamente cambiarne il proprietario. C'è un modo per farlo automaticamente? O l'approccio che ho scelto è errato?
Lo sai che non capito? Perché affermi che viene richiesto username e pwd perché le mail non sono di sua proprietà?
Inoltre volevo chiederti cosa fa di preciso la riga

/usr/bin/procmail -a "$SENDER $RECIPIENT $EXTENSION"

DigitalKiller
24-11-2005, 17:55
Lo sai che non capito? Perché affermi che viene richiesto username e pwd perché le mail non sono di sua proprietà?

Cerco di essere più chiaro :)

In procmail ho inserito una regola che consegna tutte le mail marcate come spam all'utente spam. Quindi le mail di spam destinate all'utente pippo, quelle destinate all'utente pluto ecc vengono consegnate sempre all'utente spam. Queste mail, anche se in un'altra .Maildir, restano di proprietà dei rispettivi utenti. L'utente spam non può scaricare queste mail in quanto non sono di sua proprietà, per questo motivo mi compare la finestra in cui inserire nome utente e password.
Cambiando il proprietario delle mail con il comando chown, la posta può essere scaricata senza problemi.
Spero di essere stato più chiaro :)

gromit60
24-11-2005, 18:02
Cambiando il proprietario delle mail con il comando chown, la posta può essere scaricata senza problemi.
Spero di essere stato più chiaro :)
Cioè facendo diventare l'utente spam l'owner delle mail? Forse lo puoi fare automaticamente con un comando di procmail...

DigitalKiller
24-11-2005, 18:09
/usr/bin/procmail -a "$SENDER $RECIPIENT $EXTENSION"

In quel modo si passano degli argomenti a procmail...Era la vecchia configurazione, ho dimenticato di rimuoverli :D