CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta...

23
Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio Strizzolo Sezione di Trieste Workshop sul Calcolo e Reti dell’INFN – Otranto, 6-9 giugno 2006

Transcript of CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta...

Page 1: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

Servizio di posta elettronica ad alta affidabilità

Alessandro Tirel e Claudio StrizzoloSezione di Trieste

Workshop sul Calcolo e Reti dell’INFN – Otranto, 6-9 giugno 2006

Page 2: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

2

Introduzione• Presentazione di un sistema ad alta affidabilità

dedicato al servizio di posta elettronica.• Attivo presso la Sezione di Trieste da Aprile 2005.• Obiettivo: rimpiazzare il cluster che ospitava il servizio

web e quello di posta elettronica dal 2001, basato su hardware Alpha e TruCluster Digital Unix.

• Motivazioni:– Obsolescenza dell’hardware → costo di manutenzione

elevato.– Prestazioni dell'hardware sottodimensionate per il

carico attuale.– Difficoltà nell'attivazione di nuovi servizi, dovuta alla

non immediata disponibilità di vari software su Digital Unix.

Page 3: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

3

Requisiti• Piattaforma PC con (Scientific) Linux.

• Alta affidabilità hardware/software.

• Espandibilità e modularità.

• Mailbox “virtuali” (maggiore sicurezza), basate sul formato maildir.

• Spazio disco che in qualche caso supera 1GB/utente. In crescita molto sostenuta (allegati “corposi”). Quote disco.

• Autenticazione utilizzabile anche per altri servizi, ad esempio per i sistemi Unix e la farm: LDAP.

• Possibilità di ospitare anche altri servizi sulla stessa struttura: Radius, ecc.

• Filtro antispam e antivirus, webmail, autenticazione utenti remoti (SASL/TLS), mailing list, ...

• Carico attuale: 186 mailbox locali; 467 alias di utenti locali e non; circa 40 mailing list. In aumento.

Page 4: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

4

Hardware & Software• Due server Supermicro 6013-P così configurati:

– Processore Xeon 3.0 Ghz 512 KB cache FSB 533 Mhz– 2 GB di memoria DDR ECC Registered– 2 Dischi SCSI Seagate Ultra 320 da 36 GB 10K rpm– 2 Porte Gigabit Ethernet– 1 Controller Fibre Channel Qlogic QLA2340– 1 Controller Gigabit Ethernet 3Com 3C2000-T

• Uno switch Fibre Channel Qlogic 5200 a 16 porte 1-2 Gb e 4 porte 10 Gb

• Uno storage controller Fibre Channel Infortrend F16F-R2A2R con 16 dischi FC Seagate da 147 GB 10K rpm

• Due Power Switch WTI RPS-10• Software:

– Scientific Linux 3.0.4– kernel 2.4.21-37.0.1– clumanager-1.2.28-1

Page 5: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

5

Connessioni

Page 6: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

6

Controlli• Il cluster manager ha alcuni strumenti per monitorare il

suo stato e la raggiungibilità da parte dei client ai servizi che offre: partizione di quorum heartbeat tie-breaker ip monitoring del servizio (status)

• Per mantenere l’integrità dei dati il cluster manager utilizza dei dispositivi per isolare i membri del cluster malfunzionanti.

• Nella nostra installazione questa funzione viene svolta dal processo stonith tramite i power switch WTI RPS-10E.

Page 7: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

7

Servizi• L’elemento fondamentale del cluster è il servizio, il

quale è costituito dalle seguenti proprietà, alcune delle quali sono opzionali:– script (start, stop e status)– indirizzo ip– partizione disco– failover domain

Page 8: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

8

Schema logico del cluster HALAN

LDAP ServiceSMTP Service

Heartbeat

Shared Storage

RADIUS Service

Page 9: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

9

Mail Service• Possiamo definire il servizio mail come un “macro

servizio”, costituito da tutte le applicazioni che compongono il servizio di posta elettronica:– MTA (postfix)– Daemon Imap/Pop (Courier)– Gestione mailing list (Mailman)– Antispam/antivirus (Sophos Puremessage)– Httpd (Apache) per webmail e gestione via web– Webmail (Squirrel)– Gestione mailbox (Phamm)

• Ad esso sono associati una partizione disco che contiene sia i dati che le configurazioni dei vari daemon, ed un indirizzo ip che fa riferimento all’alias postino.ts.infn.it.

• Il principale problema è stato quello di costruire uno script di start/stop adeguato, che gestisca in modo corretto lo stato d’uscita dei singoli processi.

Page 10: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

10

LDAP Service• Il servizio LDAP fornisce accesso al database

che contiene le informazioni degli utenti. • Oltre che per l'autenticazione al servizio di

posta elettronica, viene utilizzato per l’accesso ai sistemi di calcolo Linux della Sezione (desktop e farm), in sostituzione di NIS/Yellow Pages usato in precedenza.

• Utilizzato anche per AAA (dialup, Trip).

Page 11: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

11

Il servizio di posta elettronicaLa realizzazione del servizio di posta elettronica si basa su un progetto sviluppato da Mirko Grava di RHX (www.rhx.it), adattato opportunamente. Sono stati utilizzati i seguenti componenti:

MTA: Postfix. Antispam/antivirus: Sophos Puremessage. IMAP/POP: Courier-IMAP. Webmail: Squirrelmail. Gestione mailing list: Mailman. Autenticazione degli utenti: OpenLDAP, con

mailbox “virtuali”. Strumenti per l'amministrazione delle mailbox:

Phamm, phpLDAPadmin.

Page 12: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

12

Schema del servizio di posta

Postfix

PureMessage

Mailman

LDAPPhamm

Courier-IMAP

SquirrelWebmail

Virtual Mailboxes

Page 13: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

13

Autenticazione: OpenLDAP• Per la posta elettronica: mailbox virtuali, sicure poiché

non consentono un accesso “vero” al sistema da parte di un utente reale, ma solo l'accesso alla posta tramite POP/IMAP.

• Schema aggiuntivo di LDAP fornito con il pacchetto Phamm, per la definizione della mailbox virtuali, con relative ACL.

• Per l’accesso alla mailbox, l’utente si autentica con uno username del tipo Nome.Cognome, equivalente al suo indirizzo e-mail.

• Il database è stato riempito in modo semi-automatico elaborando con una script le mappe del NIS utilizzato sul vecchio server, in modo da ottenere un file LDIF, che è stato caricato successivamente nel database LDAP.

Page 14: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

14

Postfix• Perché?

Più semplice da configurare rispetto a Sendmail. Supporta il formato maildir.

• Ricompilato con supporto per: pcre (Perl Compatible Regular Expressions) map

support sasl2 ipv6 vda (necessario per l’attivazione delle quote disco)

• Le mailbox sono state convertite dal formato mbox a maildir utilizzando la script mb2md (http://batleth.sapienti-sat.org/projects/mb2md). La migrazione è stata effettuata gradualmente, senza interruzioni del servizio.

Page 15: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

15

Courier-IMAP• Perché?

– Gestisce nativamente il formato maildir per le mailbox.

– Supporta i protocolli pops e imaps.

• Courier-IMAP è stato configurato in modo da effettuare l’autenticazione tramite OpenLDAP.

Page 16: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

16

Mailing list: Mailman• Mailman sostituisce Majordomo+Mhonarc, utilizzati sul

vecchio server, in quanto permette sia la gestione delle liste che l’archiviazione dei messaggi sul web.

• La gestione è agevole per mezzo dell’interfaccia web fornita con il pacchetto.

• Le mailing list sono definite come alias di postfix in un dominio fittizio [email protected], in modo da evitare che postfix effettui un delivery diretto come per le mailbox [email protected]. In questo modo è possibile definire il piping verso mailman.

• È possibile convertire gli archivi di Mhonarc esistenti nel formato pipermail utilizzato da Mailman. La traduzione non è diretta, ma richiede un passaggio intermedio per il formato mbox:

Mhonarc mbox pipermail (Mailman)

Page 17: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

17

Strumenti per la gestione• Phamm (PHP LDAP Virtual Hosting Manager)

Front-end scritto in PHP, che permette di gestire servizi virtuali utilizzando un database LDAP.

Tra i moduli disponibili, uno in particolare permette l'amministrazione di mailbox virtuali.

Questo software consente una gestione molto agevole delle caselle di posta. La stessa interfaccia abilita inoltre ogni utente alla normale amministrazione della propria mailbox, consentendo operazioni quali il cambio della password e la definizione di un forward verso un diverso indirizzo.

• phpLDAPadmin Interfaccia web ad un database LDAP generico. Utile per operazioni più generali sul database, mentre Phamm

è dedicato alla gestione ordinaria delle mailbox.

• Script realizzate “in casa” Attivazione e rimozione di mailbox da linea di comando.

Page 18: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

18

Problemi riscontrati (1/2)• La messa a punto è stata piuttosto lunga.

• In particolare sono stati necessari numerosi aggiustamenti delle configurazioni di Postfix e LDAP per soddisfare le esigenze dei nostri utenti, per quanto riguarda la limitazione nelle dimensioni dei mail in transito ed il funzionamento di mailing list con un numero elevato di destinatari. Le configurazioni di base sono tarate su valori poco adatti alle nostre esigenze.

• Di alcuni pacchetti sono state installate versioni più recenti di quelle fornite con SL 3.0.4 per ovviare ad alcuni bachi: ad es. clumanager, postfix.

• Per le mailing list è stato necessario attivare un dominio fittizio [email protected], altrimenti sarebbe stato impossibile gestire il piping verso mailman. Questo dipende dalla configurazione di postfix in abbinamento al transport per le mailbox locali.

Page 19: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

19

Problemi riscontrati (2/2)• Expiration: Phamm non prevede attualmente la

possibilità di definire una data di scadenza per le mailbox, anche se è ovviamente possibile disattivare un utente a mano quando necessario. Per ovviare a ciò abbiamo definito uno schema aggiuntivo in LDAP che permette di inserire la scadenza. Tramite un job in cron vengono disattivate in modo automatico le mailbox “scadute”.

• Vacation: il supporto al sistema di notifica automatica in caso di assenza (“vacation”) è attualmente sperimentale in Phamm, ed ha ancora qualche problema.

Page 20: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

20

Considerazioni finali• Il sistema è attivo da circa un anno. Non ci sono

problemi particolari nella gestione ordinaria del cluster e dei servizi.

• Gran parte delle operazioni di amministrazione delle mailbox si possono effettuare da web.

• In caso di problemi hardware i servizi in cluster migrano in tempi ragionevolmente brevi.

• Maggiore attenzione va prestata qualora sia necessario spostare o far ripartire a mano un daemon, in quanto le interazioni con altri servizi possono risentire della manovra e bloccare qualche daemon.

• In caso di upgrade software, è possibile mantenere i servizi attivi su uno dei due nodi che compongono il cluster ed effettuare l’upgrade sull’altro. In questo modo si può verificare il funzionamento della nuova versione senza disservizi.

Page 21: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

21

Statistiche di carico

Page 22: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

22

Statistiche di traffico e-mail

0

5000

10000

15000

20000

25000

30000

35000

40000

1-Apr

2-Apr

3-Apr

4-Apr

5-Apr

6-Apr

7-Apr

8-Apr

9-Apr

10-A

pr

11-A

pr

12-A

pr

13-A

pr

14-A

pr

15-A

pr

16-A

pr

17-A

pr

18-A

pr

19-A

pr

20-A

pr

21-A

pr

22-A

pr

23-A

pr

24-A

pr

25-A

pr

26-A

pr

27-A

pr

28-A

pr

29-A

pr

30-A

pr

Virus

Spam

Ham

Page 23: CCRWS06, 6-9 giugno 2006Servizio di posta elettronica ad alta affidabilita'1 Servizio di posta elettronica ad alta affidabilità Alessandro Tirel e Claudio.

CCRWS06, 6-9 giugno 2006 Servizio di posta elettronica ad alta affidabilita'

23

Ulteriori informazioni• Entro la fine dell’estate (?) sarà messo a disposizione

un documento che descriverà in dettaglio la struttura realizzata e la sua installazione.

• Link utili:Postfix: www.postfix.orgCourier-IMAP: www.courier-mta.org/imapMailman: www.gnu.org/software/mailmanSquirrelmail: www.squirrelmail.orgPhamm: www.phamm.orgphpLDAPadmin: phpldapadmin.sourceforge.net