01.12.2014 Views

Full thesis PDF

Full thesis PDF

Full thesis PDF

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

POLITECNICO DI MILANO<br />

Facoltà di Ingegneria dell’Informazione<br />

POLO REGIONALE DI COMO<br />

Corso di Laurea Specialistica in<br />

Ingegneria Informatica<br />

CONFIGURAZIONE,TESTING E<br />

DEPLOYMENT DI UNA<br />

INFRASTRUTTURA DI POSTA<br />

ELETTRONICA CERTIFICATA<br />

Relatore: Prof. Marco Brambilla<br />

Correlatore: Ing. Florian Daniel<br />

Tesi di laurea di: Mauro Carlo Angiolini<br />

matr. 667873<br />

Anno Accademico 2006/2007


1. INTRODUZIONE ........................................................................................................ 7<br />

1.1. Obiettivi dello stage ............................................................................................ 8<br />

1.2. Struttura della tesi ............................................................................................. 8<br />

2. DALLA RACCOMANDATA TRADIZIONALE ALLA POSTA ELETTRONICA CERTIFICATA 11<br />

2.1. La raccomandata cartacea ................................................................................. 11<br />

2.2. La raccomandata “online” .................................................................................. 11<br />

2.3. Costi della raccomandata tradizionale .................................................................. 13<br />

2.4. La Posta Elettronica Certificata ........................................................................... 14<br />

2.5. Caratteristiche della Posta Elettronica Certificata ................................................... 15<br />

2.6. I gestori di PEC ................................................................................................ 16<br />

2.7. Elementi di diritto e PEC .................................................................................... 18<br />

2.7.1. Innovazione, pubblica amministrazione e diritto .................................................... 18<br />

2.7.2. Posta Elettronica Certificata : origini e normative .................................................. 20<br />

3. REGOLE TECNICHE DEL SERVIZIO DI TRASMISSIONE DI DOCUMENTI INFORMATICI<br />

MEDIANTE POSTA ELETTRONICA CERTIFICATA [5] ....................................................... 22<br />

3.1. Definizioni ....................................................................................................... 22<br />

3.2. Elaborazione dei messaggi ................................................................................. 25<br />

3.3. Logging .......................................................................................................... 27<br />

3.4. Punto di accesso .............................................................................................. 27<br />

3.4.1. Controlli formali sui messaggi in ingresso ........................................................... 29<br />

3.4.2. Avviso di non accettazione per eccezioni formali ................................................... 29<br />

3.4.3. Ricevuta di accettazione .................................................................................... 30<br />

3.4.4. Busta di trasporto ............................................................................................. 31<br />

3.4.5. Avviso di mancata consegna per superamento dei tempi massimi previsti ................. 32<br />

3.5. Punto di ricezione ............................................................................................. 33<br />

3.5.1. Ricevuta di presa in carico ................................................................................. 35<br />

3.5.2. Busta di anomalia ............................................................................................. 36<br />

3.5.3. Avvisi relativi alla rilevazione di virus informatici ................................................... 37<br />

3.5.3.1. Avviso di non accetazione per virus informatico.................................................... 37<br />

3.5.3.2. Avviso di rilevazione virus informatico ................................................................ 38<br />

3.5.3.3. Avviso di mancata consegna per virus informatico ................................................ 39<br />

3.5.4. Punto di consegna ............................................................................................ 40<br />

3.5.4.1. Verifiche sui messaggi in ingresso ...................................................................... 40<br />

3.5.4.2. Ricevute di avvenuta consegna .......................................................................... 40<br />

3.5.4.2.1. Ricevuta completa di avvenuta consegna .......................................................... 40<br />

3.5.4.2.2. Ricevuta di avvenuta consegna breve ............................................................... 41<br />

3.5.4.2.3. Ricevuta sintetica di avvenuta consegna ........................................................... 44<br />

3.5.4.3. Avviso di mancata consegna ............................................................................. 45<br />

3.6. Formati ........................................................................................................... 45<br />

3.6.1. Riferimenti temporali ........................................................................................ 45<br />

3.6.2. Formato data/ora utente ................................................................................... 46<br />

3.7. Specifiche degli allegati ..................................................................................... 46<br />

3.7.1. Corpo del messaggio ......................................................................................... 46<br />

3.7.2. Messaggio originale .......................................................................................... 47<br />

3.7.3. Dati di certificazione ......................................................................................... 47<br />

3.8. Schema dei dati di certificazione ......................................................................... 47<br />

3.9. Schema indice dei gestori di PEC ....................................................................... 49<br />

3.10. Aspetti relativi alla sicurezza .............................................................................. 53<br />

3.10.1. Firma ............................................................................................................. 53<br />

3.10.2. Autenticazione ................................................................................................. 53<br />

3.10.3. Colloquio sicuro ............................................................................................... 54<br />

3.10.4. Virus .............................................................................................................. 54<br />

3.10.5. Indice dei gestori di PEC .................................................................................... 55<br />

3.11. Schema logico di funzionamento ......................................................................... 56<br />

3.11.1. Interazione fra due domini di posta certificata ...................................................... 56<br />

3


3.11.1.1. Busta di trasporto corretta e valida con consegna avente esito positivo .................. 56<br />

3.11.1.2. Busta di trasporto corretta contenente virus informatico non rilevato dal gestore<br />

mittente e consegna avente errore di consegna ............................................................... 57<br />

3.11.1.3. Messaggio originale con virus informatico rilevato dal gestore mittente e avviso di non<br />

accettazione ............................................................................................................... 58<br />

3.11.2. Interazione fra un dominio di posta convenzionale (mittente) ed un dominio di posta<br />

certificata (ricevente) ................................................................................................... 59<br />

3.11.3. Interazione fra un dominio di posta certificata (mittente) ed un dominio di posta<br />

convenzionale (ricevente) ............................................................................................. 60<br />

4. SVILUPPO E TEST DI UN'INFRASTRUTTURA DI SUPPORTO PER LA PEC .................. 61<br />

4.1. Introduzione al lavoro svolto .............................................................................. 61<br />

4.2. Descrizione preliminare del lavoro ....................................................................... 61<br />

4.3. Aspetti più significativi della messa in essere dell’infrastruttura ............................... 63<br />

4.3.1. La virtualizzazione dell’infrastruttura ................................................................... 63<br />

4.3.1.1. Microsoft Virtual Server 2005 ............................................................................ 64<br />

4.3.1.2. Architettura delle macchine virtuali .................................................................... 66<br />

4.3.1.3. Architettura delle reti virtuali ............................................................................. 67<br />

4.3.1.4. Funzionalità per la gestione e utilizzo di Virtual Server .......................................... 68<br />

4.3.2. Il laboratorio PEC ............................................................................................. 76<br />

4.3.2.1. Macchina 1 : Domain Controller / logging PEC ................................................... 77<br />

4.3.2.2. Macchina 2 : Frontend di Exchange ................................................................. 80<br />

4.3.2.3. Macchina 3 – 4 : Nodi del cluster di Backend di Exchange ...................................... 81<br />

4.3.3. Lo sviluppo delle componenti software ................................................................ 84<br />

4.3.3.1. Procedura di deploy ......................................................................................... 84<br />

4.3.3.2. Testing della soluzione ..................................................................................... 85<br />

4.4. Conclusioni e visioni future ................................................................................ 86<br />

5. METODO DI PROGETTO ........................................................................................... 88<br />

5.1. Metodo di progetto a cascata ( Waterfall Model ) ................................................... 88<br />

5.1.1. Definizione ...................................................................................................... 89<br />

5.1.2. Fasi ................................................................................................................ 90<br />

5.1.3. Punti di forza ................................................................................................... 94<br />

5.1.4. Punti di debolezza ............................................................................................ 95<br />

5.2. Metodo di progetto a spirale ( Spiral Model ) ........................................................ 97<br />

5.2.1. Definizione ...................................................................................................... 97<br />

5.2.2. Fasi ................................................................................................................ 98<br />

5.2.3. Punti di forza .................................................................................................. 98<br />

5.2.4. Punti di debolezza ........................................................................................... 98<br />

5.3. MSF / MOF ...................................................................................................... 99<br />

5.3.1. MSF................................................................................................................ 99<br />

5.3.2. MOF ............................................................................................................. 102<br />

5.3.2.1. Elementi di MOF ......................................................................................... 105<br />

5.3.2.1.1. Il Team Model di MOF ............................................................................... 105<br />

5.3.2.1.1.1. Principi fondamentali ............................................................................. 106<br />

5.3.2.1.1.2. Gruppi di ruoli del team model ................................................................ 107<br />

5.3.2.1.2. Il process model MOF ............................................................................... 109<br />

5.3.2.1.2.1. Panoramica .......................................................................................... 109<br />

5.3.2.1.2.2. Principi fondamentali ............................................................................. 109<br />

5.3.2.1.2.3. Quadranti per il process model ................................................................ 110<br />

5.3.2.1.3. La disciplina di risk management MOF ......................................................... 112<br />

5.3.2.1.3.1. Panoramica .......................................................................................... 112<br />

5.3.2.1.3.2. Principi fondamentali ............................................................................. 113<br />

5.3.2.1.3.3. Processo di gestione dei rischi ................................................................. 113<br />

APPENDICE .................................................................................................................. 115<br />

1. MANUALE PER LA PROCEDURA DI DEPLOYMENT ................................................... 115<br />

1.1. Cenni Preliminari ............................................................................................ 115<br />

1.2. Nomi di Dominio ............................................................................................ 115<br />

4


1.3. Certificati ...................................................................................................... 115<br />

1.4. Infrastruttura ................................................................................................. 115<br />

1.5. Utilizzo di MAPI vs SMTP .................................................................................. 115<br />

1.6. SQL Server e ORACLE ..................................................................................... 116<br />

1.7. ANTIVIRUS .................................................................................................... 116<br />

1.8. Versioni del software, Patch e Service pack. ....................................................... 116<br />

1.9. Descrizione di massima dell’infrastruttura .......................................................... 117<br />

1.10. Procedura di installazione infrastruttura ............................................................. 118<br />

1.10.1. Installazione sistemi operativi e software di base ................................................ 118<br />

1.10.2. Certificati di root e per Posta-Certificata ............................................................ 121<br />

1.10.3. Doppi Virtual Server SMTP sui Front End ............................................................ 123<br />

1.10.4. Modifica dei file di configurazione ..................................................................... 127<br />

1.10.5. Installazione Applicativa .................................................................................. 129<br />

1.10.5.1. Exchange BackEnd ....................................................................................... 129<br />

1.10.5.2. Exchange FrontEnd....................................................................................... 131<br />

1.10.6. Database SQL ................................................................................................ 134<br />

1.10.7. Patch per PEC ................................................................................................ 134<br />

5.4. BIBLIOGRAFIA ...................................................................................................... 136<br />

5


1. INTRODUZIONE<br />

La presente tesi si occuperà inizialmente di introdurre al tema della Posta Elettronica Certificata<br />

per poi procedere in una dettagliata descrizione del lavoro svolto durante lo stage presso<br />

Microsoft, descrivendone in maniera accurata le milestones e i successivi affinamenti che hanno<br />

permesso di realizzare un’implementazione funzionante di un laboratorio virtuale per la gestione<br />

del flusso di Posta Elettronica Certificata. Trascurando il naturale entusiasmo che può comportare<br />

il fatto di avere a disposizione uno strumento versatile come la raccomandata in forma elettronica,<br />

è opportuno sottolineare come il progressivo raffinamento delle tecnologie informatiche, la<br />

massificazione delle stesse e l’investimento in termini economici da parte dello stato di adeguare<br />

la pubblica amministrazione al contesto abbia reso possibile l’ideazione della PEC.<br />

Contestualmente all’approvazione del decreto legislativo relativo alla PEC, che consente di inviare<br />

email aventi certificazione legale dell’avvenuta consegna, alcune società hanno iniziato ad offrire il<br />

servizio a pagamento rivolgendosi dapprima alle aziende e in secondo luogo ai privati cittadini. Per<br />

poter offrire tale servizio una società deve essere inserita nell’elenco pubblico dei gestori: i<br />

requisiti per entrarne a far parte prevedono che la società disponga di un capitale sociale di<br />

almeno 1 milione di euro, ovvero Pubbliche Amministrazioni (con alcune limitazioni). Inoltre, il<br />

candidato Gestore viene valutato dal CNIPA rispetto a requisiti di onorabilità, adeguatezza del<br />

personale, processi di sicurezza, esperienza nell’erogazione di servizi analoghi, ridondanza e<br />

servizi di emergenza. stati più volte rivisti e modificati, contestualmente allo sviluppo del percorso<br />

che ha portato alla definizione del decreto legge. Di fatto la barriera all’ingresso del livello minimo<br />

di capitale sociale se da un lato limita il numero di enti che possono svolgere il ruolo di certificatori<br />

( ad oggi sono undici ), dall’ altro tutela gli utilizzatori rendendo impossibile che qualcuno si illustri<br />

fraudolentemente della carica di certificatore.<br />

Entrando nel merito delle società che hanno contribuito alla realizzazione del progetto PEC occorre<br />

citare EDS, multinazionale operante nell’ambito dello sviluppo software, che dopo aver vinto nel<br />

Febbraio 1999 il bando di gara dell’ AIPA (Autorità per l'informatica nella pubblica<br />

amministrazione, dal 30 giugno 2003 CNIPA, Centro nazionale per l'informatica nella pubblica<br />

amministrazione) per la fornitura dei servizi di interoperabilità della PA, ha costituito un’apposita<br />

società avente come oggetto sociale esclusivo la fornitura dei servizi oggetto della gara, EDSPA.<br />

EDS/EDSPA è uno degli 11 certificatori PEC regolarmente iscritti all’elenco e Microsoft, in<br />

collaborazione con il partner Tiq, si è occupata di implementare la soluzione software per la<br />

7


gestione della PEC utilizzata da EDS. Nel dettaglio Microsoft si è occupata della parte<br />

infrastrutturale della soluzione, affidando in outsourcing a Tiq lo sviluppo delle componenti<br />

software necessarie per la gestione del flusso PEC. La soluzione è stata parallelamente messa in<br />

produzione e utilizzata presso EDS, che si è occupata del testing e in parte dello sviluppo,<br />

mantenendo i contatti con il Cnipa per verificare la conformità ai requisiti. I macro obiettivi<br />

raggiunti nell’ambito del progetto sono stati :<br />

<br />

<br />

Allestire un laboratorio di macchine per la gestione del flusso della PEC<br />

o Allestire il laboratorio di macchine virtuali basandosi su tecnologia Microsoft<br />

o Installare e configurare le componenti software specifiche responsabili del flusso PEC<br />

o Effettuare il test di casi d’uso specifici<br />

o Mantenere aggiornato il laboratorio considerando il versioning delle componenti custom<br />

e degli aggiornamenti di sistema operativo e applicativi.<br />

Scrivere la documentazione relativa al deployment della soluzione<br />

1.1. Obiettivi dello stage<br />

L’obiettivo primario dello stage svolto è stato quello di realizzare un’infrastruttura di Posta<br />

Elettronica Certificata funzionante, adottabile in ambito produttivo. Molteplici e eterogenee sono le<br />

skills sviluppate collateralmente nel portare a termine questo compito : da un lato si sono affinate<br />

abilità pratiche, correlate con la conoscenza delle modalità e degli strumenti necessari per<br />

effettuare deployment di sistemi operativi e software applicativi, dall’altro si sono acquisite<br />

competenze tecniche e commerciali sugli applicativi coinvolti. Inoltre è stato possibile constatare<br />

come si lavora in un’azienda di grandi dimensioni, familiarizzando con i workflow interni e le<br />

modalità di lavoro. Oltre a produrre un laboratorio PEC funzionante, inseribile in ambito<br />

produttivo, si è provveduto a scrivere una documentazione di installazione per agevolare il<br />

trasferimento della conoscenza acquisita effettuando questo deployment. La documentazione<br />

prodotta è consultabile in appendice.<br />

1.2. Struttura della tesi<br />

Nel presente documento si è deciso di affrontare l’argomento della Posta Elettronica Certificata in<br />

maniera progressiva: dopo un’introduzione al contesto generale della PEC e dopo averne<br />

giustificate le origini, anche dal punto di vista del diritto, si procede con la descrizione delle regole<br />

8


tecniche sulla base delle quali è stato sviluppato il software custom adoperato per la realizzazione<br />

del laboratorio. Si tracceranno infine alcune linee guida per ulteriori sviluppi e miglioramenti<br />

futuri.<br />

9


2. Dalla raccomandata tradizionale alla Posta Elettronica<br />

Certificata<br />

Per comprendere come si sia potuti arrivare alla concretizzazione della PEC e di quali siano i suoi<br />

benefici rispetto all’utilizzo della raccomandata tradizionale, occorre entrare nel merito delle<br />

caratteristiche di quest’ ultima.<br />

2.1. La raccomandata cartacea<br />

Come il sito di Poste Italiane spiega, la posta raccomandata viene utilizzata quando occorre<br />

dimostrare che la spedizione di una missiva è stata effettuata, disponendo della certificazione<br />

legale dell'avvenuta spedizione. Dal momento che ha valore legale è particolarmente adatta per<br />

tutte quelle comunicazioni critiche per le quali è necessaria la certezza dell’avvenuta consegna,<br />

come per esempio gare, concorsi pubblici, usi amministrativi e giudiziari. La raccomandata<br />

cartacea può essere spedita esclusivamente recandosi presso un ufficio postale e compilando un<br />

apposito modulo, una copia del quale resta come ricevuta al mittente. Una raccomandata cartacea<br />

ha delle dimensioni fisiche da rispettare, il superamento delle quali determina l’impossibilità di<br />

effettuare la spedizione :<br />

Dimensioni minime: 14 centimetri di base per 9 di altezza<br />

Dimensioni standard: da 14 a 23,5 centimetri di base e da 9 a 12 centimetri di altezza. Il<br />

peso non può superare i 20 grammi e lo spessore non può essere più di mezzo centimetro<br />

Dimensioni massime: 35,3 centimetri di base per 25 di altezza, 5 centimetri di spessore, 2<br />

chili di peso<br />

La lettera raccomandata una volta giunta a destinazione viene consegnata solo al destinatario o a<br />

un suo incaricato. Se non c'è nessuno a riceverla, bisogna ritirarla all'ufficio postale indicato<br />

nell'avviso. Entro 5 giorni di deposito presso l’ufficio postale il ritiro è gratuito, dal sesto al<br />

10


trentesimo giorno si paga una mora quotidiana ( 0,52 euro ). Dopo trenta giorni la raccomandata<br />

viene rispedita al mittente. Sono disponibili alcune servizi aggiuntivi a pagamento :<br />

1. Avviso di Ricevimento<br />

Necessario per ricevere la conferma dell'avvenuta consegna a destinazione della spedizione,<br />

consta di una cartolina firmata dal destinatario o da chi ha effettuato il ritiro. L' avviso di<br />

ricevimento prioritario costa 0,60 euro ed è disponibile anche l'avviso di ricevimento ordinario al<br />

costo di 0,45 euro.<br />

2. Contrassegno<br />

Nel caso di contrassegno la raccomandata viene consegnata solo se il destinatario paga la cifra<br />

stabilita. Se la cifra è inferiore a 250,00 euro il destinatario può pagare in contanti al portalettere.<br />

Per cifre superiori, fino a un importo massimo di 3.000,00 euro, il ricevente deve andare all'ufficio<br />

postale indicato nell'avviso che gli viene consegnato.<br />

2.2. La raccomandata “online”<br />

Una variante della raccomandata cartacea tradizionale è la cosiddetta “raccomandata online”, un<br />

servizio di Poste Italiane che consente di inviare raccomandate direttamente dal computer: Poste<br />

Italiane provvede alla stampa, all' imbustatura e alla consegna al destinatario tramite Posta<br />

Raccomandata. La ricevuta della spedizione, che ha lo stesso valore legale della ricevuta fornita<br />

con la raccomandata tradizionale, viene inviata da Poste Italiane nella casella di posta elettronica<br />

"Postemail" del mittente. I documenti inviati sono automaticamente conservati per tre mesi in un<br />

archivio online che il mittente può consultare in qualsiasi momento. Come per la Raccomandata<br />

tradizionale è possibile richiedere l'Avviso di Ricevimento, che verrà recapitato per Posta Ordinaria<br />

o Prioritaria. Il testo della raccomandata può essere fornito scrivendo direttamente online mentre<br />

si è collegati al sito (lunghezza massima: 2 pagine in formato A4) oppure allegando un file già<br />

preparato e memorizzato sul computer (lunghezza massima: 18 pagine in formato A4). Il file può<br />

essere in formato doc, txt, tif, xls o jpg e avere una dimensione massima di 3 MB.<br />

Successivamente la stampa della raccomandata viene effettuata in bianco e nero ed è possibile<br />

effettuare il pagamento online. Lo stesso documento può essere inviato a più destinatari con una<br />

sola operazione. Il numero massimo degli invii varia in base alla modalità di inserimento degli<br />

11


indirizzi: mediante inserimento manuale si possono inserire fino a 10 destinatari, mediante<br />

inserimento dalla rubrica fino a 200 destinatari .<br />

Una volta spedita la raccomandata, sia che sia stata spedita a mano o via web, è possibile<br />

effettuarne il tracking mediante il codice di invio riportato sulla ricevuta di spedizione, consegnata<br />

a mano presso l’ufficio o inviato nella casella di posta elettronica "Postemail".<br />

12


2.3. Costi della raccomandata tradizionale<br />

Nella seguente tabella è possibile visualizzare i costi per l’invio di posta raccomandata<br />

tradizionale.<br />

Normale Normale + AR<br />

(ordinaria/prioritaria)<br />

Online Online + AR<br />

(ordinaria/prioritaria)<br />

Fino a 20 g. 2,80 euro 3,25 / 3,40 euro x x<br />

Fino a 20 g.<br />

(3 pagine<br />

formato A4)<br />

x x 3,50 euro 3,90 / 4,10 euro<br />

Da 21 fino a<br />

50g.<br />

Da 51 fino a<br />

100g.<br />

Da 21 fino a<br />

100g (da 4 a<br />

18 pagine<br />

formato A4 )<br />

Da 100 fino a<br />

250g.<br />

Da 250 fino a<br />

350g.<br />

Da 350 fino a<br />

1000g.<br />

Da 1000 fino a<br />

2000g<br />

Da 2000 fino a<br />

20000g<br />

3,20 euro 3,65 / 3,80 euro x x<br />

3,25 euro 3,70 / 3,85 euro x x<br />

x x 4,50 euro 4,90 / 5,10 euro<br />

4,05 euro 4,50 / 4,65 euro x x<br />

4,15 euro 4,60 / 4,75 euro x x<br />

6,35 euro 6,80 / 6,95 euro x x<br />

8,35 euro 8,80 / 8,95 euro x x<br />

12,50 euro 12,95 / 13,10 euro x x<br />

Tabella 1 Costi per l’invio di raccomandate tradizionali [4]<br />

13


2.4. La Posta Elettronica Certificata<br />

Nel corso dell’ultimo decennio la posta elettronica è diventata sempre più uno strumento<br />

indispensabile per la comunicazione tra privati, aziende e pubbliche amministrazioni, seppur<br />

limitata dall’assenza di caratteristiche di sicurezza e di tracciabilità dei messaggi che la rendano<br />

opponibile a terzi nel caso di contenziosi. Per questo fino ad oggi, per l’invio di documenti formali<br />

importanti, ci si è avvalsi esclusivamente delle raccomandate con ricevuta di ritorno. Con la<br />

creazione della Posta Elettronica Certificata (PEC) si è voluto introdurre uno strumento efficace,<br />

economico e sicuro per garantire alle comunicazioni via internet lo stesso livello di sicurezza e<br />

supporto legislativo che oggi hanno le raccomandate, colmando quel gap caratteristico dell’ e-Mail<br />

tradizionale.<br />

Per ottenere questi requisiti, è stato necessario regolamentare il meccanismo di Posta Elettronica<br />

Certificata con apposite normative e offrire uno schema tecnico di supporto: in particolare il Testo<br />

Unico sulla documentazione amministrativa (DPR 445/2000) e, più recentemente, il DPR 68/2005.<br />

Con le regole tecniche emanate dal CNIPA ( Centro Nazionale per l’ Informatica nella Pubblica<br />

Amministrazione ) e la pubblicazione dell’elenco pubblico dei gestori sono stati resi disponibili tutti<br />

i presupposti perché la PEC divenga operativa.<br />

La PEC completa il “ciclo di vita” del documento informatico, dalla formazione e sottoscrizione,<br />

passando per la verifica della firma, la spedizione e ricevuta, il protocollo, per arrivare alla<br />

conservazione : non manca nulla per sostituire la carta a tutti gli effetti con tutti i benefici che<br />

questo adeguamento comporta.<br />

Tecnicamente la PEC consta di un sistema di trasporto di documenti informatici fondato sul<br />

servizio di posta elettronica tradizionale, a cui sono state aggiunte delle caratteristiche tali da<br />

fornire agli utenti la certezza dell’invio e della consegna (o meno) dei messaggi e-mail al<br />

destinatario. Può essere utilizzata per la trasmissione di tutti i tipi di informazioni e documenti in<br />

formato elettronico e consente di certificare l’invio, l’integrità e l’avvenuta consegna del<br />

messaggio scambiato tra il gestore di PEC del mittente e quello del destinatario. Dal punto di vista<br />

legale la PEC ha lo stesso valore della tradizionale raccomandata con avviso di ricevimento<br />

(garantendo, quindi, l’opponibilità a terzi dell’avvenuta consegna). In definitiva il servizio ha tutte<br />

le caratteristiche della raccomandata con in aggiunte notevoli vantaggi sia in termini di tempo che<br />

di costi. In particolare, nella PEC si riscontra:<br />

<br />

<br />

<br />

<br />

Semplicità ed economicità di trasmissione, inoltro e riproduzione<br />

Semplicità ed economicità di archiviazione e ricerca<br />

Certificazione dell’invio e della e consegna del messaggio;<br />

Opponibilità a terzi rispetto alle operazioni di invio e ricezione di un messaggio.<br />

14


Facilità di invio multiplo, cioè a più destinatari contemporaneamente, con costi<br />

estremamente più bassi rispetto a quelli dei mezzi tradizionali<br />

Velocità della comunicazione ed inoltre non è necessaria la presenza del destinatario per<br />

completare la consegna<br />

Possibilità di consultazione ed uso anche da postazioni diverse da quella del proprio ufficio<br />

o abitazione (basta un qualsiasi PC connesso ad Internet e un normale browser web), ed in<br />

qualunque momento grazie alla persistenza del messaggio nella casella di posta<br />

elettronica.<br />

Livelli minimi di qualità del servizio e di sicurezza stabiliti dalla legge.<br />

Diversamente dalla raccomandata tradizionale, nella ricevuta di avvenuta consegna sono<br />

presenti anche i contenuti del messaggio originale (opponibilità del contenuto inviato ).<br />

Semplice integrabilità con soluzioni applicative preesistenti.<br />

La pubblica amministrazione utilizza un servizio di posta elettronica certificata già dal 2004 e la<br />

pubblica amministrazione locale si è dotata del servizio in maniera progressiva durante gli ultimi 2<br />

anni.<br />

2.5. Caratteristiche della Posta Elettronica Certificata<br />

Procedendo nell’analisi delle caratteristiche della PEC è necessario chiarire che la certificazione<br />

offerta è relativa ai soli eventi di invio e di consegna del messaggio nella casella del destinatario.<br />

Non si certifica la lettura del messaggio da parte del destinatario, allo stesso modo in cui nella<br />

consegna di una raccomandata tradizionale si assicura solo l’avvenuta consegna della missiva e si<br />

assume che il destinatario la legga. La PEC è in grado di garantire l’identità della casella mittente,<br />

in quanto è assicurata l’inalterabilità dell’indirizzo associato alla casella dalla quale si effettua<br />

l’invio del messaggio, cosi’ come è in grado di garantire l’associazione fra il titolare del servizio e<br />

la relativa casella di posta elettronica certificata, infatti il soggetto che intende richiedere un<br />

servizio di PEC, attivando una mailbox dedicata, deve presentare al Gestore di PEC, oltre che alla<br />

richiesta di attivazione del servizio, anche un documento che attesti la sua identità diventando<br />

quindi titolare del servizio. Per queste ragioni inviare mail di SPAM da un indirizzo di PEC<br />

risulterebbe essere una pratica controproducente.<br />

15


L’invio e la ricezione di messaggi di PEC hanno valore legale solo nel caso in cui il destinatario sia<br />

dotato di una casella di Posta Elettronica Certificata: è solo mediante l’invio attraverso questo<br />

circuito privilegiato che vengono generate le ricevute necessarie alla certificazione. E’ possibile<br />

inviare messaggi anche ai possessori di una casella di posta elettronica non certificata, ma senza<br />

alcun valore legale : questi ultimi riceveranno la mail imbustata come se se fosse una mail<br />

certificata ma la generazione delle ricevute necessarie alla certificazione non avrà luogo. Dal<br />

momento che la normativa impone ai differenti gestori di PEC di garantire la piena interoperabilità<br />

dei servizi offerti è possibile inviare messaggi di Posta Elettronica Certificata tra utenti che<br />

utilizzano Gestori di PEC differenti.<br />

Nel caso in cui un messaggio sia stato effettivamente consegnato, il destinatario non può negarne<br />

l’avvenuta ricezione, in quanto la ricevuta di avvenuta consegna del messaggio, firmata ed inviata<br />

al mittente dal Gestore di PEC scelto dal destinatario, riporta la data e l’ora in cui il messaggio è<br />

stato consegnato nella casella di PEC del destinatario, certificandone l’avvenuta consegna. Se si<br />

smarrisce una ricevuta e occorre ottenerne una copia valida a fini legali bisogna rivolgersi al<br />

proprio Gestore di PEC il quale, per legge, è obbligato a "registrare" e archiviare tutte le<br />

operazioni relative alle trasmissioni effettuate per trenta mesi. Tali informazioni sono conservate<br />

nel file di log, un registro informatico all’interno del quale vengono memorizzate tutte le<br />

transazioni relative alle trasmissioni effettuate. Tale registro è indispensabile per la ricostruzione<br />

delle ricevute, nel caso di eventuale smarrimento delle stesse. Per quel che concerne la sicurezza<br />

e la privacy dei dati personali dei titolari di caselle PEC, la norma impone ai gestori di applicare<br />

tutte le procedure atte a garantire la sicurezza e la privacy dei dati personali. Analogo livello di<br />

sicurezza è garantito anche per le informazioni archiviate nel log delle trasmissioni.<br />

2.6. I gestori di PEC<br />

Per richiedere e attivare il servizio di PEC occorre rivolgersi ad uno dei Gestori iscritti nell’indice<br />

tenuto dal CNIPA. Possono offrire tale servizio solamente le aziende e le Pubbliche<br />

Amministrazioni che, presentata la domanda di accreditamento al Cnipa, superino l’istruttoria<br />

dimostrando di essere in possesso dei requisiti richiesti dalla normativa di riferimento. Tali<br />

soggetti, divenuti Gestori di PEC, sono iscritti in un apposito elenco pubblico tenuto dal Cnipa. Per<br />

attivare la casella di PEC è necessario che l’utente scelga (in funzione delle proprie<br />

esigenze/preferenze) il Gestore di PEC con cui vuole attivare la propria casella e quindi seguire le<br />

istruzioni contenute nel manuale operativo del Gestore scelto. Dopo aver sottoscritto un contratto<br />

16


con un Gestore di PEC si ottengono servizi di gestione di caselle di posta, ricevute opponibili,<br />

accesso ai log in caso di smarrimento di una ricevuta o contestazioni, livelli minimi di servizio<br />

garantiti dalla normativa. Per quanto riguarda le imprese, nei rapporti tra loro intercorrenti,<br />

possono dichiarare la esplicita volontà di accettare l’invio di Posta Elettronica Certificata mediante<br />

indicazione nell’atto di iscrizione al registro delle imprese (http://www.infoimprese.it/),<br />

specificando il proprio indirizzo.<br />

Per diventare Gestori di PEC occorre essere una società con capitale di almeno 1 milione di euro<br />

interamente versato, oppure una pubblica amministrazione (con alcune limitazioni), e<br />

naturalmente occorre presentare domanda di iscrizione nell’apposito elenco pubblico al CNIPA[6].<br />

Il candidato Gestore viene valutato dal CNIPA rispetto a:<br />

o Requisiti di onorabilità<br />

o Adeguatezza del personale<br />

o Procedure di sicurezza<br />

o Esperienza nell’erogazione di servizi analoghi<br />

o Ridondanza e servizi di emergenza<br />

I Gestori di PEC hanno l’obbligo di rispettare i requisiti, le prescrizioni tecniche e i livelli minimi di<br />

servizio. Inoltre devono dotarsi della certificazione di qualità ISO 9000 per il processo PEC, di una<br />

polizza assicurativa e devono consentire eventuali attività di vigilanza da parte di incaricati del<br />

CNIPA. Tale esercizio, detto vigilanza a regime, è effettuato dal Cnipa con controlli periodici - su<br />

segnalazione - attraverso l’emissione di delibere e atti di indirizzo, con incontri periodici e<br />

attraverso l’acquisizione di informazioni. Il CNIPA prima di accettare una domanda di iscrizione<br />

all’elenco dei Gestori di PEC effettua la verifica dei requisiti oggettivi e soggettivi, sulla base di<br />

quanto richiesto dalla norma; in caso positivo il nuovo Gestore viene iscritto nell’elenco pubblico e<br />

messo in condizione di erogare il servizio. Le modalità di accreditamento nell'elenco pubblico dei<br />

gestori sono dettagliate nella Circolare del Cnipa 49/2005.<br />

Consultando l’elenco pubblico dei Gestori di PEC è possibile sapere chi sono i gestori di PEC:<br />

l’elenco riporta la lista esaustiva dei gestori abilitati ad offrire il servizio. Posto che il servizio<br />

offerto dai gestori deve rispettare numerosi requisiti di base che sono stabiliti dalla normativa e<br />

controllati dal CNIPA all’atto dell’iscrizione nell’elenco pubblico dei Gestori, ciascun operatore<br />

abilitato può personalizzare e valorizzare la propria offerta ed è libero di fissare le proprie<br />

strategie commerciali e di prezzo. Attraverso Internet è possibile visitare i siti dei diversi Gestori di<br />

PEC e confrontare le caratteristiche del servizio ed i prezzi, scegliendo poi in funzione delle proprie<br />

esigenze. Tutti i Gestori di PEC sono tenuti a pubblicare sui loro siti il manuale operativo del<br />

17


servizio che descrive tutte le principali caratteristiche tecniche dell’offerta. I livelli minimi di qualità<br />

e continuità del servizio garantiti dai Gestori del servizio di PEC sono dettati dalla normativa di<br />

riferimento e approfonditi nel seguente capitolo.<br />

Esiste un servizio denominato "Indice delle Pubbliche Amministrazioni" (IPA) consultabile on line<br />

che agglomera tutti gli indirizzi PEC delle PA all’indirizzo http://www.indicepa.gov.it/, mentre per i<br />

privati la pubblicazione è possibile solo in caso di consenso esplicito.<br />

2.7. Elementi di diritto e PEC<br />

L’ingresso delle nuove tecnologie nel panorama giuridico ha presentato la necessità di riformare<br />

alcuni concetti che sono alla base del Diritto Amministrativo e non solo, provocando un<br />

ripensamento delle convinzioni dottrinali alle quali per anni si è ispirata l’azione amministrativa.<br />

Il processo di osmosi che ha visto come attori tecnologia e diritto ha dato vita a nuovi istituti<br />

giuridici che hanno recentemente ricevuto una formale investitura da parte delle fonti normative<br />

italiane e comunitarie, risultando essere tra i maggiori impulsi di rinnovamento della pubblica<br />

amministrazione, bisognosa di una riforma volta al miglioramento della sua operatività.<br />

Attraverso l’analisi giuridica dei principali fattori innovativi legati al rinnovo informatico della<br />

pubblica amministrazione e la dimostrazione della perfetta equiparazione giuridica tra le nuove<br />

figure figlie dell’applicazione delle tecnologie al diritto e i paralleli istituti classici, si puo’<br />

presumere che l’informatizzazione dell’azione amministrativa porterà ad un sensibile<br />

miglioramento del servizio pubblico, consentendo l’avvicinamento dell’amministrazione alle<br />

esigenze dei cittadini, per renderla più pronta nell’assolvimento dei propri compiti istituzionali.<br />

2.7.1. Innovazione, pubblica amministrazione e diritto<br />

Le principali novità nel panorama giuridico sono rappresentate dal documento informatico, ovvero<br />

la rappresentazione informatica di atti, fatti o dati giuridicamente rilevanti, un atto prodotto in<br />

forma elettronica per mezzo di sistemi informatici che in tale forma dispiega i propri effetti, e la<br />

firma digitale, il risultato di una procedura informatica che consente di rendere certa la<br />

18


provenienza e l’integrità di un documento informatico, emulando perfettamente la funzione della<br />

firma autografa e fornendo maggiore certezza e flessibilità.<br />

Questi due nuovi istituti giuridici, disciplinati compiutamente nel testo unico sulla documentazione<br />

amministrativa (D.P.R. 445/2000), sono alla base della riforma informatica della Pubblica<br />

Amministrazione e consentiranno non solo di snellire, proceduralizzare e standardizzare l’attività<br />

amministrativa, ma anche di fornire maggiori garanzie per ciò che concerne la certezza dei<br />

documenti amministrativi che, nella forma elettronica, se rispondenti agli accorgimenti tecnici<br />

indicati nella normativa in materia, risultano più affidabili rispetto ai classici atti prodotti in forma<br />

cartacea.<br />

La gestione dei flussi documentali e la relativa archiviazione rappresenta uno dei compiti più<br />

onerosi cui deve far fronte la pubblica amministrazione. Con l’introduzione delle nuove figure<br />

giuridiche finalizzate alla “digitalizzazione” dell’azione amministrativa è possibile fare a meno degli<br />

atti cartacei e dei relativi bolli, marche e punzoni, consentendo la lavorazione delle pratiche, la<br />

loro archiviazione e protocollazione su supporti elettronici aventi il pregio di essere di dimensioni<br />

ridotte e di poter contare su una elevatissima flessibilità gestionale. Cosi’ come la trasmissione di<br />

atti, documenti e informazioni tra uffici e tra amministrazioni avviene su canali telematici,<br />

abbattendo tempi e costi che hanno storicamente appesantito il procedimento amministrativo, e<br />

consentendo alle pubbliche amministrazioni maggiore funzionalità e razionalità.<br />

Il cammino intrapreso mediante la comparsa e la progressiva adozione delle nuove tecnologie<br />

conduce a un sistema di “teleamministrazione”, ovvero di un’amministrazione della cosa pubblica<br />

condotta con l’ausilio dell’informatica, volta allo scopo di eliminare la carta come strumento<br />

fondamentale dell’attività amministrativa a vantaggio di atti, documenti e firme elettronici aventi il<br />

pregio di una maggiore flessibilità, che consenta all’amministrazione un’erogazione dei servizi per<br />

mezzo di collegamenti informatici che possano garantire una razionale e veloce interconnesione<br />

tra le varie amministrazioni pubbliche e l’offerta ai cittadini di una diretta partecipazione al<br />

procedimento amministrativo. Ha concorso all’estensione di queste nuove fuzionalità l’introduzione<br />

della carta d’identità elettronica (una tessera magnetica dotata di micro-chip), che oltre ad<br />

espletare le caratteristiche funzioni di documento di riconoscimento, è destinata a divenire una<br />

vera e propria “carta multifunzionale” del cittadino, per mezzo della quale lo stesso potrà accedere<br />

telematicamente ai servizi offerti dalle amministrazioni pubbliche. Una migliore efficienza<br />

dell’amministrazione ed un razionale impiego delle risorse, grazie al proficuo utilizzo delle nuove<br />

tecnologie nelle amministrazioni dello Stato, porterà ad una sensibile diminuzione dei costi e dei<br />

tempi attualmente necessari per lo svolgimento di operazioni burocratico amministrative,<br />

compatibilmente con i tempi di adozione e ambientamento con questi nuovi strumenti. La PEC<br />

completa il ciclo di gestione documentale elettronica rendendo possibile l’invio e la ricezione<br />

provato a termini di legge di documenti elettronici.<br />

19


2.7.2. Posta Elettronica Certificata : origini e normative<br />

Vediamo ora cosa succede nel caso in cui sia il mittente che il destinatario siano entrambi<br />

attrezzati con caselle di posta certificata. L’art. 14 del Testo Unico sulla documentazione<br />

amministrativa (D.P.R. n. 445/2000) indica i principi idonei a dare piena validità legale a tale<br />

fattispecie di trasmissione: “La trasmissione del documento informatico per via telematica, con<br />

modalità che assicurino l’avvenuta consegna, equivale alla notificazione per mezzo della posta nei<br />

casi consentiti dalla legge.” La norma equipara, nei casi consentiti dalla legge, il valore giuridico<br />

della trasmissione di un documento informatico (un messaggio e-mail, nel nostro caso), a quello<br />

della notificazione postale. La norma dispone altresì una condizione indispensabile affinché ciò<br />

accada, ovvero che la trasmissione debba essere effettuata con modalità che assicurino l’avvenuta<br />

consegna: ecco il motivo per cui è stata “inventata” la posta elettronica certificata (PEC), ovvero<br />

un sistema di posta elettronica che certifica sia il momento di avvenuta spedizione che quello di<br />

avvenuta consegna di un documento informatico. Il D.P.R. 11 febbraio 2005 n. 68 [1]<br />

(Disposizioni per l'utilizzo della posta elettronica certificata, a norma dell'articolo 27 della legge 16<br />

gennaio 2003, n. 3) ha recentemente regolamentato l’utilizzo della posta elettronica certificata, di<br />

seguito denominata PEC. Nel momento il cui il mittente invia un proprio messaggio di posta<br />

elettronica riceve dal proprio gestore di posta una ricevuta che costituisce prova dell’avvenuta<br />

spedizione. Quando il messaggio perviene al destinatario il gestore di posta di quest’ultimo, invia<br />

al mittente la ricevuta di avvenuta consegna, che attesta che il messaggio è effettivamente<br />

pervenuto, indicando anche il momento esatto in cui tale consegna è avvenuta.<br />

La ricevuta di avvenuta consegna, secondo quanto stabilito dal comma 5, viene rilasciata nel<br />

momento in cui il messaggio viene consegnato nella casella di posta elettronica del destinatario a<br />

prescindere dalla avvenuta lettura del messaggio da parte del destinatario. Vi è quindi<br />

contemporaneità tra il rilascio della ricevuta di consegna al mittente e la consegna stessa del<br />

messaggio nella casella di posta elettronica del destinatario. Insieme alla ricevuta di consegna,<br />

come previsto dal comma 4, il gestore del destinatario può inviare al mittente anche la copia<br />

completa del testo del messaggio, al fine di dimostrare che è effettivamente quello il messaggio<br />

consegnato. Le modalità relative alla possibilità tecnologica che oltre alla ricevuta sia restituita al<br />

mittente la copia completa del testo del messaggio saranno definite nelle regole tecniche di<br />

prossima emanazione. Il comma 7 prevede poi che, nel caso in cui il mittente abbia smarrito le<br />

ricevute, la traccia informatica delle operazioni svolte (log) conservata su un apposito registro<br />

informatico a cura dei gestori, secondo quanto previsto dall’articolo 11, comma 2, ha il medesimo<br />

valore giuridico delle ricevute ed è opponibile ai terzi ai sensi dell’articolo 14 del D.P.R. n.<br />

445/2000. E’ importante infine notare che il meccanismo della PEC non attesta l’avvenuta lettura<br />

20


del messaggio da parte del destinatario ma solo il recapito nella sua casella di posta, esattamente<br />

come la consegna della raccomandata postale da parte del postino nelle mani del destinatario non<br />

dà alcuna informazione sull’apertura della busta e sulla lettura del suo contenuto. L’art.6 del<br />

decreto sulla PEC disciplina il rilascio delle ricevute di accettazione e di avvenuta consegna di un<br />

messaggio di posta elettronica certificata, che rappresentano la peculiarità di questo sistema di<br />

trasmissione che gli conferisce, appunto, pieno valore legale.<br />

Scopo della posta elettronica certificata tuttavia, contrariamente a quanto si possa pensare ad un<br />

primo approccio, non è quello di garantire integrità e autenticità del contenuto del messaggio,<br />

bensì quello di dare certezza al processo di inoltro del messaggio stesso, a partire dalla presa in<br />

carico da parte del sistema sino all’atto della consegna nella mailbox del destinatario. E’ lo stesso<br />

concetto della posta raccomandata tradizionale cartacea: il sistema non entra nel merito di cosa<br />

sia stato spedito, ma è in grado di garantire che ciò che è stato spedito non è stato alterato<br />

durante il processo di consegna e che è stato consegnato al destinatario in tempi e con modalità<br />

certe.<br />

21


3. Regole tecniche del servizio di trasmissione di documenti<br />

informatici mediante posta elettronica certificata [5]<br />

Il Centro Nazionale per l’ Informatica nella Pubblica Amministrazione ( CNIPA ) è un organo<br />

collegiale che opera “presso” la Presidenza del Consiglio per l’attuazione delle politiche del Ministro<br />

per l’innovazione (MIT), con autonomia tecnica, funzionale, amministrativa, contabile e finanziaria<br />

e con indipendenza di giudizio. Le funzioni del CNIPA nei confronti della Pubblica Amministrazione<br />

sono quelli di :<br />

o<br />

o<br />

o<br />

o<br />

o<br />

Indirizzare lo sviluppo dei sistemi informativi<br />

Coordinare e gestire grandi progetti intersettoriali<br />

Definire criteri e regolamenti di sicurezza, interoperabilità, standard aperti, qualità<br />

Emettere pareri di congruità tecnico economico strategica sui progetti<br />

Coordinare la predisposizione di piani di formazione del personale<br />

Mentre nei confronti di cittadini e imprese:<br />

o<br />

o<br />

o<br />

Contribuire alla definizione della politica del Governo, lavorando in stretto contatto con il<br />

MIT<br />

Attuare progetti di innovazione e di e-government<br />

Fornire consulenza per la stesura di progetti di legge nel settore informatico<br />

Il CNIPA si è occupato della stesura e della pubblicazione delle regole tecniche che standardizzano<br />

il funzionamento della Posta Elettronica Certificata. Tali regole descrivono in maniera univoca e<br />

tecnicamente esauriente il funzionamento della PEC, dando la possibilità di sviluppare<br />

un’infrastruttura ad hoc che implementando l’architettura descritta realizzi un servizio<br />

tecnicamente compliant di Posta Elettronica Certificata.<br />

3.1. Definizioni<br />

Le seguenti definizioni esplicano il ruolo di ogni attore coinvolto nella gestione del flusso di PEC.<br />

Punto di accesso<br />

È il punto che fornisce i servizi di accesso per l’invio e la lettura di messaggi di posta elettronica<br />

certificata, nonché i servizi di identificazione ed accesso dell’utente, di verifica della presenza di<br />

22


virus informatici all’interno del messaggio, di emissione della ricevuta di accettazione, di<br />

imbustamento del messaggio originale nella busta di trasporto.<br />

Punto di ricezione<br />

È il punto che riceve il messaggio all’interno di un dominio di posta elettronica certificata, effettua<br />

i controlli sulla provenienza/correttezza del messaggio ed emette la ricevuta di presa in carico,<br />

imbusta i messaggi errati in una busta di anomalia e verifica la presenza di virus informatici<br />

all’interno dei messaggi di posta ordinaria e delle busta di trasporto.<br />

Punto di consegna<br />

È il punto che compie la consegna del messaggio nella casella di posta elettronica certificata del<br />

titolare destinatario. Verifica la provenienza/correttezza del messaggio, emette, a seconda dei<br />

casi, la ricevuta di avvenuta consegna o l’avviso di mancata consegna.<br />

Ricevuta di accettazione<br />

È la ricevuta, contenente i dati di certificazione, rilasciata al mittente dal punto di accesso a fronte<br />

dell’invio di un messaggio di posta elettronica certificata. La ricevuta di accettazione è firmata con<br />

la chiave del gestore di posta elettronica certificata del mittente.<br />

Avviso di non accettazione<br />

E’ l’avviso che viene emesso quando il gestore mittente è impossibilitato ad accettare il messaggio<br />

in ingresso. La motivazione per cui non è possibile accettare il messaggio è inserita all’interno del<br />

testo della ricevuta che esplicita inoltre che il messaggio non potrà essere consegnato al<br />

destinatario. L’avviso di non accettazione è firmato con la chiave del gestore di posta elettronica<br />

certificata del mittente.<br />

Ricevuta di presa in carico<br />

È emessa dal punto di ricezione verso il gestore di posta elettronica certificata mittente per<br />

attestare l’avvenuta presa in carico del messaggio da parte del dominio di posta elettronica<br />

certificata di destinazione. Nella ricevuta di presa in carico sono inseriti i dati di certificazione per<br />

consentirne l’associazione con il messaggio a cui si riferisce. La ricevuta di presa in carico è<br />

firmata con la chiave del gestore di posta elettronica certificata del destinatario.<br />

Ricevuta di avvenuta consegna<br />

Il punto di consegna fornisce al mittente la ricevuta di avvenuta consegna nel momento in cui il<br />

messaggio è inserito nella casella di posta elettronica certificata del destinatario. È rilasciata una<br />

ricevuta di avvenuta consegna per ogni destinatario al quale il messaggio è consegnato. La<br />

ricevuta di avvenuta consegna è firmata con la chiave del gestore di posta elettronica certificata<br />

del destinatario.<br />

Ricevuta completa di avvenuta consegna<br />

E’ caratterizzata dal contenere in allegato i dati di certificazione ed il messaggio originale.<br />

23


Ricevuta breve di avvenuta consegna<br />

E’ caratterizzata dal contenere in allegato i dati di certificazione ed un estratto del messaggio<br />

originale.<br />

Ricevuta sintetica di avvenuta consegna<br />

E’ caratterizzata dal contenere in allegato i dati di certificazione.<br />

Avviso di mancata consegna<br />

Nel caso in cui il gestore di posta elettronica certificata sia impossibilitato a consegnare il<br />

messaggio nella casella di posta elettronica certificata del destinatario, il sistema emette un avviso<br />

di mancata consegna per indicare l’anomalia al mittente del messaggio originale.<br />

Messaggio originale<br />

È il messaggio originale inviato da un utente di posta elettronica certificata prima del suo arrivo al<br />

punto di accesso. Il messaggio originale è consegnato al titolare destinatario per mezzo di una<br />

busta di trasporto che lo contiene.<br />

Busta di trasporto<br />

È il messaggio creato dal punto di accesso, all’interno del quale sono inseriti il messaggio originale<br />

inviato dall’utente di posta elettronica certificata ed i relativi dati di certificazione. La busta di<br />

trasporto è firmata con la chiave del gestore di posta elettronica certificata mittente. La busta di<br />

trasporto è consegnata immodificata nella casella di posta elettronica certificata di destinazione<br />

per permettere la verifica dei dati di certificazione da parte del ricevente.<br />

Busta di anomalia<br />

Quando un messaggio errato/non di posta elettronica certificata deve essere consegnato ad un<br />

titolare, esso viene inserito in una busta di anomalia per evidenziare al destinatario detta<br />

anomalia. La busta di anomalia è firmata con la chiave del gestore di posta elettronica certificata<br />

del destinatario.<br />

Dati di certificazione<br />

E’ un insieme di dati che descrivono il messaggio originale e sono certificati dal gestore di posta<br />

elettronica certificata del mittente. I dati di certificazione sono inseriti nelle varie ricevute e sono<br />

trasferiti al titolare destinatario insieme al messaggio originale per mezzo di una busta di<br />

trasporto. Tra i dati di certificazione sono compresi: data ed ora di invio, mittente, destinatario,<br />

oggetto, identificativo messaggio, ecc.<br />

Gestore di posta elettronica certificata<br />

È il soggetto che gestisce uno o più domini di posta elettronica certificata con i relativi punti di<br />

accesso, ricezione e consegna. È titolare della chiave usata per la firma delle ricevute e delle<br />

buste. Si interfaccia con altri gestori di posta elettronica certificata per l’interoperabilità con altri<br />

titolari.<br />

24


Dominio di posta elettronica certificata<br />

Corrisponde ad un dominio DNS dedicato alle caselle di posta elettronica dei titolari. All’interno di<br />

un dominio di posta elettronica certificata tutte le caselle di posta elettronica certificata devono<br />

appartenere a titolari. L’elaborazione dei messaggi di posta elettronica certificata (ricevute, buste<br />

di trasporto, ecc.) deve avvenire anche nel caso in cui il mittente ed il destinatario appartengano<br />

allo stesso dominio di posta elettronica certificata.<br />

Indice dei gestori di posta elettronica certificata<br />

Consiste in un server LDAP posizionato in un’area raggiungibile dai vari gestori di posta elettronica<br />

certificata che costituisce la struttura tecnica relativa all’elenco pubblico dei gestori di posta<br />

elettronica certificata. Contiene l’elenco dei domini e dei gestori di posta elettronica certificata con<br />

i relativi certificati corrispondenti alle chiavi usate per la firma delle ricevute e delle buste di<br />

trasporto.<br />

Casella di posta elettronica certificata<br />

È una casella di posta elettronica alla quale è associata una funzione che rilascia delle ricevute di<br />

avvenuta consegna al ricevimento di messaggi di posta elettronica certificata. Una casella di posta<br />

elettronica certificata può essere definita esclusivamente all’interno di un dominio di posta<br />

elettronica certificata.<br />

Titolare<br />

È il soggetto a cui è assegnata una casella di posta elettronica certificata.<br />

Marca temporale<br />

E’ un'evidenza informatica con cui si attribuisce, ad uno o più documenti informatici, un<br />

riferimento temporale opponibile ai terzi secondo quanto previsto dal decreto del Presidente della<br />

Repubblica 28 dicembre 2000, n. 445 e dal decreto del Presidente del Consiglio dei Ministri 13<br />

gennaio 2004, pubblicato nella Gazzetta Ufficiale del 27 aprile 2004, n. 98.<br />

3.2. Elaborazione dei messaggi<br />

Il sistema di PEC genera i messaggi (ricevute, avvisi e buste) in formato MIME. I messaggi sono<br />

composti da una parte di testo descrittivo, per l’utente, e da una serie di allegati (messaggio<br />

originale, dati di certificazione, ecc.) variabili a seconda della tipologia del messaggio. Il<br />

messaggio (composto dall’insieme delle parti descritte nelle specifiche sezioni del presente<br />

allegato) è quindi inserito in una struttura S/MIME v3 in formato CMS, firmata con la chiave<br />

privata del gestore di posta certificata. Il certificato associato alla chiave usata per la firma deve<br />

essere incluso in tale struttura. Il formato S/MIME usato per la firma dei messaggi generati dal<br />

sistema è il “multipart/signed” (formato .p7s) così come descritto nella RFC 2633 al paragrafo<br />

25


3.4.3. I messaggi sono trasferiti tra gestori usando una codifica a 7 bit sia per gli header sia per il<br />

corpo del messaggio e gli eventuali allegati. Per garantire la possibilità di verifica delle firme<br />

presenti sui messaggi di posta certificata, sul più ampio numero di client di posta elettronica<br />

possibile, i certificati X.509v3 utilizzati dai sistemi di posta elettronica certificata dovranno<br />

rispettare il profilo proposto nell’allegato tecnico del CNIPA. Per garantire la verificabilità della<br />

firma da parte del client di posta ricevente, il mittente del messaggio deve coincidere con quello<br />

specificato all’interno del certificato usato per la firma S/MIME. Questo meccanismo comporta che<br />

le buste di trasporto riportino nel campo “From” un indirizzo di posta mittente differente da quello<br />

del messaggio originale. Al fine i consentire una migliore fruibilità del messaggio da parte<br />

dell’utente finale, l’indirizzo di posta mittente del messaggio originale è inserito come “display<br />

name” mittente nel messaggio. Ad esempio, per un messaggio originale con il seguente campo<br />

“From”:<br />

From: "Mario Bianchi" <br />

la relativa busta di trasporto generata avrà un campo “From” del tipo:<br />

From: "Per conto di: mario.bianchi@dominio.it" <br />

Per consentire che eventuali risposte alla busta di trasporto siano correttamente indirizzate verso<br />

il mittente originale, è necessario che l’indirizzo di quest’ultimo sia riportato nel campo “Reply-To”<br />

della busta di trasporto. Qualora tale campo non fosse esplicitamente specificato nel messaggio<br />

originale, il sistema che genera la busta di trasporto provvede a crearlo estraendolo dal campo<br />

“From” del messaggio originale. Per l’invio delle ricevute, il sistema usa come destinatario<br />

esclusivamente il mittente del messaggio originale così come specificato nel dato di “reverse path”<br />

del protocollo SMTP. Le ricevute devono essere inviate alla casella di posta certificata del mittente<br />

senza tenere conto del campo “Reply-To” eventualmente presente nell’intestazione del messaggio.<br />

Tutti i messaggi generati dal sistema di posta certificata sono identificabili per la presenza di un<br />

header specifico. Ai fini della determinazione dei dati di certificazione fanno fede, per il sistema, gli<br />

elementi utilizzati per l’effettivo instradamento del messaggio verso i destinatari. Nelle fasi di<br />

colloquio mediante protocollo SMTP (ad esempio presso i punti di accesso e di ricezione) i dati di<br />

“reverse path” e “forward path” (comandi “MAIL FROM” e “RCPT TO”) sono quindi considerati<br />

come dati di certificazione rispettivamente del mittente e dei destinatari. I dati di indirizzamento<br />

presenti nel corpo del messaggio (campi “To” e “Cc”) sono usati esclusivamente per discriminare<br />

tra destinatari primari del messaggio e riceventi in copia, qualora necessario; i dati di<br />

indirizzamento presenti nel campo “Ccn” non sono considerati validi dal sistema.<br />

26


3.3. Logging<br />

Durante le fasi di trattamento del messaggio presso i punti di accesso, ricezione e consegna, il<br />

sistema deve mantenere traccia delle operazioni svolte. Tutte le attività sono memorizzate su un<br />

registro riportante i dati significativi dell’operazione:<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

il codice identificativo univoco assegnato al messaggio originale (Message-ID)<br />

la data e l’ora dell’evento<br />

il mittente del messaggio originale<br />

i destinatari del messaggio originale<br />

l’oggetto del messaggio originale<br />

il tipo di evento (accettazione, ricezione, consegna, emissione ricevute, errore, ecc.)<br />

il codice identificativo (Message-ID) dei messaggi correlati generati (ricevute, errori, ecc.)<br />

il gestore mittente<br />

Gli effettivi dati registrati sui singoli log dipendono dalla tipologia dell’operazione tracciata<br />

(ricezione di un messaggio, generazione ricevute, ecc.). Deve essere garantita la possibilità di<br />

reperire, a richiesta, le informazioni contenute nei log.<br />

3.4. Punto di accesso<br />

Il punto di accesso consente ad un utente di accedere ai servizi di posta certificata resi disponibili<br />

dal proprio gestore. La possibilità da parte di un utente di accedere ai servizi di PEC deve<br />

prevedere necessariamente l’autenticazione dello stesso da parte al sistema. Alla ricezione di un<br />

messaggio originale, il punto di accesso:<br />

o<br />

o<br />

o<br />

effettua dei controlli formali sul messaggio in ingresso<br />

genera una ricevuta di accettazione<br />

imbusta il messaggio originale in una busta di trasporto.<br />

La ricevuta di accettazione indica al mittente che il suo messaggio è stato accettato dal sistema e<br />

certifica la data e l’ora dell’evento. All’interno della ricevuta è presente un testo leggibile<br />

dall’utente, un allegato XML con i dati di certificazione in formato elaborabile ed eventuali altri<br />

27


allegati per funzionalità aggiuntive offerte dal gestore. Il punto di accesso, utilizzando i dati<br />

dell’indice dei gestori di posta certificata, effettua un controllo per ogni destinatario del messaggio<br />

originale per verificare se appartengono all’infrastruttura di posta certificata o sono utenti esterni<br />

(es. posta Internet). Tale controllo è realizzato verificando l’esistenza (mediante una ricerca “case<br />

insensitive”) dei domini dei destinatari tra gli attributi “managedDomains” presenti all’interno<br />

dell’indice dei gestori. La ricevuta di accettazione (ed i relativi dati di certificazione) riporta quindi<br />

la tipologia dei vari destinatari per informare il mittente del differente flusso seguito dai due<br />

gruppi di messaggi (utenti di posta certificata, utenti esterni). Deve essere garantita l’univocità<br />

dell’identificativo dei messaggi originali accettati nel complesso dell’infrastruttura di posta<br />

certificata per consentire una corretta tracciatura dei messaggi e delle relative ricevute. Il formato<br />

di tale identificativo è del tipo:<br />

[stringa alfanumerica]@[dominio_di_posta_gestore]<br />

oppure:<br />

[stringa alfanumerica]@[FQDN_server_di_posta]<br />

Il messaggio originale e la corrispondente busta di trasporto dovranno quindi contenere il<br />

seguente campo di header:<br />

Message-ID: <br />

Qualora il client di posta elettronica che colloquia con il punto di accesso avesse già inserito un<br />

Message ID all’interno del messaggio originale da inviare, questo dovrà essere sostituito con<br />

l’identificativo sopra descritto. Al fine di consentire al mittente l’associazione tra il messaggio<br />

inviato e le corrispondenti ricevute, l’eventuale Message ID originariamente presente nel<br />

messaggio dovrà essere inserito nel messaggio originale e nelle relative ricevute, avvisi e busta di<br />

trasporto. Se presente, il Message ID originale dovrà essere reso disponibile nell’intestazione del<br />

messaggio mediante l’inserimento del seguente header:<br />

X-Riferimento-Message-ID: [Message-ID originale]<br />

che sarà poi incluso all’interno delle ricevute e della busta di trasporto e riportato nei dati di<br />

certificazione.<br />

28


3.4.1. Controlli formali sui messaggi in ingresso<br />

Al momento dell’accettazione del messaggio il punto di accesso deve garantirne la correttezza<br />

formale verificando che:<br />

o<br />

o<br />

o<br />

o<br />

o<br />

nel corpo del messaggio esista un campo “From” riportante un indirizzo email conforme<br />

alle specifiche RFC 2822<br />

nel corpo del messaggio esista un campo “To” riportante uno o più indirizzi email conformi<br />

alle specifiche RFC 2822<br />

l’indirizzo del mittente del messaggio specificato nei dati di instradamento (reverse path)<br />

coincida con quanto specificato nel campo “From” del messaggio;<br />

gli indirizzi dei destinatari del messaggio specificati nei dati di instradamento (forward<br />

path) coincidano con quelli presenti nei campi “To” o “Cc” del messaggio;<br />

non siano presenti indirizzi dei destinatari del messaggio specificati nel campo “Ccn” del<br />

messaggio.<br />

Qualora il messaggio non superi i controlli, il punto di accesso non dovrà accettare il messaggio<br />

all’interno del sistema di posta certificata emettendo il relativo avviso di non accettazione.<br />

3.4.2. Avviso di non accettazione per eccezioni formali<br />

Qualora il punto di accesso non possa provvedere all’inoltro del messaggio, a causa del mancato<br />

superamento dei controlli formali, viene recapitato al mittente uno specifico avviso di non<br />

accettazione. Per questo avviso di non accettazione gli header contengono i seguenti campi:<br />

X-Ricevuta: non-accettazione<br />

Date: [data di emissione ricevuta]<br />

Subject: AVVISO DI NON ACCETTAZIONE: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di questa ricevuta è composto da un testo che costituisce la vera e propria<br />

ricevuta in formato leggibile, secondo un modello che riporti i seguenti dati:<br />

29


Errore nell’accettazione del messaggio<br />

Il giorno [data] alle ore [ora] ([zona]) nel messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

ed indirizzato a: [destinatario1] [destinatario2]<br />

è stato rilevato un problema che ne impedisce l’accettazione a causa di<br />

[descrizione errore].<br />

Il messaggio non è stato accettato.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare alla ricevuta per<br />

permetterne una elaborazione automatica. All’interno della ricevuta potranno inoltre essere<br />

presenti ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata; in<br />

nessun caso però potrà essere inserito il messaggio originale.<br />

3.4.3. Ricevuta di accettazione<br />

La ricevuta di accettazione è costituita da un messaggio di posta elettronica inviato al mittente e<br />

riportante data ed ora di accettazione, dati del mittente e del destinatario ed oggetto. Negli header della<br />

ricevuta di accettazione sono inseriti i seguenti campi:<br />

X-Ricevuta: accettazione<br />

Date: [effettiva data di accettazione]<br />

Subject: ACCETTAZIONE: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente messaggio originale]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio della ricevuta è composto da un testo che costituisce la vera e propria<br />

ricevuta in formato leggibile, secondo un modello che riporta i seguenti dati:<br />

Ricevuta di accettazione<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

ed indirizzato a:<br />

[destinatario1] (["posta certificata" | "posta ordinaria"])<br />

[destinatario2] (["posta certificata" | "posta ordinaria"])<br />

.<br />

.<br />

.<br />

[destinatarion] (["posta certificata" | "posta ordinaria"])<br />

è stato accettato dal sistema ed inoltrato.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare alla ricevuta per<br />

permetterne una elaborazione automatica. All’interno della ricevuta potranno inoltre essere<br />

presenti ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata.<br />

30


3.4.4. Busta di trasporto<br />

La busta di trasporto consiste in un messaggio generato dal punto di accesso e che contiene il<br />

messaggio originale ed i dati di certificazione. La busta di trasporto eredita dal messaggio<br />

originale i seguenti header che dovranno quindi essere riportati immodificati:<br />

o Received<br />

o To<br />

o Cc<br />

o Return-Path<br />

o Message-ID<br />

o X-Riferimento-Message-ID<br />

o X-TipoRicevuta<br />

Dovranno invece essere modificati, od inseriti se necessario, gli header sotto elencati:<br />

X-Trasporto: posta-certificata<br />

Date: [effettiva data di accettazione]<br />

Subject: POSTA CERTIFICATA: [subject originale]<br />

From: "Per conto di: [mittente originale]" <br />

Reply-To: [mittente originale (inserito solo se assente)]<br />

Il corpo della busta di trasporto è composto da un testo che costituisce la parte immediatamente<br />

leggibile dal destinatario del messaggio di posta certificata secondo un modello che riporti i<br />

seguenti dati di certificazione:<br />

Messaggio di posta certificata<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" è stato inviato da "[mittente]"<br />

indirizzato a:<br />

[destinatario1]<br />

[destinatario2]<br />

.<br />

.<br />

.<br />

[destinatarion]<br />

Il messaggio originale è incluso in allegato.<br />

Identificativo messaggio: [identificativo]<br />

All’interno della busta di trasporto è inserito in allegato l’intero messaggio originale immodificato<br />

in formato conforme alla RFC 2822 (tranne per quanto detto a proposito del Message ID)<br />

completo di header, corpo ed eventuali allegati. Nella stessa busta di trasporto è inoltre incluso un<br />

allegato XML che specifica in formato elaborabile i dati di certificazione già riportati nel testo ed<br />

informazioni aggiuntive sul tipo di messaggio e tipo di ricevuta richiesta. Alla busta di trasporto<br />

possono inoltre essere allegati ulteriori elementi opzionali per specifiche funzionalità fornite dal<br />

gestore di posta certificata. Anche se il campo “From” della busta di trasporto è modificato per<br />

31


consentire la verifica della firma da parte del destinatario, i dati di instradamento della busta di<br />

trasporto (forward path e reverse path del messaggio) rimangono immutati rispetto agli stessi dati<br />

del messaggio originale.<br />

3.4.5. Avviso di mancata consegna per superamento dei tempi massimi previsti<br />

Qualora il gestore del mittente non abbia ricevuto dal gestore del destinatario, nelle dodici ore<br />

successive all’inoltro del messaggio, la ricevuta di presa in carico o di avvenuta consegna del<br />

messaggio inviato, comunica al mittente che il gestore del destinatario potrebbe non essere in<br />

grado di effettuare la consegna del messaggio. Tale comunicazione è effettuata mediante un<br />

avviso di mancata consegna per superamento dei tempi massimi nel quale gli header contengono i<br />

seguenti campi:<br />

X-Ricevuta: preavviso-errore-consegna<br />

Date: [data di emissione ricevuta]<br />

Subject: AVVISO DI MANCATA CONSEGNA PER SUP. TEMPO MASSIMO: [subject<br />

originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [ricevute gestore mittente]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio del primo avviso di mancata consegna è composto da un testo che<br />

costituisce la vera e propria ricevuta in formato leggibile secondo un modello che riporti i seguenti<br />

dati:<br />

Avviso di mancata consegna<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

e destinato all’utente "[destinatario]"<br />

non e stato consegnato nelle prime dodici ore dal suo invio. Non<br />

escludendo che questo possa avvenire in seguito, si ritiene utile<br />

considerare che l’invio del messaggio potrebbe non andare a buon fine.<br />

Il sistema provvederà comunque ad inviare un ulteriore avviso di<br />

mancata consegna se nelle prossime dodici ore non vi sarà la conferma<br />

della ricezione da parte del destinatario.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare all’avviso per<br />

permetterne una elaborazione automatica. All’interno all’avviso potranno inoltre essere presenti<br />

ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata; in nessun caso<br />

però potrà essere inserito il messaggio originale. Qualora, entro ulteriori dodici ore, il gestore del<br />

mittente non abbia ricevuto la ricevuta di avvenuta consegna del messaggio inviato, inoltra al<br />

mittente un ulteriore avviso relativo alla mancata consegna del messaggio entro le 24 e non prima<br />

delle 22 ore successive all’invio. Il corpo del messaggio di questo avviso di mancata consegna è<br />

32


composto da un testo che costituisce la vera e propria ricevuta in formato leggibile secondo un<br />

modello che riporti i seguenti dati:<br />

Avviso di mancata consegna<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

e destinato all’utente "[destinatario]"<br />

non e stato consegnato nelle ventiquattro ore successive al suo invio.<br />

Si ritiene che la spedizione debba considerarsi non andata a buon fine.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare all’avviso per<br />

permetterne una elaborazione automatica. All’interno all’avviso potranno inoltre essere presenti<br />

ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata; in nessun caso<br />

però potrà essere inserito il messaggio originale.<br />

3.5. Punto di ricezione<br />

Il punto di ricezione permette lo scambio di messaggi di posta certificata tra diversi gestori di<br />

posta certificata. È inoltre il punto attraverso il quale messaggi di posta elettronica ordinaria<br />

possono essere inseriti nel circuito della posta certificata. Lo scambio di messaggi tra diversi<br />

gestori avviene tramite una transazione basata sul protocollo SMTP come definito dalla RFC 2821.<br />

Eventuali errori verificatisi nel colloquio SMTP possono essere gestiti mediante i meccanismi<br />

standard di notifica degli errori propri del protocollo SMTP come previsto dalle RFC 2821 e RFC<br />

1891. Tale sistema è adottato anche per la gestione di errori transitori in fase di trasmissione<br />

SMTP per i quali risulti un superamento del limite temporale di giacenza. Al fine di garantire al<br />

mittente una segnalazione dell’errore in tempi contenuti, i sistemi che gestiscono il traffico di<br />

posta certificata devono adottare come limite di tempo per la giacenza del messaggio un valore<br />

pari a 8 ore. Il punto di ricezione, a fronte dell’arrivo di un messaggio, effettua la seguente serie<br />

di controlli ed operazioni:<br />

o<br />

o<br />

o<br />

o<br />

verifica la correttezza/natura del messaggio in ingresso;<br />

se il messaggio in ingresso è una busta di trasporto corretta ed integra:<br />

o emette una ricevuta di presa in carico verso il gestore mittente<br />

o inoltra la busta di trasporto verso il punto di consegna<br />

se il messaggio in ingresso è una ricevuta corretta ed integra o un avviso di posta<br />

certificata corretto ed integro:<br />

o inoltra la ricevuta/avviso verso il punto di consegna;<br />

se il messaggio in ingresso non risponde ai requisiti per una busta di trasporto o per una<br />

ricevuta/avviso corretto ed integro, ma risulta proveniente da un gestore di posta<br />

33


o<br />

certificata, quindi supera le verifiche di esistenza, provenienza e validità della firma, il<br />

messaggio deve essere propagato verso il destinatario, quindi:<br />

o imbusta il messaggio in arrivo in una busta di anomalia<br />

o inoltra la busta di anomalia verso il punto di consegna.<br />

se il messaggio in ingresso non proviene da un sistema di posta certificata, quindi non<br />

supera le verifiche di esistenza, provenienza e validità della firma, viene considerato di<br />

posta ordinaria, quindi, se propagato verso il destinatario:<br />

o imbusta il messaggio in arrivo in una busta di anomalia<br />

o inoltra la busta di anomalia verso il punto di consegna.<br />

La ricevuta di presa in carico è emessa dal gestore ricevente il messaggio, nei confronti del<br />

gesture mittente. Il suo fine è quello di consentire il tracciamento del messaggio nel passaggio tra<br />

un gestore ed un altro.<br />

Al ricevimento di un messaggio presso il punto di ricezione, il sistema compie i seguenti<br />

controlli,per verificare che la busta di trasporto/ricevuta/avviso sia corretta/integra:<br />

o<br />

o<br />

o<br />

Controllo dell’esistenza della firma<br />

il sistema verifica la presenza della struttura S/MIME di firma all’interno del messaggio in<br />

ingresso;<br />

Controllo che la firma sia stata emessa da un gestore di posta certificata<br />

il punto di ricezione estrae il certificato usato per la firma del messaggio in ingresso e ne<br />

verifica la presenza all’interno dell’indice dei gestori di posta certificata. Per facilitare il<br />

controllo, è possibile calcolare l’hash SHA1 del certificato estratto ed effettuare la ricerca<br />

“case insensitive” della sua rappresentazione esadecimale all’interno degli attributi<br />

“providerCertificateHash” presenti nell’indice. Questa operazione consente di individuare<br />

agevolmente il gestore mittente per un successivo e necessario controllo della coincidenza<br />

del certificato estratto con quello presente nel record del gestore;<br />

Controllo della validità della firma<br />

è verificata la correttezza della firma S/MIME del messaggio effettuando il ricalcolo degli<br />

algoritmi di firma,la verifica della CRL e la validità temporale del certificato. Nel caso di<br />

utilizzo di meccanismi di replica locale (cache) dei contenuti delle CRL, deve essere<br />

adottato un intervallo di aggiornamento tale da garantire l’attualità del dato, al fine di<br />

minimizzare il possibile ritardo tra pubblicazione della revoca da parte della CA ed il<br />

recepimento di questa variazione da parte del gestore;<br />

34


o<br />

Correttezza formale<br />

il gestore effettua le verifiche sufficienti e necessarie a garantire gli aspetti di correttezza<br />

formale necessari per l’interoperabilità.<br />

Nel caso di messaggi di posta ordinaria in ingresso al sistema di posta certificata, il gestore deve<br />

effettuare un controllo sulla presenza di virus informatici al fine di impedire l’introduzione di<br />

messaggi di posta ordinaria potenzialmente pericolosi, nel circuito della posta certificata. Nel caso<br />

di presenza di virus informatici in un messaggio di posta ordinaria, questo potrà quindi essere<br />

scartato dal punto di ricezione prima dell’ingresso nel circuito della posta certificata, senza quindi<br />

un trattamento particolare dell’errore ma con una gestione conforme alle pratiche comunemente<br />

adottate per i messaggi sulla rete pubblica. Quando in fase di ricezione viene rilevata la presenza<br />

di un virus all’interno di una busta di trasporto, il gestore del destinatario emette un avviso di<br />

rilevazione virus informatico destinato al punto di consegna del gestore mittente. Il gestore<br />

mittente, alla ricezione di un avviso di rilevazione virus informatico dovrà :<br />

1. controllare periodicamente quali tipologie di virus non sono state rilevate dal proprio<br />

sistema antivirus al fine di comprenderne le motivazioni e verificare l’opportunità di<br />

eventuali interventi,<br />

2. inviare gli eventuali avvisi di mancata consegna per virus, destinati al mittente del<br />

messaggio.<br />

3.5.1. Ricevuta di presa in carico<br />

Allo scambio di messaggi di posta certificata corretti tra differenti gestori di posta certificata, il<br />

gestore ricevente emette una ricevuta di presa in carico nei confronti del gestore mittente. Le<br />

ricevute di presa in carico emesse sono relative ai destinatari ai quali è indirizzato il messaggio in<br />

ingresso, così come specificato nei dati di instradamento (forward path e reverse path) della<br />

transazione SMTP. All’interno dei dati di certificazione della singola ricevuta di presa in carico sono<br />

elencati i destinatari a cui la stessa fa riferimento. In generale, a fronte di una busta di trasporto,<br />

ogni gestore destinatario dovrà emettere una o più ricevute di presa in carico per i destinatari di<br />

propria competenza. L’insieme di tali ricevute coprirà, in assenza di errori di trasporto, il<br />

complessivo dei destinatari del messaggio. Gli header di una ricevuta di presa in carico<br />

contengono i seguenti campi:<br />

X-Ricevuta: presa-in-carico<br />

Date: [data di presa in carico]<br />

Subject: PRESA IN CARICO: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [ricevute gestore mittente]<br />

35


X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

L’indirizzo per l’invio delle ricevute al gestore mittente è ricavato dall’indice dei gestori di posta<br />

certificata durante l’interrogazione necessaria per il controllo del soggetto che ha emesso la firma<br />

nella verifica del messaggio in ingresso. Il corpo del messaggio di una ricevuta di presa in carico è<br />

composto secondo un modello riportante i seguenti dati:<br />

Ricevuta di presa in carico<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

ed indirizzato a:<br />

[destinatario1]<br />

[destinatario2]<br />

.<br />

.<br />

.<br />

[destinatarion]<br />

è stato accettato dal sistema.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare alla ricevuta per<br />

permetterne una elaborazione automatica. All’interno della ricevuta potranno inoltre essere<br />

presenti ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata.<br />

3.5.2. Busta di anomalia<br />

Nel caso in cui uno dei test evidenzi un errore nel messaggio in arrivo, oppure venga riconosciuto<br />

come un messaggio di posta ordinaria e il gestore preveda la propagazione verso il destinatario, il<br />

sistema lo inserisce in una busta di anomalia. Prima della consegna, il messaggio pervenuto al<br />

punto di ricezione completo di header, testo ed allegati è inserito in formato conforme alla RFC<br />

2822 come allegato all’interno di un nuovo messaggio che eredita dal messaggio in arrivo i<br />

seguenti header che dovranno quindi essere riportati immodificati:<br />

o<br />

o<br />

o<br />

o<br />

o<br />

Received<br />

To<br />

Cc<br />

Return-Path<br />

Message-ID<br />

36


Dovranno invece essere modificati, od inseriti se necessario, gli header sotto elencati:<br />

X-Trasporto: errore<br />

Date: [data di arrivo del messaggio]<br />

Subject: ANOMALIA MESSAGGIO: [subject originale]<br />

From: "Per conto di: [mittente originale]" <br />

Reply-To: [mittente originale (inserito solo se assente)]<br />

Il corpo della busta di anomalia è composto da un testo che costituisce la parte immediatamente<br />

leggibile dal destinatario del messaggio secondo un modello che riporti i seguenti dati:<br />

Anomalia nel messaggio<br />

Il giorno [data] alle ore [ora] ([zona]) è stato ricevuto<br />

il messaggio "[subject]" proveniente da "[mittente]"<br />

ed indirizzato a:<br />

[destinatario1]<br />

[destinatario2]<br />

.<br />

.<br />

.<br />

[destinatarion]<br />

Tali dati non sono stati certificati per il seguente errore:<br />

[descrizione sintetica errore riscontrato]<br />

Il messaggio originale è incluso in allegato.<br />

Nella busta di anomalia non sono inseriti allegati oltre al messaggio pervenuto al punto di<br />

ricezione (es. dati di certificazione) data l’incertezza sull’effettiva provenienza/correttezza del<br />

messaggio.<br />

Anche se il campo “From” della busta di anomalia è modificato per consentire la verifica della<br />

firma da parte del destinatario, i dati di instradamento della busta di anomalia (forward path e<br />

reverse path del messaggio) rimangono immutati rispetto agli stessi dati del messaggio originale. In<br />

questo modo è garantito sia l’inoltro del messaggio verso i destinatari originari sia il ritorno di<br />

eventuali notifiche di errore sul protocollo SMTP (come da RFC 2821 e RFC 1891) al mittente del<br />

messaggio.<br />

3.5.3. Avvisi relativi alla rilevazione di virus informatici<br />

3.5.3.1. Avviso di non accetazione per virus informatico<br />

Qualora il gestore del mittente riceva messaggi con virus informatici è tenuto a non accettarli,<br />

informando tempestivamente il mittente dell’impossibilità di dar corso alla trasmissione. Il punto<br />

di accesso deve compiere dei controlli sul contenuto del messaggio in ingresso e non accettarlo<br />

37


qualora all’interno di questo o di uno dei suoi eventuali allegati, fosse identificata la presenza di<br />

virus informatici. In questo caso deve essere emesso l’avviso di non accettazione per virus<br />

informatico per dare chiara comunicazione al mittente dei motivi che hanno portato al rifiuto del<br />

messaggio. Per questo avviso di non accettazione gli header contengono i seguenti campi:<br />

X-Ricevuta: non-accettazione<br />

X-VerificaSicurezza: errore<br />

Date: [data di emissione ricevuta]<br />

Subject: AVVISO DI NON ACCETTAZIONE PER VIRUS: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di questa ricevuta è composto da un testo che costituisce la vera e propria<br />

ricevuta in formato leggibile secondo un modello che riporti i seguenti dati:<br />

Errore nell’accettazione del messaggio per presenza di virus<br />

Il giorno [data] alle ore [ora] ([zona]) nel messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

ed indirizzato a: [destinatario1] [destinatario2]<br />

è stato rilevato un problema di sicurezza [identificativo del tipo di<br />

contenuto rilevato].<br />

Il messaggio non è stato accettato.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare alla ricevuta per<br />

permetterne una elaborazione automatica. All’interno della ricevuta potranno inoltre essere<br />

presenti ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata; in<br />

nessun caso però potrà essere inserito il messaggio originale.<br />

3.5.3.2. Avviso di rilevazione virus informatico<br />

Qualora il gestore del destinatario riceva messaggi di posta elettronica certificata con virus<br />

informatici è tenuto a non inoltrarli, informando tempestivamente il gestore del mittente affinché<br />

comunichi al mittente medesimo l’impossibilità di dar corso alla trasmissione. Nel caso nella fase<br />

di ricezione si evidenzi la presenza di virus informatici nel messaggio di posta elettronica<br />

certificata la cui provenienza sia stata accertata dalle verifiche effettuate sulla firma del gestore<br />

mittente, il sistema genera un avviso di rilevazione virus da restituire al gestore mittente<br />

indicando come indirizzo quello specificato per le ricevute nell’Indice dei gestori di posta<br />

certificata, con l’indicazione dell’errore riscontrato. Per questo avviso di rilevazione virus gli<br />

header contengono i seguenti campi:<br />

38


X-Ricevuta: rilevazione-virus<br />

X-Mittente: [mittente messaggio originale]<br />

Date: [data di emissione ricevuta]<br />

Subject: PROBLEMA DI SICUREZZA: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [ricevute gestore mittente]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di questo avviso è composto da un testo che costituisce la vera e propria<br />

ricevuta in formato leggibile, secondo un modello che riporti i seguenti dati:<br />

Avviso di rilevazione virus informatico<br />

Il giorno [data] alle ore [ora] ([zona]) nel messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

e destinato all’utente "[destinatario]"<br />

è stato rilevato un problema di sicurezza [identificativo del tipo di<br />

contenuto rilevato].<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare all’avviso, per<br />

permetterne un’elaborazione automatica. All’interno all’avviso potranno inoltre essere presenti<br />

ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata; in nessun caso<br />

però potrà essere inserito il messaggio originale. Nel corpo del messaggio deve essere specificato<br />

il motivo per il quale è stato impossibile dar corso alla trasmissione.<br />

3.5.3.3. Avviso di mancata consegna per virus informatico<br />

All’arrivo di un avviso di rilevazione di virus informatico proveniente dal gestore destinatario, il<br />

gestore del mittente emette un avviso di mancata consegna da restituire al mittente. Per questo<br />

avviso di mancata consegna gli header contengono i seguenti campi:<br />

X-Ricevuta: errore-consegna<br />

X-VerificaSicurezza: errore<br />

Date: [data di emissione ricevuta]<br />

Subject: AVVISO DI MANCATA CONSEGNA PER VIRUS: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente originale]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di questo avviso di mancata consegna è composto da un testo che<br />

costituisce la vera e propria ricevuta in formato leggibile, secondo un modello che riporti i<br />

seguenti dati:<br />

39


Avviso di mancata consegna per virus<br />

Il giorno [data] alle ore [ora] ([zona]) nel messaggio<br />

"[subject]" destinato all’utente "[destinatario]"<br />

è stato rilevato un problema di sicurezza [identificativo del tipo di<br />

contenuto rilevato].<br />

Il messaggio non è stato consegnato.<br />

Identificativo messaggio: [identificativo]<br />

Tutte le informazioni necessarie per la costruzione di questo avviso derivano da quanto contenuto<br />

nel correlato avviso di rilevazione virus. Gli stessi dati di certificazione sono inseriti all’interno di<br />

un file XML da allegare all’avviso per permetterne una elaborazione automatica. All’interno<br />

dell’avviso potranno inoltre essere presenti ulteriori allegati per specifiche funzionalità fornite dal<br />

gestore di posta certificata. Nel corpo del messaggio deve essere specificato il motivo per il quale<br />

è stato impossibile dar corso alla trasmissione.<br />

3.5.4. Punto di consegna<br />

3.5.4.1. Verifiche sui messaggi in ingresso<br />

All’arrivo del messaggio presso il punto di consegna, il sistema ne verifica la tipologia e stabilisce<br />

se deve inviare una ricevuta al mittente. La ricevuta di avvenuta consegna è emessa dopo che il<br />

messaggio è stato consegnato nella casella di posta del destinatario ed esclusivamente a fronte<br />

della ricezione di una busta di trasporto valida, identificabile dalla presenza dell’header:<br />

X-Trasporto: posta-certificata<br />

In tutti gli altri casi (es. buste di anomalia, ricevute), la ricevuta di avvenuta consegna non è<br />

emessa. In ogni caso, il messaggio ricevuto dal punto di consegna deve essere consegnato<br />

immodificato alla casella di posta del destinatario. La ricevuta di avvenuta consegna indica al<br />

mittente che il suo messaggio è stato effettivamente consegnato al destinatario specificato e<br />

certifica la data e l’ora dell’evento tramite un testo leggibile dall’utente ed un allegato XML con i<br />

dati di certificazione, oltre ad eventuali allegati per funzionalità aggiuntive offerte dal gestore. Se<br />

il messaggio pervenuto al punto di consegna non fosse recapitabile alla casella di destinazione, il<br />

punto di consegna emette un avviso di mancata consegna. L’avviso di mancata consegna è<br />

generato, a fronte di un errore, relativo alla consegna di una busta di trasporto corretta.<br />

3.5.4.2. Ricevute di avvenuta consegna<br />

3.5.4.2.1. Ricevuta completa di avvenuta consegna<br />

Le ricevute di avvenuta consegna sono costituite da un messaggio di posta elettronica inviato al<br />

mittente che riporta la data e l’ora di avvenuta consegna, i dati del mittente e del destinatario e<br />

40


l’oggetto. Negli header delle ricevute di avvenuta consegna sono inseriti i seguenti campi:<br />

X-Ricevuta: avvenuta-consegna<br />

Date: [data di consegna]<br />

Subject: CONSEGNA: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente messaggio originale]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di ricevuta è composto da un testo che costituisce la vera e propria<br />

ricevuta in formato leggibile, secondo un modello che riporti i seguenti dati di certificazione:<br />

Ricevuta di avvenuta consegna<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

ed indirizzato a "[destinatario]"<br />

è stato consegnato nella casella di destinazione.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare alla ricevuta.<br />

All’interno della ricevuta potranno inoltre essere presenti ulteriori allegati per specifiche<br />

funzionalità fornite dal gestore di posta certificata. La ricevuta di avvenuta consegna è emessa per<br />

ognuno dei destinatari a cui è consegnato il messaggio. Nel rilascio delle ricevute di avvenuta<br />

consegna, il sistema distingue tra i messaggi consegnati ai destinatari primari ed i riceventi in<br />

copia. Tale verifica è effettuata mediante l’analisi dei campi “To” (destinatari primari) e “Cc”<br />

(riceventi in copia) del messaggio rispetto al destinatario oggetto della consegna. Esclusivamente<br />

per le consegne relative ai destinatari primari, all’interno della ricevuta di avvenuta consegna,<br />

oltre agli allegati descritti, è inserito il messaggio originale completo (header, testo ed eventuali<br />

allegati). Il sistema deve adottare una logica cautelativa nella valutazione della tipologia<br />

destinatario (primario o ricevente in copia) e nella conseguente decisione di non inserire il<br />

messaggio originale nella ricevuta di avvenuta consegna. Qualora il sistema che effettua la<br />

consegna non potesse determinare con certezza la natura del destinatario (primario od in copia)<br />

per problemi di ambiguità dei campi “To” e “Cc”, la consegna dovrà essere considerata come<br />

indirizzata ad un destinatario primario ed includere il messaggio originale completo.<br />

3.5.4.2.2. Ricevuta di avvenuta consegna breve<br />

Al fine di consentire uno snellimento dei flussi, è possibile, per il mittente, richiedere la ricevuta di<br />

avvenuta consegna in formato breve. La ricevuta di avvenuta consegna breve inserisce al suo<br />

interno il messaggio originale, sostituendone gli allegati con i relativi hash crittografici per ridurre<br />

le dimensioni della ricevuta. Per permettere la verifica dei contenuti trasmessi è indispensabile che<br />

41


il mittente conservi gli originali immodificati degli allegati inseriti nel messaggio originale, a cui gli<br />

hash fanno riferimento. Se all’interno della busta di trasporto è presente l’intestazione:<br />

X-TipoRicevuta: breve<br />

il punto di consegna emette, per i destinatari primari, una ricevuta di avvenuta consegna breve.<br />

L’assenza di tale intestazione o un valore diverso da ‘breve’ o ‘sintetica’ comportano l’elaborazione<br />

della ricevuta di avvenuta consegna secondo le modalità della ricevuta di avvenuta consegna<br />

completa. Il valore dell’intestazione nella busta di trasporto deriva dal messaggio originale<br />

permettendo così al mittente di stabilire il formato delle ricevute di avvenuta consegna relative ai<br />

destinatari primari del messaggio originale. Per i destinatari riceventi in copia, le ricevute di<br />

avvenuta consegna seguono le modalità della ricevuta di avvenuta consegna completa. Negli<br />

header delle ricevute brevi di avvenuta consegna sono inseriti i seguenti campi:<br />

X-Ricevuta: avvenuta-consegna<br />

Date: [data di consegna]<br />

Subject: CONSEGNA: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente messaggio originale]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di ricevuta è composto da un testo che costituisce la vera e propria<br />

ricevuta in formato leggibile, secondo un modello che riporti i seguenti dati di certificazione:<br />

Ricevuta breve di avvenuta consegna<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

ed indirizzato a "[destinatario]"<br />

è stato consegnato nella casella di destinazione.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare alla ricevuta.<br />

All’interno della ricevuta potranno inoltre essere presenti ulteriori allegati per specifiche<br />

funzionalità fornite dal gestore di posta certificata. La ricevuta di avvenuta consegna è emessa per<br />

ognuno dei destinatari a cui è consegnato il messaggio. Alla ricevuta breve di avvenuta consegna<br />

è allegato il messaggio originale nel quale rimane inalterata la struttura MIME, ma i cui allegati<br />

sono sostituiti da altrettanti file di testo contenenti gli hash del file al quale si vanno a sostituire.<br />

Gli allegati sono identificati dalla presenza del parametro “name” nell’intestazione “content-type”<br />

oppure “filename” nell’intestazione “content-disposition” della parte MIME. Nel caso di messaggi<br />

originali in formato S/MIME è necessario non alterare l’integrità della struttura del messaggio<br />

modificando le parti MIME proprie della costruzione S/MIME. La verifica della natura S/MIME del<br />

42


messaggio originale avviene controllando il MIME type dell’entità di livello più alto (coincidente con<br />

il messaggio stesso). Un messaggio S/MIME può avere i seguenti MIME type (come da RFC 2633):<br />

o<br />

o<br />

multipart/signed<br />

Il MIME type rappresenta un messaggio originale firmato dal mittente secondo la struttura<br />

descritta dalla RFC 1847. Il messaggio è formato da due parti MIME: la prima che<br />

costituisce il messaggio composto dal mittente prima della sua firma e la seconda che<br />

contiene i dati di firma. La seconda parte (generalmente di tipo “application/pkcs7-<br />

signature” oppure “application/x-pkcs7-signature”) contiene i dati aggiunti durante la fase<br />

di firma del messaggio e deve essere lasciata inalterata per non compromettere la<br />

struttura complessiva del messaggio;<br />

application/pkcs7-mime oppure application/x-pkcs7-mime<br />

Questi MIME type sono generalmente associati a messaggi crittografati, anche se in alcune<br />

particolari implementazioni possono rappresentare messaggi firmati od altri oggetti<br />

crittografici. Il messaggio è composto da un unico oggetto CMS contenuto all’interno della<br />

parte MIME. Data l’impossibilità di distinguere gli allegati eventualmente presenti all’interno<br />

dell’oggetto CMS, la parte MIME viene lasciata intatta senza essere sostituita dal relativo<br />

hash, di fatto determinando l’emissione di una ricevuta di avvenuta consegna breve con gli<br />

stessi contenuti di una normale ricevuta di avvenuta consegna.<br />

L’individuazione delle parti da non sottoporre alla sostituzione con i corrispondenti hash deve<br />

basarsi sul MIME type del messaggio (entità MIME di livello più alto) e sull’eventuale sottostruttura<br />

MIME interna. I MIME type delle parti di livello inferiore così come i nomi dei file delle parti stesse<br />

non devono essere usati come elementi discriminanti per evitare ambiguità con allegati utente<br />

aventi stessi tipi od estensioni. Nel caso il messaggio originale contenga allegati il cui Content-<br />

Type risulti "message/rfc822", ossia contenga un messaggio di posta come allegato, l'intero<br />

messaggio allegato viene sostituito con il relativo hash. In generale, nel caso di messaggi originali<br />

in formato S/MIME, la copia del messaggio contenuta all’interno della ricevuta di avvenuta<br />

consegna breve avrà le seguenti caratteristiche:<br />

o se il messaggio originale è firmato, la struttura S/MIME ed i relativi dati di firma resteranno<br />

inalterati. Il messaggio genererà un errore in un’eventuale fase di verifica dell’integrità<br />

della firma, in seguito alla sostituzione degli allegati con i relativi hash;<br />

o se nel messaggio originale è presente il MIME Type :application/pkcs7-mime oppure<br />

application/x-pkcs7-mime : gli allegati contenuti nel messaggio non saranno sostituiti dagli<br />

43


hash data l’impossibilità di identificarli all’interno del blocco crittografico. Il contenuto della<br />

ricevuta di avvenuta consegna breve coinciderà quindi con quello di una normale ricevuta<br />

di avvenuta consegna.<br />

L’algoritmo utilizzato per il calcolo dell’hash è il Secure Hash Algorithm 1 (SHA1), così come<br />

descritto dalla RFC 3174 calcolato sull’intero contenuto dell’allegato. Per consentire di distinguere i<br />

file contenenti gli hash dai file a cui fanno riferimento, il suffisso “.hash” è aggiunto al termine del<br />

nome originale del file. L’hash è scritto all’interno del file con rappresentazione esadecimale come<br />

un’unica sequenza di 40 caratteri. Il MIME type di questi allegati è impostato a “text/plain” per<br />

evidenziare la loro natura testuale.<br />

3.5.4.2.3. Ricevuta sintetica di avvenuta consegna<br />

Se all’interno della busta di trasporto è presente l’intestazione:<br />

X-TipoRicevuta: sintetica<br />

il punto di consegna emette, sia per i destinatari primari sia per i riceventi in copia, una ricevuta<br />

di avvenuta consegna sintetica. Negli header delle ricevute sintetiche di avvenuta consegna sono<br />

inseriti i seguenti campi:<br />

X-Ricevuta: avvenuta-consegna<br />

Date: [data di consegna]<br />

Subject: CONSEGNA: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente messaggio originale]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di ricevuta è composto da un testo che costituisce la vera e propria<br />

ricevuta in formato leggibile, secondo un modello che riporti i seguenti dati di certificazione:<br />

Ricevuta sintetica di avvenuta consegna<br />

Il giorno [data] alle ore [ora] ([zona]) il messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

ed indirizzato a "[destinatario]"<br />

è stato consegnato nella casella di destinazione.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare alla ricevuta.<br />

All’interno della ricevuta potranno inoltre essere presenti ulteriori allegati per specifiche<br />

funzionalità fornite dal gestore di posta certificata. La ricevuta di avvenuta consegna è emessa per<br />

ognuno dei destinatari a cui è consegnato il messaggio. Il valore dell’intestazione nella busta di<br />

trasporto deriva dal messaggio originale permettendo così al mittente di stabilire il formato delle<br />

44


icevute di avvenuta consegna relative ai destinatari primari del messaggio originale. La ricevuta<br />

sintetica di avvenuta consegna segue le medesime regole di emissione della ricevuta di avventa<br />

consegna; in allegato non contiene il messaggio originale ma contiene esclusivamente il file XML<br />

contenente i dati di certificazione descritti nella ricevuta di avvenuta consegna.<br />

3.5.4.3. Avviso di mancata consegna<br />

Nel caso si verifichi un errore nella fase di consegna del messaggio, il sistema genera un avviso di<br />

mancata consegna da restituire al mittente con l’indicazione dell’errore riscontrato. Per un avviso<br />

di mancata consegna gli header contengono i seguenti campi:<br />

X-Ricevuta: errore-consegna<br />

Date: [data di emissione ricevuta]<br />

Subject: AVVISO DI MANCATA CONSEGNA: [subject originale]<br />

From: posta-certificata@[dominio_di_posta]<br />

To: [mittente messaggio originale]<br />

X-Riferimento-Message-ID: [Message-ID messaggio originale]<br />

Il corpo del messaggio di un avviso di mancata consegna è composto da un testo che costituisce<br />

la vera e propria ricevuta in formato leggibile secondo un modello che riporti i seguenti dati:<br />

Avviso di mancata consegna<br />

Il giorno [data] alle ore [ora] ([zona]) nel messaggio<br />

"[subject]" proveniente da "[mittente]"<br />

e destinato all’utente "[destinatario]"<br />

è stato rilevato un errore [errore sintetico].<br />

Il messaggio è stato rifiutato dal sistema.<br />

Identificativo messaggio: [identificativo]<br />

Gli stessi dati di certificazione sono inseriti all’interno di un file XML da allegare all’avviso per<br />

permetterne un’elaborazione automatica. All’interno dell’avviso potranno inoltre essere presenti<br />

ulteriori allegati per specifiche funzionalità fornite dal gestore di posta certificata.<br />

3.6. Formati<br />

3.6.1. Riferimenti temporali<br />

Per tutte le operazioni effettuate durante i processi di elaborazione dei messaggi, ricevute, log,<br />

ecc. svolte dai punti di accesso/ricezione/consegna è necessario disporre di un accurato<br />

riferimento temporale. Tutti gli eventi (generazione di ricevute, buste di trasporto, log, ecc.) che<br />

45


costituiscono la transazione di elaborazione del messaggio presso i punti di accesso, ricezione e<br />

consegna devono impiegare un unico valore temporale rilevato all’interno della transazione stessa.<br />

In questo modo l’indicazione dell’istante di elaborazione del messaggio è univoca all’interno dei<br />

log, delle ricevute, dei messaggi, ecc. generati dal server.<br />

3.6.2. Formato data/ora utente<br />

Le indicazioni temporali fornite dal servizio in formato leggibile dall’utente (testo delle ricevute,<br />

buste di trasporto, ecc.) sono fornite con riferimento all’ora legale vigente al momento indicato<br />

per l’operazione. Per la data il formato impiegato è “gg/mm/aaaa” mentre per l’indicazione oraria<br />

si utilizza “hh:mm:ss”, dove hh è in formato 24 ore. Al dato temporale è fatta seguire tra<br />

parentesi la “zona” ossia la differenza (in ore e minuti) tra l’ora legale locale ed UTC. La<br />

rappresentazione di tale valore è in formato “[+|-]hhmm”, dove il primo carattere indica una<br />

differenza positiva o negativa.<br />

3.7. Specifiche degli allegati<br />

Di seguito sono riportati i dati caratteristici delle varie componenti di messaggi e ricevute generati<br />

dal sistema di posta certificata. Nel caso in cui una delle parti del messaggio contenesse caratteri<br />

con valori al di fuori dell’intervallo 0÷127 (7-bit ASCII) la parte dovrà essere adeguatamente<br />

codificata in maniera tale da garantire che il messaggio finale sia compatibile con il trasporto a 7<br />

bit previsto (es. quoted-printable, base64).<br />

3.7.1. Corpo del messaggio<br />

Set di caratteri: ISO-8859-1 (Latin-1)<br />

MIME type: text/plain oppure multipart/alternative<br />

Il MIME type multipart/alternative può essere utilizzato per aggiungere una versione in formato<br />

HTML del corpo dei messaggi generati dal sistema. In questo caso dovranno essere presenti due<br />

sotto-parti MIME: una di tipo text/plain ed un’altra text/html. La parte in formato HTML deve<br />

rispettare i seguenti vincoli:<br />

o deve contenere le stesse informazioni riportate nella parte di testo;<br />

o non deve contenere riferimenti ad elementi (es. immagini, suoni, font, style sheet) né<br />

interni al messaggio (parti MIME aggiuntive) né esterni (es. ospitati su server del gestore);<br />

o non deve avere contenuto attivo (es. Javascript, VBscript, Plug-in, ActiveX).<br />

46


3.7.2. Messaggio originale<br />

MIME type: message/rfc822<br />

Nome allegato: postacert.eml<br />

3.7.3. Dati di certificazione<br />

Set di caratteri: UTF-8<br />

MIME type: application/xml<br />

Nome allegato: daticert.xml<br />

3.8. Schema dei dati di certificazione<br />

Di seguito viene proposto il DTD relativo al file XML che conterrà i dati di certificazione da allegare<br />

nelle ricevute.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

47


<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

48


<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

3.9. Schema indice dei gestori di PEC<br />

L’indice dei gestori di posta certificata è realizzato mediante un server LDAP (Lightweight<br />

Directory Access Protocol, un protocollo standard per l'interrogazione e la modifica dei servizi di<br />

directory) centralizzato che contiene i dati dei gestori e dei relativi domini di posta certificata. La<br />

“base root” dell’indice è “o=postacert” ed i “DistinguishedName” dei singoli record sono del tipo<br />

“providerName=,o=postacert”. La ricerca all’interno dell’indice avviene principalmente in<br />

modalità “case insensitive” usando gli attributi “providerCertificateHash” (in fase di verifica della<br />

firma delle buste) o “managedDomains” (in fase di accettazione del messaggio). All’interno del<br />

record di un singolo gestore è possibile la presenza di più attributi “providerCertificate” e dei<br />

relativi “providerCertificateHash” per consentire la gestione dei rinnovi dei certificati in scadenza.<br />

Il gestore deve provvedere, con un sufficiente anticipo rispetto alla scadenza del certificato, ad<br />

aggiornare il proprio record aggiungendo un nuovo certificato la cui validità può sovrapporsi con il<br />

certificato precedente. I precedenti certificati scaduti non devono essere rimossi dall’indice per<br />

consentire la verifica della firma dei messaggi in tempi successivi. L’attributo “LDIFLocationURL”<br />

deve puntare ad un oggetto HTTPS, messo a disposizione dal gestore, che contiene un file in<br />

formato LDIF secondo RFC 2849. Per garantirne l’autenticità, tale file dovrà essere firmato dal<br />

gestore per le operazioni proprie del servizio di posta certificata. Il file LDIF, la firma ed il<br />

certificato X.509v3, devono essere inseriti in una struttura PKCS#7 in formato binario ASN.1 DER<br />

come file con estensione “.p7m”. Con cadenza giornaliera, il sistema LDAP centralizzato scarica<br />

tale file e, dopo le opportune verifiche sulla firma apposta, lo applica sul record relativo al gestore.<br />

Il file LDIF che comprende i dati di tutti i gestori di posta certificata è disponibile, firmato con il<br />

metodo descritto per i singoli gestori, come oggetto HTTPS alla URL puntata dall’attributo<br />

“LDIFLocationURL” del record “dn: o=postacert”. Mediante tale LDIF I singoli gestori dovranno<br />

49


eplicare localmente, con cadenza giornaliera, il contenuto dell’indice al fine di migliorare i tempi<br />

di risposta del sistema evitando di effettuare richieste al sistema centrale per ogni fase di<br />

elaborazione del messaggio.<br />

È possibile, per il gestore, definire più record distinti per indicare diversi ambienti operativi<br />

secondari amministrati. Ogni record fa riferimento al singolo ambiente operativo secondario per il<br />

quale è possibile dichiarare specifici attributi, eventualmente distinti da quelli relativi agli altri<br />

ambienti e all’ambiente principale. Tutti i record devono riportare nell’attributo “providerName” il<br />

nome del gestore, mentre l’attributo “providerUnit” è usato per identificare gli ambienti operativi<br />

secondari. I “DistinguishedName” dei record relativi agli ambienti operativi secondari sono del tipo<br />

“providerUnit=,providerName=,o=postacert”. Ogni gestore deve avere un<br />

record associato al proprio ambiente operativo principale distinguibile per l’assenza dell’attributo<br />

“providerUnit” all’interno del record e del DistinguishedName. I record per gli ambienti secondari<br />

non devono riportare l’attributo “LDIFLocationURL” che è ricavato, per tutti i record connessi al<br />

gestore, dagli attributi dell’ambiente principale. Nel caso di presenza di ambienti secondari, il file<br />

LDIF indicato nel record dell’ambiente principale deve riportare il contenuto di tutti i record di<br />

pertinenza del gestore. Di seguito sono riportati gli attributi definiti per lo schema dell’indice dei<br />

gestori di posta certificata:<br />

Figura 3-1 Attributi dello schema indice dei gestori di PEC<br />

50


Quello che segue è lo schema LDAP per l’indice dei gestori di posta certificata secondo la sintassi<br />

descritta nella RFC 2252:<br />

attributetype ( 16572.2.2.1<br />

NAME 'providerCertificateHash'<br />

DESC 'Hash SHA1 del certificato X.509 in formato esadecimale'<br />

EQUALITY caseIgnoreIA5Match<br />

SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{40} )<br />

attributetype ( 16572.2.2.2<br />

NAME 'providerCertificate'<br />

DESC 'Certificato X.509 in formato binario ASN.1 DER'<br />

SYNTAX 1.3.6.1.4.1.1466.115.121.1.8 )<br />

attributetype ( 16572.2.2.3<br />

NAME 'providerName'<br />

DESC 'Nome del gestore di posta certificata'<br />

EQUALITY caseIgnoreMatch<br />

SUBSTR caseIgnoreSubstringsMatch<br />

SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768}<br />

SINGLE-VALUE )<br />

attributetype ( 16572.2.2.4<br />

NAME 'mailReceipt'<br />

DESC 'E-mail a cui inviare le ricevute di presa in carico'<br />

EQUALITY caseIgnoreIA5Match<br />

SUBSTR caseIgnoreIA5SubstringsMatch<br />

SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{256}<br />

SINGLE-VALUE )<br />

attributetype ( 16572.2.2.5<br />

NAME 'managedDomains'<br />

DESC 'Domini gestiti dal gestore di posta certificata'<br />

EQUALITY caseIgnoreIA5Match<br />

SUBSTR caseIgnoreIA5SubstringsMatch<br />

SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )<br />

attributetype ( 16572.2.2.6<br />

NAME 'LDIFLocationURL'<br />

DESC 'URL (HTTP) del file LDIF che definisce la entry'<br />

EQUALITY caseExactMatch<br />

SYNTAX 1.3.6.1.4.1.1466.115.121.1.15<br />

SINGLE-VALUE )<br />

attributetype ( 16572.2.2.7<br />

NAME 'providerUnit'<br />

DESC 'Nome dell’ambiente operativo secondario'<br />

EQUALITY caseIgnoreMatch<br />

SUBSTR caseIgnoreSubstringsMatch<br />

SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{32768}<br />

SINGLE-VALUE )<br />

objectclass ( 16572.2.1.1<br />

51


NAME 'LDIFLocationURLObject'<br />

DESC 'Classe per inserimento di un attributo LDIFLocationURL'<br />

MAY ( LDIFLocationURL )<br />

SUP top AUXILIARY )<br />

objectclass ( 16572.2.1.2<br />

NAME 'provider'<br />

DESC 'Gestore di posta certificata'<br />

SUP top<br />

MUST ( providerCertificateHash $<br />

providerCertificate $<br />

providerName $<br />

mailReceipt $<br />

managedDomains)<br />

MAY ( description $<br />

LDIFLocationURL $<br />

providerUnit) )<br />

Il seguente file LDIF rappresenta un esempio di indice dei gestori della posta certificata<br />

contenente una “base root” e due gestori fittizi. I certificati inseriti sono due certificati “selfsigned”<br />

riportati a titolo di esempio:<br />

dn: o=postacert<br />

objectclass: top<br />

objectclass: organization<br />

objectClass: LDIFLocationURLObject<br />

o: postacert<br />

LDIFLocationURL: https://igpec.rupa.it/igpec.ldif.p7m<br />

description: Base root per l’indice dei gestori di posta certificata<br />

dn: providerName=Anonima Posta Certificata S.p.A.,o=postacert<br />

objectclass: top<br />

objectclass: provider<br />

providerName: Anonima Posta Certificata S.p.A.<br />

providerCertificateHash: 7E7AEF1059AE0F454F2643A95F69EC3556009239<br />

providerCertificate;binary:: MIIDBjCCAm+gAwIBAgIBADANBgkqhkiG9w0BAQ<br />

QFADBmMQswCQYDVQQGEwJJVDEpMCcGA1UEChMgQW5vbmltYSBQb3N0YSBDZXJ0aWZp<br />

Y2F0YSBTLnAuQS4xLDAqBgkqhkiG9w0BCQEWHXBvc3RhLWNlcnRpZmljYXRhQGFucG<br />

9jZXJ0Lml0MB4XDTAyMTIwOTE3MjQxNVoXDTAzMTIwOTE3MjQxNVowZjELMAkGA1UE<br />

BhMCSVQxKTAnBgNVBAoTIEFub25pbWEgUG9zdGEgQ2VydGlmaWNhdGEgUy5wLkEuMS<br />

wwKgYJKoZIhvcNAQkBFh1wb3N0YS1jZXJ0aWZpY2F0YUBhbnBvY2VydC5pdDCBnzAN<br />

BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAr8J+qKKdxV9LzDMPqwnEy0P8H/KwbI0Szs<br />

8p6UZajZdpeUK0Ncbrv1QyXZNNtSMC2uL09HDyx8agjgZWdhypnehguiSK3busha15<br />

RSpMGhiqxmz2b0HhOG73GfalZelqrwqmElna4MNUaLhbOvTd/sqPUS378w5IaIhWxz<br />

y34XcCAwEAAaOBwzCBwDAdBgNVHQ4EFgQUN8lC0znQWEs0xspZ/aBzsaGvRZMwgZAG<br />

A1UdIwSBiDCBhYAUN8lC0znQWEs0xspZ/aBzsaGvRZOhaqRoMGYxCzAJBgNVBAYTAk<br />

lUMSkwJwYDVQQKEyBBbm9uaW1hIFBvc3RhIENlcnRpZmljYXRhIFMucC5BLjEsMCoG<br />

CSqGSIb3DQEJARYdcG9zdGEtY2VydGlmaWNhdGFAYW5wb2NlcnQuaXSCAQAwDAYDVR<br />

0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQA58BZ+q1qSKpuffzTBpMtbeFkDIxMq<br />

Ma+ycnxdMNvcWgCm1A9ZiFJsvqYhDDqAXxfHjkrzXuSZkYq6WiQCsLp0aYVy40QCIw<br />

bOunhrvsxh3vsG5CgN76JzZ95Z/1OCFNhLfqf1VH2NSS8TaYCCi/VO7W1Q1KkcA2Vl<br />

xlQP7McSUw==<br />

mailReceipt: ricevute@anpocert.it<br />

LDIFLocationURL: https://www.anpocert.it/LDIF/anpocert.ldif.p7m<br />

managedDomains: posta.anpocert.it<br />

managedDomains: cert.azienda.it<br />

52


managedDomains: costmec.it<br />

description: Servizi di posta certificata per aziende<br />

dn: providerName=Servizi Postali S.r.l.,o=postacert<br />

objectclass: top<br />

objectclass: provider<br />

providerName: Servizi Postali S.r.l.<br />

providerCertificateHash: e00fdd9d88be0e2cc766b893315caf93d5701a6a<br />

providerCertificate;binary:: MIIDHjCCAoegAwIBAgIBADANBgkqhkiG9w0BAQ<br />

QFADBuMQswCQYDVQQGEwJJVDEfMB0GA1UEChMWU2Vydml6aSBQb3N0YWxpIFMuci5s<br />

LjEPMA0GA1UECxMGRC5DLkMuMS0wKwYJKoZIhvcNAQkBFh5wb3N0YS1jZXJ0aWZpY2<br />

F0YUBzZXJwb3N0YWwuaXQwHhcNMDIxMjA5MTczMjE2WhcNMDMxMjA5MTczMjE2WjBu<br />

MQswCQYDVQQGEwJJVDEfMB0GA1UEChMWU2Vydml6aSBQb3N0YWxpIFMuci5sLjEPMA<br />

0GA1UECxMGRC5DLkMuMS0wKwYJKoZIhvcNAQkBFh5wb3N0YS1jZXJ0aWZpY2F0YUBz<br />

ZXJwb3N0YWwuaXQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKoc7n6zA+sO8N<br />

ATMcfJ+U2aoDEsrj/cObG3QAN6Sr+lygWxYXLBZNfSDWqL1K4edLr4gCZIDFsq0PIE<br />

aYZhYRGjhbcuJ9H/ZdtWdXxcwEWN4mwFzlsASogsh5JeqS8db3A1JWkvhO9EUfaCYk<br />

8YMAkXYdCtLD9s9tCYZeTE2ut9AgMBAAGjgcswgcgwHQYDVR0OBBYEFHPw7VJIoIM3<br />

VYhuHaeAwpPF5leMMIGYBgNVHSMEgZAwgY2AFHPw7VJIoIM3VYhuHaeAwpPF5leMoX<br />

KkcDBuMQswCQYDVQQGEwJJVDEfMB0GA1UEChMWU2Vydml6aSBQb3N0YWxpIFMuci5s<br />

LjEPMA0GA1UECxMGRC5DLkMuMS0wKwYJKoZIhvcNAQkBFh5wb3N0YS1jZXJ0aWZpY2<br />

F0YUBzZXJwb3N0YWwuaXSCAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOB<br />

gQApqeXvmOyEjwhMrXezPAXELMZwv4qqr5ri4XuxTq6sS9jRsEbZrS+NmbcJ7S7eFw<br />

NQMNxYFVJqdWoLh8qExsTLXnsKycPSnHbCfuphrKvXjQvR2da75U4zGSkroiyvJ2s9<br />

TtiCcT3lQtIjmvrFbaSBiyzj+za7foFUCQmxCLtDaA==<br />

mailReceipt: presaincarico@serpostal.it<br />

LDIFLocationURL: https://servizi.serpostal.it/ldif.txt.p7m<br />

managedDomains: servizi-postali.it<br />

managedDomains: postaricevuta.it<br />

description: Servizi di posta certificata per il pubblico<br />

3.10. Aspetti relativi alla sicurezza<br />

Di seguito sono riportate le indicazioni che fanno riferimento agli aspetti della sicurezza del<br />

sistema di posta elettronica certificata.<br />

3.10.1. Firma<br />

La chiave privata e le operazioni di firma devono essere gestite utilizzando un dispositivo<br />

hardware dedicato, in grado di garantirne la sicurezza in conformità a criteri riconosciuti in ambito<br />

europeo o internazionale.<br />

3.10.2. Autenticazione<br />

La possibilità da parte di un utente di accedere ai servizi di PEC, tramite il punto di accesso, deve<br />

prevedere necessariamente l’autenticazione al sistema da parte dell’utente stesso. A titolo<br />

esemplificativo, e non esaustivo, le modalità di autenticazione possono prevedere, ad esempio,<br />

l’utilizzo di user-id e password o, se disponibili e ritenute modalità necessarie per il livello di<br />

53


servizio erogato, la carta d’identità elettronica o la carta nazionale dei servizi. La scelta della<br />

modalità con la quale realizzare l’autenticazione è lasciata al gestore. L’autenticazione è<br />

necessaria per garantire che il messaggio sia inviato da un utente del servizio di posta certificata i<br />

cui dati di identificazione siano congruenti con il mittente specificato, al fine di evitare la<br />

falsificazione di quest’ultimo.<br />

3.10.3. Colloquio sicuro<br />

Al fine di garantire l’inalterabilità del messaggio originale spedito dal mittente si realizza<br />

l’imbustamento e la firma dei messaggi in uscita dal punto di accesso e la successiva verifica in<br />

ingresso al punto di ricezione. Il messaggio originale (completo di header, testo ed eventuali<br />

allegati) è inserito come allegato all’interno di una busta di trasporto. La busta di trasporto<br />

fermata dal gestore mittente permette di verificare che il messaggio originale non sia stato<br />

modificato durante il suo percorso dal dominio mittente al dominio destinatario. La sicurezza del<br />

colloquio tra mittente e destinatario prevede un meccanismo di protezione per tutte le connessioni<br />

previste dall’architettura di posta certificata (tra utente e punto di accesso, tra gestore e gestore,<br />

tra punto di consegna ed utente) attuato tramite l’impiego di canali sicuri. L’integrità e la<br />

confidenzialità delle connessioni tra il gestore di posta certificata e l’utente devono essere<br />

garantite mediante l’uso di protocolli sicuri. A titolo esemplificativo, e non esaustivo, dei protocolli<br />

accettabili per l’accesso figurano quelli basati su TLS (es. IMAPS, POP3S, HTTPS), quelli che<br />

prevedono l’attivazione di un colloquio sicuro durante la comunicazione (es. SMTP STARTTLS,<br />

POP3 STLS), quelli che realizzano un canale di trasporto sicuro sul quale veicolare protocolli non<br />

sicuri (es. IPSec). Il colloquio tra i gestori deve avvenire con l’impiego del protocollo SMTP su<br />

trasporto TLS, come descritto nella RFC 3207. Il punto di ricezione deve prevedere ed annunciare<br />

il supporto per l’estensione STARTTLS ed accettare connessioni sia in chiaro (per la posta<br />

ordinaria) che su canale protetto.<br />

Al fine di garantire la completa tracciabilità nel flusso di messaggi di posta certificata, questi non<br />

devono transitare su sistemi esterni al circuito di posta certificata. Nello scambio di messaggi tra<br />

gestori diversi, tutte le transazioni devono avvenire tra macchine appartenenti al circuito della<br />

posta certificata od a conduzione diretta del gestore. Gli eventuali sistemi secondari di ricezione<br />

dei messaggi per il dominio di posta certificata devono essere sotto il controllo diretto del gestore.<br />

Ogni dominio di posta certificata dovrà essere associato al relativo punto di ricezione mediante un<br />

record di tipo “MX” definito all’interno del sistema di risoluzione dei nomi secondo le<br />

raccomandazioni della RFC 1912.<br />

3.10.4. Virus<br />

54


Un altro aspetto rilevante di sicurezza, che riguarda l’intero sistema di posta elettronica certificata,<br />

è relativo all’architettura tecnico/funzionale che deve impedire che la presenza di virus possa<br />

compromettere la sicurezza di tutti i possibili messaggi gestiti; deve quindi essere prevista<br />

l’istallazione ed il costante aggiornamento di sistemi antivirus che impediscano quanto più<br />

possibile ogni infezione, senza però intervenire sul contenuto della posta certificata in accordo<br />

cona quato già definito.<br />

3.10.5. Indice dei gestori di PEC<br />

Il contenuto dell’indice dei gestori di posta elettronica certificata è interrogabile via HTTP su<br />

protocollo SSL esclusivamente dai gestori accreditati che disporranno di appositi certificati utente;<br />

tale modalità di accesso garantisce l’autenticità, l’integrità e la riservatezza dei dati.<br />

55


3.11. Schema logico di funzionamento<br />

Nel seguito viene proposta la rappresentazione grafica adottata dal CNIPA che schematizza gli<br />

elementi caratteristici di un dominio di posta certificata e le sue interazioni con un altro dominio di<br />

posta, sia certificata che non certificata.<br />

3.11.1. Interazione fra due domini di posta certificata<br />

3.11.1.1. Busta di trasporto corretta e valida con consegna avente esito positivo<br />

Figura 3-2 Busta di trasporto corretta e valida con consegna avente esito positivo<br />

• 1a – l’utente invia una e-mail al Punto di accesso (PdA)<br />

• 1b – il PdA restituisce al mittente una Ricevuta di Accettazione (RdA)<br />

• 2a – il PdA crea una Busta di Trasporto (BdT) e la inoltra al Punto di Ricezione (PdR) del<br />

Gestore destinatario<br />

• 2b – il PdR verifica la BdT e crea una Ricevuta di Presa in Carico (RdPiC) che viene<br />

inoltrata al PdR del Gestore mittente<br />

56


• 2c – il PdR verifica la validità della RdPiC e la inoltra al PdC<br />

• 2d – il PdC salva la RdPiC nello store delle ricevute del Gestore<br />

• 3 – il PdR inoltra la BdT al Punto di Consegna (PdC)<br />

• 4a – il PdC verifica il contenuto della BdT ma non riesce a salvarla nello store (es.<br />

mailbox del destinatario piena)<br />

• 4b – il PdC crea un Avviso di Mancata Consegna (AMC) e la inoltra al PdR del Gestore<br />

mittente<br />

• 4c – il PdR verifica la validità dello AMC e lo inoltra al PdC<br />

• 4d – il PdC salva lo AMC nella mailbox del mittente<br />

3.11.1.2. Busta di trasporto corretta contenente virus informatico non rilevato dal gestore<br />

mittente e consegna avente errore di consegna<br />

Figura 3-3 Busta di trasporto corretta contenente virus informatico non rilevato dal gestore mittente e<br />

consegna avente errore di consegna<br />

• 1a – l’utente invia una e-mail al Punto di accesso (PdA)<br />

• 1b – il PdA restituisce al mittente una Ricevuta di Accettazione (RdA)<br />

• 2a – il PdA crea una Busta di Trasporto (BdT) e la inoltra al Punto di Ricezione (PdR) del<br />

Gestore destinatario<br />

57


• 2b – il PdR verifica la BdT e crea una Ricevuta di Presa in Carico (RdPiC) che viene<br />

inoltrata al PdR del Gestore mittente<br />

• 2c – il PdR verifica la validità della RdPiC e la inoltra al PdC<br />

• 2d – il PdC salva la RdPiC nello store delle ricevute del Gestore<br />

• 3 – il PdR verifica il contenuto della BdT, ne rileva un contenuto potenzialmente<br />

pericoloso e non la recapita al destinatario ma la conserva<br />

• 4b – il PdR crea una Avviso di Mancata Consegna per Virus e la inoltra al PdR del Gestore<br />

mittente<br />

• 4c – il PdR verifica la validità della RdAC e la inoltra al PdC<br />

• 4d – il PdC salva l’Avviso di Mancata Consegna per Virus nello store delle ricevute del<br />

Gestore<br />

• 5 – il PdC crea una Ricevuta di Mancata Consegna (RdE) e la inoltra nella mailbox del<br />

mittente<br />

3.11.1.3. Messaggio originale con virus informatico rilevato dal gestore mittente e avviso di<br />

non accettazione<br />

Figura 3-4 Messaggio originale con virus informatico rilevato dal gestore mittente e avviso di non<br />

accettazione<br />

58


• 1a – l’utente invia una e-mail al Punto di accesso (PdA)<br />

• 1b – il PdA rileva un contenuto potenzialmente pericoloso e restituisce al mittente una<br />

Avviso di non accettazione (ANA)<br />

• 2 – il PdA non recapita al destinatario il messaggio ma lo conserva<br />

3.11.2. Interazione fra un dominio di posta convenzionale (mittente) ed un dominio di posta<br />

certificata (ricevente)<br />

Figura 3-5 Interazione fra un dominio di posta convenzionale (mittente) ed un dominio di posta<br />

certificata (ricevente)<br />

L’immissione di un messaggio di posta ordinaria nel circuito di trattamento della posta certificata è<br />

a discrezione del gestore destinatario; i criteri adottati per gestire la posta ordinaria devono<br />

essere noti e condivisi dall’utente finale del servizio. La mail non PEC viene inserita in una busta di<br />

trasporto e consegnata al destinatario.<br />

59


3.11.3. Interazione fra un dominio di posta certificata (mittente) ed un dominio di posta<br />

convenzionale (ricevente)<br />

Figura 3-6 Interazione fra un dominio di posta certificata (mittente) ed un dominio di posta<br />

convenzionale(ricevente)<br />

La mail viene impacchettata nella BDT ed emessa dal circuito PEC. Il dominio ricevente la tratta<br />

come una comune mail, consegnandola imbustata al destinatario.<br />

60


4. Sviluppo e test di un'infrastruttura di supporto per la PEC<br />

4.1. Introduzione al lavoro svolto<br />

Il progetto PEC non ha richiesto la fase di identificazione e definizione dei requisiti della soluzione,<br />

in quanto le sue specifiche tecnico funzionali sono state rese note in forma ufficiale e definitiva da<br />

parte del Cnipa a nov 2005. Il gruppo di progetto ha comunque iniziato l’attività di sviluppo della<br />

soluzione basandosi su specifiche dettate dal Legislatore e definite in un periodo transitorio che si<br />

è concluso a Dicembre 2005. I rischi di progetto sono stati mitigati dalla consapevolezza che il<br />

Legislatore avrebbe comunque utilizzato l’esperienza maturata nel periodo transitorio come base<br />

per la definizione delle specifiche tecniche definitive. Questo ha consentito di arrivare preparati al<br />

momento della pubblicazione della legge in Gazzetta Ufficiale. Nello specifico il mio compito<br />

nell’ambito del progetto è consistito di :<br />

o<br />

o<br />

o<br />

Realizzare un laboratorio di macchine per implementare l’infrastruttura PEC allo scopo di<br />

o Verificarne il funzionamento con diverse configurazioni di software e soluzioni<br />

infrastrutturali<br />

o Analizzare e ottimizzare la procedura di installazione delle componenti sofware di<br />

PEC<br />

o Effettuare il testing della soluzione secondo determinati casi d’uso e utilizzando<br />

differenti versioni del software coinvolto<br />

Analizzare, estendere ed aggiornare la documentazione descrittiva del progetto.<br />

Scrivere la documentazione relativa alla procedura di installazione e ai requisiti software<br />

per l’adozione della soluzione.<br />

4.2. Descrizione preliminare del lavoro<br />

La fase iniziale dello stage è stata dedicata all’ acquisizione delle competenze che mi avrebbero<br />

successivamente permesso di entrare nel merito dell’infrastruttura adottata per il laboratorio PEC.<br />

Sotto la guida del tutor aziendale, attraverso la lettura di documentazione e manualistica interna,<br />

mi sono formato sui seguenti temi :<br />

o Infrastruttura di rete e domini Windows Server 2003<br />

o Virtualizzazione e macchine virtuali<br />

o Infrastruttura Microsoft Exchange<br />

61


Successivamente ho iniziato a familiarizzare con le procedure di deployment e configurazione dei<br />

prodotti utilizzati per il laboratorio PEC:<br />

o Virtual Server 2005 R2<br />

o Windows Server 2003<br />

o Microsoft Sql Server 2000<br />

o Microsoft Exchange Server 2003<br />

Il laboratorio è stato realizzato utilizzando il software di virtualizzazione Microsoft Virtual Server<br />

2005 R2. Dopo aver compreso a livello concettuale quello che sarebbe dovuto essere il risultato<br />

del mio lavoro e aver sviluppato una buona familiarità con le procedure di deployment e<br />

configurazione, il lavoro è proceduto per milestones, tenendo presente che a prescindere dalle<br />

differenti versioni di software Microsoft e componenti custom PEC le versioni del laboratorio da<br />

implementare sarebbero dovute essere 2: una ad altà disponibilità, con il backend ( ovvero il<br />

server che basilarmente si occupa dello storage delle mailbox ) ridondato su 2 nodi di un cluster<br />

active/passive di Microsoft Exchange 2003 (4 macchine) e uno a bassa disponibilità (3 macchine),<br />

con un singolo server Exchange di backend. In ambienti di produzione secondo le norme tecniche<br />

della PEC il servizio deve essere attivo 24 ore su 24, 7 giorni su 7, per una disponibilità non<br />

inferiore al 99,8% su base quadrimestrale, con durata massima del singolo fermo inferiore a 2h<br />

52m 48s. Si evince quindi come l’infrastruttura a bassa disponibilità sia stata realizzata solo per<br />

avere una maggiore flessibilità in termini di testing e benchmarking della soluzione: non potrà mai<br />

essere usata in ambienti di produzione. Fondamentalmente gli step che hanno definito il mio<br />

lavoro sono i seguenti:<br />

<br />

Effettuare il deployment del laboratorio a 3 / 4 macchine dell’infrastruttura<br />

o Installare e configurare correttamente ognuna delle 3 / 4 macchine in modo da<br />

rendere il laboratorio idoneo all’aggiunta delle componenti custom della PEC :<br />

Macchina 1 : Windows 2003 Server Enterprise NoSP / Sp1 + Sql<br />

Server 2000 Standard Sp4<br />

Macchina 2 : Windows 2003 Server Enterprise NoSP / Sp1 +<br />

Exchange 2003 Enterprise Sp1/Sp2 ( FRONTEND )<br />

Macchina 3 : Windows 2003 Server Enterprise NoSP / Sp1 +<br />

Exchange 2003 Enterprise Sp1/Sp2 ( BACKEND CLUSTER; NODO 1 )<br />

Macchina 4 : Windows 2003 Server Enterprise NoSP / Sp1 +<br />

Exchange 2003 Enterprise Sp1/Sp2 ( BACKEND CLUSTER; NODO 2 )<br />

o Configurare e verificare l’interoperabilità della rete e della rete privata del cluster<br />

62


o Creare, configurare e verificare lo stato dei domini, dei profili degli utilizzatori, delle<br />

policy di dominio<br />

o Configurare correttamente il cluster di Windows 2003 e il cluster di Exchange 2003<br />

o Configurare correttamente l’infrastruttura Exchange, creare le mailbox per i profili di<br />

test e le recipient policy necessarie per la generazione automatica degli indirizzi<br />

smtp predefiniti.<br />

o Configurare correttamente Sql Server 2000<br />

Installare su ogni macchina le componenti custom dedicate alla gestione della PEC<br />

o Effettuare il ripristino e la messa online sulla Macchina 1 del database dedicato alla<br />

conservazione e all’organizzazione delle ricevute di PEC.<br />

o Installare e configurare le componenti custom sul server Exchange di Frontend<br />

o Installare e configurare le componenti custom su entrambi i nodi del server<br />

Exchange di Backend<br />

o Effettuare i test con i casi d’uso previsti.<br />

4.3. Aspetti più significativi della messa in essere dell’infrastruttura<br />

In questo paragrafo mi occupero’ di trattare e descrivere quelli che sono stati gli aspetti più critici<br />

nella realizzazione del laboratorio, a partire dalla scelta della virtualizzazione rispetto<br />

all’allestimento di un laboratorio fisico fino ad arrivare alle procedure necessarie per la verifica del<br />

corretto deployment della macchine, di modo da poter disporre di un ambiente testato sul quale<br />

inserire le componenti software custom.<br />

4.3.1. La virtualizzazione dell’infrastruttura<br />

La virtualizzazione riunisce in sè diverse tecnologie che, in sostanza, servono da supporto per<br />

suddividere le risorse di un unico computer in più parti indipendenti. Tale risultato può essere<br />

ottenuto applicando uno o più metodi quali: partizionamento dell’hardware e del software, time<br />

sharing e simulazione parziale o integrale di una macchina. La ricerca in questo settore è iniziata<br />

negli anni Sessanta e si è concentrata sulle architetture basate su macchine virtuali progettate<br />

come copie identiche dell’hardware della macchina principale. La virtualizzazione può oggi<br />

assumere la forma di un singolo prodotto indipendente, altamente ottimizzato e impiegato con<br />

carichi di lavoro su piccola o su vasta scala. Oppure può essere applicata a ogni livello<br />

dell’infrastruttura It: server, reti e storage. Il tutto porta a una efficienza maggiore attraverso un<br />

utilizzo migliore delle risorse, sia di memorizzazione sia di server, fisicamente disponibili. Un<br />

63


miglior utilizzo si trasforma a sua volta in una riduzione dei costi amministrativi e dei consumi<br />

elettrici. Reso possibile da una nuova generazione di processori, il software di virtualizzazione<br />

offre un’immagine hardware standardizzata sulla quale possono girare sistemi operativi e<br />

applicazioni della medesima versione e con lo stesso tipo di installazione usato con il tradizionale<br />

hardware stand-alone, ma con una notevole riduzione della complessità infrastrutturale. È<br />

altrettanto importante notare come la virtualizzazione introduca flessibilità nell’infrastruttura It,<br />

permettendole di crescere e di contrarsi a seconda della necessità. Così i sistemi divengono<br />

maggiormente reattivi ai cambiamenti delle priorità o ai problemi hardware.<br />

Quando un’azienda dotata di diversi sistemi sperimenta un improvviso picco di traffico proveniente<br />

dai clienti, rispondere con ulteriori risorse può essere problematico. Questa situazione<br />

normalmente non può essere risolta con la semplice aggiunta di un nuovo application server<br />

dedicato. Nelle moderne architetture applicative multilivello è infatti necessario allineare alla<br />

nuova situazione tutti i livelli correlati come Web server front-end, application server e database<br />

server. Con la tecnologia di virtualizzazione è possibile sia installare un nuovo server per<br />

supportare un particolare servizio soggetto a forte domanda da parte dei clienti, sia riassegnare<br />

tale servizio a un server più potente. La commutazione a un server più capace viene effettuata<br />

dinamicamente in tempi estremamente ridotti. Tutti i server possono essere gestiti come se<br />

fossero uno solo, facendo risparmiare risorse con l’ottimizzazione dell’infrastruttura nel suo<br />

complesso. All’interno di un’unica offerta possono essere raggruppati componenti server, storage<br />

e software preconfigurati e certificati, racchiusi in un quadro tecnologico di automazione,<br />

virtualizzazione e deployment, con i relativi servizi. Grazie alle tecnologie di virtualizzazione, si<br />

apre anche una strada verso ambienti Service-Oriented, nei quali computer e database possono<br />

essere dinamicamente allineati alle applicazioni. Soprattutto nel caso dei server virtuali, più<br />

istanze di sistema operativo girano in parallelo sotto forma di server virtuali appoggiati a un<br />

sistema fisico reale. Le dimensioni delle partizioni possono essere modificate online a richiesta;<br />

inoltre, le risorse possono essere nuovamente assegnate tra i diversi server virtuali, senza dover<br />

interrompere il funzionamento del sistema.<br />

4.3.1.1. Microsoft Virtual Server 2005<br />

Il laboratorio è stato allestito sfruttando il software di virtualizzazione di Microsoft, Virtual Server<br />

2005 R2 che consente l’esecuzione della maggior parte dei sistemi operativi a 32 bit, inoltre è<br />

risultato adeguato per l’implementazione del laboratorio di PEC in quanto ha permesso di<br />

virtualizzare l’elevata disponibilità di un cluster, componente dell’infrastruttura PEC. Per le comuni<br />

operazioni di gestione inoltre si avvale di tecnologie standard, come Hypertext Transfer Protocol<br />

(HTTP), RDP (Terminal Services), Extensible Markup Language (XML) e Performance Monitor<br />

64


(PerfMon). Le configurazioni delle macchine virtuali sono memorizzate in file XML, mentre il<br />

monitoraggio e la configurazione dei server vengono effettuati tramite un'interfaccia HTTP/HTML.<br />

VS2005R2 utilizza il multithreading eseguito come servizio di sistema. Ogni macchina virtuale è<br />

eseguita nel proprio thread di elaborazione e l'I/O (input/output) ha luogo nei thread secondari. Esso<br />

sfrutta due funzioni di base del sistema operativo host:<br />

1. Il kernel del sistema operativo host, che provvede alla pianificazione delle risorse CPU<br />

2. I driver di periferica del sistema operativo host, che consentono l'accesso alle periferiche di<br />

sistema.<br />

Virtual Machine Monitor (VMM) mette a disposizione l'infrastruttura software per la creazione delle<br />

macchine virtuali, la gestione delle istanze e l'interazione con i sistemi operativi guest.<br />

Figura 4-1 Architettura di Ms Virtual Server 2005 [1]<br />

65


4.3.1.2. Architettura delle macchine virtuali<br />

Analizzando la figura sottostante dalla parte inferiore della struttura logica troviamo il sistema<br />

operativo host, Windows Server 2003, che gestisce il sistema host. Virtual Server 2005 R2<br />

fornisce il livello di virtualizzazione VMM (Virtual Machine Monitor) per la gestione delle<br />

macchine virtuali, creando l'infrastruttura software necessaria per l'emulazione hardware. Ogni<br />

macchina virtuale è composta da un insieme di periferiche virtualizzate. Infine, il sistema<br />

operativo guest e le relative applicazioni vengono eseguiti nella macchina virtuale e non<br />

rilevano, ad esempio, che la scheda di rete con cui interagiscono tramite Virtual Server 2005<br />

R2 è solo un'emulazione software di un dispositivo Ethernet fisico. Quando viene eseguito un<br />

sistema operativo guest, l'apposito kernel di Virtual Machine Monitor assume il controllo della<br />

CPU e dell'hardware durante il funzionamento della macchina virtuale, dando luogo a un<br />

ambiente isolato.<br />

Sistema operativo<br />

e applicazioni della<br />

macchina virtuale<br />

Hardware<br />

virtuale<br />

Sistema operativo<br />

e applicazioni della<br />

macchina virtuale<br />

Hardware<br />

virtuale<br />

Virtual Server 2005 R2<br />

Windows Server 2003<br />

(32 o 64 bit)<br />

Server x86 o x64<br />

Figura 4-2 Architettura delle machine virtuali [1]<br />

66


4.3.1.3. Architettura delle reti virtuali<br />

Durante l'installazione, il driver del servizio di rete virtuale viene installato nel sistema operativo<br />

host a basso livello, appena al di sopra del driver di rete hardware. Il driver del servizio di rete<br />

virtuale si occupa dell'indirizzamento dei pacchetti di rete, inviandoli al sistema operativo host o a<br />

un sistema operativo guest. Il sistema operativo host è in grado di leggere, monitorare o acquisire<br />

il traffico di rete delle macchine virtuali guest in esecuzione su di esso. Inoltre, le macchine virtuali<br />

configurate solo per la rete esterna non sono in grado di leggere, monitorare o acquisire il traffico<br />

di rete di altre macchine virtuali. Di seguito è illustrata l'architettura delle reti virtuali di Virtual<br />

Server 2005 R2.<br />

Figura 4-3 Architettura delle reti virtuali [1]<br />

Poiché il driver di rete virtuale è installato al di sotto del driver Network Load Balancing nello stack<br />

di rete, il servizio Network Load Balancing non è disponibile con Virtual Server 2005 R2.<br />

67


4.3.1.4. Funzionalità per la gestione e utilizzo di Virtual Server<br />

Le funzionalità descritte nel seguito sono state utilizzate nella creazione e nella gestione del<br />

laboratorio di Posta Elettronica Certificata. Nella pagina Master Status sono riportate le varie<br />

opzioni di gestione, insieme alle macchine virtuali configurate. L'immagine di anteprima Remote<br />

View delle macchine virtuali in esecuzione permette di controllare a colpo d'occhio lo stato del<br />

server. Sul lato opposto è disponibile una rappresentazione grafica dell'utilizzo della CPU.<br />

La pagina include anche una descrizione dello stato delle macchine virtuali, che indica se sono<br />

in esecuzione, arrestate, in corso di arresto o salvate. Infine, nella parte inferiore della pagina un<br />

log riporta gli eventi più recenti, che vengono registrati anche nel registro eventi del sistema host.<br />

Figura 4-4 Interfaccia utente del sito Web per l'amministrazione di Virtual Server:<br />

pagina Master Status.<br />

68


Le funzionalità di gestione possono essere facilmente configurate in base alle specifiche esigenze<br />

di un'organizzazione grazie alla pagina Administration Website Properties. Le preferenze<br />

selezionate modificano le proprietà di visualizzazione della pagina, personalizzandola a seconda<br />

delle esigenze amministrative dell'organizzazione.<br />

Figura 4-5 Interfaccia utente del sito Web per l'amministrazione di Virtual Server:<br />

pagina Administration Website Properties.<br />

69


Le macchine virtuali vengono create tramite un modulo molto semplice, con cui l'amministratore<br />

imposta il sistema operativo virtuale per la macchina. In un sistema convenzionale, molte di<br />

queste impostazioni sono determinate dall'hardware. Le proprietà delle macchine virtuali derivano<br />

da una combinazione di specifiche hardware (come velocità del processore e schede di rete<br />

fisiche) e impostazioni virtuali (come dimensione dei dischi rigidi e allocazione della memoria) ed è<br />

inoltre possibile selezionare il tipo di bus (IDE o SCSI) al momento della creazione delle macchine<br />

virtuali.<br />

Figura 4-6 Interfaccia utente del sito Web per l'amministrazione di Virtual Server:<br />

pagina Create Virtual Machine.<br />

70


Una volta create, le singole macchine virtuali possono essere monitorate e modificate tramite<br />

un'apposita pagina di configurazione, in cui sono visualizzate tutte le informazioni relative alle<br />

prestazioni e alla configurazione. In fase di esecuzione, molte opzioni di modifica della<br />

configurazione sono disattivate per evitare di interferire con il funzionamento della macchina.<br />

Figura 4-7 Interfaccia utente del sito Web per l'amministrazione di Virtual Server:<br />

pagina di configurazione di una macchina virtuale.<br />

71


E’ supportata la definizione di una gerarchia dei dischi, consentendo l'esecuzione di differenti<br />

macchine virtuali che prendono la configurazione di base da uno stesso disco rigido padre. Le<br />

modifiche a una macchina vengono salvate in uno specifico disco, detto disco virtuale<br />

differenziale, accoppiato al disco rigido virtuale padre per consentire il funzionamento della<br />

macchina virtuale. È possibile eseguire contemporaneamente più dischi virtuali differenziali<br />

associati allo stesso disco rigido virtuale padre. Come altre impostazioni, i dischi virtuali<br />

differenziali possono essere configurati attraverso un semplice modulo.<br />

Figura 4-8 Interfaccia utente del sito Web per l'amministrazione di Virtual Server:<br />

pagina di configurazione Differencing Virtual Hard Disk.<br />

72


L'interfaccia per l'impostazione delle rete virtuali consente di creare un numero illimitato di reti<br />

virtuali. Le macchine virtuali possono supportare fino a quattro connessioni a reti virtuali.<br />

Figura 4-9 Interfaccia utente del sito Web per l'amministrazione di Virtual Server:<br />

pagina di configurazione di una rete virtuale.<br />

73


L'accesso alle macchine virtuali avviene tramite il client VMRC, mediante il quale è possibile<br />

accedere alle macchine virtuali da qualsiasi computer su cui è installato. Puo’ essere eseguito in<br />

due modi: 1) come applicazione autonoma (Figura 4-10) oppure 2) in Internet Explorer, tramite<br />

un controllo Active X® del sito Web per l'amministrazione di Virtual Server (Figura 4-11).<br />

Figura 4-10 Client VMRC autonomo.<br />

74


Figura 4-11 VMRC basato su browser.<br />

75


4.3.2. Il laboratorio PEC<br />

Entriamo ora nel vivo del progetto andando ad esaminare le macchine che compongono il<br />

laboratorio e i ruoli che svolgono. Le funzionalità svolte da PDA, PDC, PDR (punto di accettazione,<br />

consegna, ricezione) non sono indipendentemente mappate su corrispondenti macchine<br />

dell’infrastruttura. Per esigenze architetturali e di sviluppo sono state redistribuite in maniera<br />

arbitraria sui vari elementi software custom installati sulle macchine dell’infrastruttura. La scelta di<br />

Internet<br />

F01 EMCSIGN.DLL gestisce e verifica firma messaggi<br />

F02 SMTPSink.DLL gestisce FE ( PDAcc,PDRic )<br />

1 – Domain Controller<br />

2 – Database Log<br />

F03 SMTPSink.ChgMsgID Ribatte il message-id sui PDA<br />

F04 Emcconfig.dll gestisce il file di configurazione di PEC.<br />

AD/GC/SQL<br />

FRONTEND<br />

Exchange 2003<br />

BACKEND<br />

Exchange 2003<br />

Cluster<br />

B01 EMCSIGN.DLL gestisce e verifica firma messaggi<br />

B02 Storage Filter Sync.dll<br />

tipicamente).<br />

gestisce il BE ( PDA, PDR, PDC<br />

B03 ServicesPECBackEndStorageBds.dll<br />

Gestisce emissione BDS<br />

B04 PEC Agent servizio che svolge le funzioni di sincronizzazione<br />

della lista dei gestori (CRL, integrazione IGPEC,...)<br />

Figura 4-12 Visione d’insieme del laboratorio<br />

76


Realizzare il laboratorio nelle 2 configurazioni a bassa e ad altà disponibilità, rispettivamente con 3<br />

e 4 macchine, è stata dettata dal ruolo funzionale che svolgono le macchine all’interno<br />

dell’infrastruttura senza appesantire troppo il carico di lavoro per ciascuna macchina. In linea<br />

teorica il numero minimo di macchine da impiegare è 2, facendo svolgere alla prima macchina i<br />

compiti di domain controller, logging con Sql Server 2000 e di Frontend di Exchange e alla<br />

seconda macchina il ruolo di Backend di Exchange. Tuttavia questa configurazione non<br />

consentirebbe una ripartizione ottimale delle risorse, soprattutto avendo a che fare con<br />

un’infrastruttura virtuale : la macchina host che ha consentito di eseguire il laboratorio, non senza<br />

criticità ed eccesso di carico, dispone di 1024 Megabyte di memoria RAM, di un microprocessore<br />

Pentium IV 3,2 Ghz e di una memoria di massa su interfaccia IDE basata su unità a disco da 60<br />

Gigabyte e 5400 rpm. La quantità di memoria della macchina host dedicabile alle macchine virtuali<br />

attraverso Virtual Server non puo’ essere superiore agli 816 Megabyte, ma il valore massimo<br />

suggerito per non appesantire l’host con file di paging è di 734 Megabyte (questi valori sono forniti<br />

da Virtual Server 2005 R2). L’idea di effettuare benchmarking accurati considerando varie<br />

configurazione di memoria non è stata approfondita in quanto una macchina host con questa<br />

configurazione non sarebbe nemmeno presa in considerazione in ambito produttivo. Al posto di<br />

benchmark accurati si è optato per un’analisi qualitativa delle prestazioni, effettuata valutando i<br />

tempi di avvio delle macchine e i tempi di certificazione di una singola email, che ha consentito di<br />

optare per la seguente configurazione :<br />

o<br />

o<br />

o<br />

o<br />

Macchina 1 ( Dc,Sql ) 192 Megabyte di RAM<br />

Macchina 2 ( Frontend Exchange ) 160 Megabyte di RAM<br />

Macchina 3 ( Nodo 1 Backend Exchange ) 160 Megabyte di RAM<br />

Macchina 4 ( Nodo 2 Backend Exchange ) 160 Megabyte di RAM<br />

Per quanto riguarda la distribuzione del CPU time si è optato per lasciare la quantità ottenibile da<br />

ciascuna macchina al 100%, senza riservarne per alcuna, dal momento che il carico di lavoro è<br />

risultato essere equamente distribuito, anche nell’ottica di valutazione del tempo di downtime del<br />

backend nel caso di failover di uno dei nodi del cluster e trasferimento del servizio sull’altro nodo.<br />

4.3.2.1. Macchina 1 : Domain Controller / logging PEC<br />

La prima macchina dell’infrastruttura svolge il ruolo di domain controller per il dominio<br />

contoso.local e svolge il logging di tutte le operazioni svolte dalla PEC secondo quanto normato<br />

nell’allegato tecnico. Il domain controller si occupa di regolare gli accessi al dominio da parte dei<br />

vari utenti secondo quanto definito all’interno del database di Active Direcory. In questo caso, dal<br />

77


momento che abbiamo un solo DC, esso svolge anche la funzione di Global Catalog, ovvero è il<br />

responsabile delle ricerche di oggetti effettuate sul database Active Directory, cosi’ come<br />

dell’autorizzazione a un account di loggarsi in rete. In Active Direcory sono contenute tutte le<br />

informazioni degli oggetti di sistema, a partire dai diritti degli utenti fino ad arrivare alle<br />

permission del file system. Successivamente all’installazione di un server Exchange avviene<br />

un’estensione del database di Active Directory per poter aggiungere alle caratteristiche specifiche<br />

di un utente tutte le nuove proprietà correlate con l’uso di un sistema di posta elettronica.Il<br />

logging PEC viene eseguito attraverso Microsoft Sql Server 2000. Le componenti custom presenti<br />

sulle altre macchine del laboratorio interagiscono con il database quando è online, attraverso delle<br />

stored procedures e le informazioni sull’indirizzo e le credenziali per l’accesso contenute nei file di<br />

configurazione. Il database di supporto al logging PEC è costituito da tre schemi, il primo (fig. 4-<br />

13), implementato dagli sviluppatori di Milano con i quali si è lavorato, è usato per la gestione, la<br />

memorizzazione e il tracciamento tutti gli eventi che si sono verificati nella gestione della Pec<br />

(PDA, PDR, PDC):<br />

tabLog contiene tutti gli eventi;<br />

tabCfgEntity è il lookup sul tipo di messaggio (MDT, RDA, RDC, RDPIC, ...)<br />

tabCfgReport stabilisce se è stato generato un log<br />

tabCfgLog_Status stabilisce se è stato archiviato su log<br />

Figura 4-13 Diagramma Main del database di PEC<br />

78


Figura 4-14 Diagramma Task del database di PEC<br />

Figura 4-15 Diagramma di tracciamento RDPIC del database di PEC<br />

79


Gli altri schemi (fig. 4-14 e 4-15) sono state aggiunte da EDSPA e a causa della scarsa<br />

documentazione presente sono fornite as-is, senza poter entrare nel merito della gestione interna:<br />

tabTask è usata per le ricevute di mancata consegna e per il calcolo dei tempi.<br />

tabLoopMDT è usata per le RDPIC ( ricevute di presa in carico )<br />

Per accedere a queste tabelle esistono delle stored-procedure Sql.<br />

4.3.2.2. Macchina 2 : Frontend di Exchange<br />

La 2nda macchina dell’infrastruttura è una macchina Windows 2003 con installato Microsoft<br />

Exchange 2003 configurato come frontend. Trattandosi di un frontend i principali servizi correlati<br />

con Exchange sono in esecuzione sulla macchina di backend, in particolar modo la<br />

memorizzazione fisica delle mail e dei dati di posta avviene sulla macchina di backend. Questa<br />

macchina funziona come punto di accesso per svolgere le seguenti funzionalità:<br />

Accesso alle caselle di PEC / posta normale attraverso browser internet, consentendo<br />

l’accesso alla mailbox mediante Outlook Web Access mediante connessione sicura su https.<br />

Esposizione del server smtp autenticato per consentire dal client l’invio di mail verso il<br />

server per destinatari specifici mediante client standalone di posta<br />

Esposizione del server smtp anonimo per consentire il ricircolo interno della mail tra<br />

frontend e backend impacchettandola nella Busta di Trasporto secondo lo schema descritto<br />

nell’allegato tecnico.<br />

Su questa macchina sono installate parte delle componenti software custom per il funzionamento<br />

della PEC :<br />

CAPICOM.DLL<br />

E’ una libreria standard Microsoft che espone le api criptografiche necessarie a EMCSIGN.DLL. La<br />

versione più recente è la 1.0.0.3 ma esendo afflitta da un big per l’infrastruttura in question si è<br />

adoperata la versione 1.0.0.1.<br />

EMCSIGN.DLL<br />

Attualmente scritto in VB6 e di prossima transizione a .Net ( con la release 2.0 del software<br />

custom PEC ), è il componente che si occupa di gestire la firma dei messaggi, firmandoli e<br />

verificandone le firme.<br />

SMTPSINK.DLL<br />

E' il filtro .Net che gestisce il frontend consentendogli di svolgere i ruoli di Punto di Accettazione e<br />

Punto di Ricezione<br />

Filtro di Cambio del Message ID ( su Server SMTP Anonimo )<br />

80


E' il filtro C++ che ribatte il message-id sui Punti di Accettazione. Il message-id è un identificativo<br />

univoco di una mail in relazione al server che la smista : l’univocità del message-id non è un<br />

opzione in quanto se dovesse mancare non si potrebbero riconciliare i log delle mail di PEC. Se la<br />

mail viene inviata mediante un client Smtp il message-id viene assegnato dal client, e non dal<br />

server. Cosi’ per tutelarsi da client non compliant con la RFC sul protocollo SMTP piuttosto che da<br />

virus o comportamenti anomali si ribattezza a priori il message-id per garantirne l'univocità .<br />

SMTPVERIFY.DLL<br />

E' un filtro C++ che aggiunge degli header per evitare il tampering dei msg provenienti da Linux<br />

Filtro VerifySign SMTPVerify.VerifySign<br />

Questo filtro si occupa di verificare che qualsiasi mail introdotta nel circuito PEC attraverso il<br />

server SMTP anonimo sia stata preventivamente firmata con un certificato valido di PEC.<br />

Emcconfig.dll<br />

E' il componente.Net che gestisce il file di configurazione di PEC. Si occupa di ricaricarlo e<br />

verificarne eventuali modifiche a intervalli predefiniti. In caso di modifiche a realtime alla maggior<br />

parte dei paramentri presenti nel file di config occorre comunque un riavvio di sistema.<br />

4.3.2.3. Macchina 3 – 4 : Nodi del cluster di Backend di Exchange<br />

Un cluster a n nodi è una sub-infrastruttura hardware/software costituita da n macchine ognuna<br />

con un sistema operativo cluster-aware che aumenta drasticamente la disponibilità dei servizi<br />

erogati da queste macchine, infatti nel caso in cui un problema hardware o la messa offline di un<br />

nodo su una macchina abbatta la disponibilità del servizio, questo viene spostato su una macchina<br />

operativa. Questo è possibile su infrastruttura Windows 2003 Enterprise attraverso il servizio di<br />

sistema MSCS (Microsoft Clustering Service) che consente la messa in opera di un cluster<br />

active/passive, ovvero, nel caso di un cluster a 2 nodi, un nodo della macchina è attivo mentre<br />

l’altro non lo è, resta in attesa di attivarsi in caso di failover. Nel caso di un cluster active/active<br />

entrambi i nodi sono disponibili raddoppiando l’offerta del servizio, aumentando le prestazioni<br />

globali, ma in caso di failover di uno dei due nodi una sola macchina si farebbe carico dei due<br />

servizi ridondati. Con Exchange 2007 il servizio di clustering active/active non sarà più supportato.<br />

Il server di BACKEND di Exchange è costituito da un cluster active/passive a 2 nodi Windows 2003<br />

Server Enterprise. Ogni nodo del cluster per poter funzionare correttamente deve disporre di 2<br />

81


adattatori di rete, uno pubblico, collegato alla rete dell’infrastruttura condivisa con le altre<br />

macchine, e uno privato, che mette in comunicazione esclusivamente i 2 nodi. Inoltre per un<br />

server Exchange clusterizzato la best practice consiglia l’adozione di 3 adattatori SCSI per ogni<br />

macchina per poter condividere 3 unità a disco necessarie per condividere i dati utilizzati dai<br />

servizi di clustering, dal processo di store di Exchange e dal processo di logging di Exchange.<br />

Figura 4-16 Configurazione hardware di uno dei nodi del cluster<br />

Questa metodologia oltre a garantire buone prestazioni abbassa ulteriormente il rischio di perdita<br />

dati infatti dai logs si puo’ ricostruire lo store e viceversa. Per effettuare il deployment di Exchange<br />

in modalità cluster occorre istanziare manualmente i processi necessari a Exchange manualmente,<br />

82


dopo aver creato un cluster group dedicato. Dopo aver correttamente instanziato il server<br />

Exchange di backend si puo’ procedere all’installazione delle componenti custom della PEC.<br />

Figura 4-17 La console di controllo del cluster e l’elenco delle risorse disponibili<br />

83


4.3.3. Lo sviluppo delle componenti software<br />

L’organizzazione dello sviluppo delle componenti software è proceduto effettuando la<br />

scomposizione delle componenti da un punto di vista architetturale ( distinta base ) e funzionale,<br />

descrivendo i singoli work items in base ai seguenti parametri :<br />

o Attività mandatorie / non mandatorie ( obbligatorie o no )<br />

o Stima del tempo di sviluppo in giorni uomo<br />

o Contingency ( stima del grado di rischio quantificata in giorni uomo )<br />

Figura 4-18 Diagramma della stima dei tempi di progetto<br />

Due distinti gruppi di progetto si sono occupati dello sviluppo software, come è possible notare in<br />

fig. 4-16: da un lato MSFT, ruolo svolto da una società di sviluppo software di Milano come<br />

outsourcer, dall’altro EDS, sita a Roma.<br />

4.3.3.1. Procedura di deploy<br />

Particolarmente critica è risultata essere l’automatizzazione della procedura di installazione delle<br />

componenti software sulle macchine. Si è progressivamente raffinata la procedura batch per<br />

l’installazione, che genera dei warning all’interno di un file di testo della cartella di install in caso di<br />

eccezioni, tuttavia su sistemi con particolari configurazioni di sistema operativo o con livelli di<br />

84


patch differenti è necessario procedere manualmente per avere la certezza di un deployment<br />

effettuato perfettamente. In particolar modo le componenti più critiche da installare sono risultate<br />

essere le seguenti:<br />

o Filtro a livello di systemmailbox di Exchange – si tratta di una regola per la corretta<br />

gestione delle ricevute di presa in carico. Per inserire questa regola occorre utilizzare un<br />

utente definito ad hoc, ExAdmin ( cfr. appendice ) appartenente ai gruppi Domain Admins,<br />

Domain Users, Exchange Domain Server e con particolari permission sulla mailbox di<br />

sistema.<br />

o Installazione e avviamento di alcune componenti COM+. COM+ è uno strumento della MMC<br />

(Microsoft Management Console) che consente l’inserimento di componenti tenuti in<br />

memoria ed eseguiti solo in caso di necessità, ma un livello più alto di quello dei servizi di<br />

sistema.<br />

o Installazione e messa in opera di servizio di PECAGENT, responsabile dell’aggiornamento<br />

della CRL (Certificate Revocation List, la lista che include i certificatori attendibili di PEC).<br />

L’attivazione del servizio prevede la creazione di un utente ad hoc con le permissions<br />

necessarie per l’avvio automatico del servizio.<br />

Il manuale per la procedura di deploy, parte integrante del lavoro svolto, è consultabile al capitolo<br />

7.<br />

4.3.3.2. Testing della soluzione<br />

Effettuato il deployment con successo si è stilato una procedura standard per la verifica di tutte le<br />

funzionalità offerte dalla PEC. La procedura completa prevede i seguenti casi d’uso :<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

Invio Normale<br />

Invio a Utente Inesistente<br />

Oggetto mancante<br />

Testo con un solo CR<br />

Testo mancante<br />

Invio a più utenti<br />

Invio a più utenti con utente inesistente in "to"<br />

Invio a più utenti con utente inesistente in "to"<br />

Invio a più utenti con utente inesistente in "cc"<br />

Invio a un utente con ulteriore utente inserito in "ccn"<br />

Invio a più utenti<br />

85


o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

Invio a più utenti con utenti di posta ordinaria<br />

Mail Crittografata<br />

Testo con caratteri speciali<br />

Oggetto con caratteri speciali<br />

Invio ad un utente con casella piena<br />

Messaggio di trasporto con firma del server corrotta<br />

Messaggio con Virus, rilevabile dall'antivirus del gestore mittente<br />

Messaggio con Virus, rilevabile dall'antivirus del gestore destinatario<br />

Messaggio con un solo destinatario ed allegato superiore a 30Mb<br />

Messaggio con 7 destinatari ed allegato da 5Mb<br />

Messaggio con 6 destinatari ed allegato da 4.5Mb<br />

Messaggio con un destinatario non certificato proveniente da un mittente in dominio chiuso<br />

Messaggio con ricevuta di avvenuta consegna Breve<br />

Messaggio Firmato con ricevuta di avvenuta consegna Breve<br />

Messaggio Crittografato con ricevuta di avvenuta consegna Breve<br />

Messaggio Firmato con ricevuta di avvenuta consegna Breve<br />

Messaggio con ricevuta di avvenuta consegna Sintetica<br />

Messaggio con mancata ricezione RDAC entro le 12 ore<br />

Messaggio con mancata ricezione RDAC entro le 24 ore<br />

Messaggio con destinatario definito in sottodominio<br />

Messaggio con oggetto "Force DUMP on FE"<br />

Messaggio con oggetto "Force DUMP on BE PDC"<br />

4.4. Conclusioni e visioni future<br />

La Posta Elettronica Certificata rappresenta uno strumento innovativo e di indubbia utilità: accolto<br />

con entusiasmo dagli addetti ai lavori dell’ IT, saranno gli Italiani a decretarne il successo o meno.<br />

Il paese ha una maturità sufficiente nei confronti delle nuove tecnologie per poter e soprattutto<br />

volere adoperare la PEC al posto della raccomandata tradizionale ? Al momento della scrittura di<br />

questa tesi le notizie non sono entusiasmanti, tanto è che solo una parte degli enti statali e di tutti<br />

gli uffici pubblici che entro il 1 settembre 2006 ( art. 47 del Codice dell'Amministrazione Digitale )<br />

avrebbero dovuto munirsi di indirizzo certificato e pubblicarlo sulle rispettive homepage, per<br />

rendere accessibile a qualunque cittadino, hanno adempiuto a questo compito. Inoltre ricordiamo<br />

che la PEC è un servizio a pagamento, come del resto lo è la controparte cartacea. Considerando<br />

86


comunque che il nostro paese soffre di una lentezza storica nell’adeguarsi ai cambiamenti,<br />

soprattutto entro i termini previsti, questi fatti non destano eccessive preoccupazioni.<br />

Per quanto riguarda i possibili miglioramenti applicabili all’implementazione PEC proposta da<br />

Microsoft abbiamo la riscrittura di tutto il codice di modo da poterlo adeguare al .Net Framework<br />

2.0, operazione in corso al momento della scrittura di questa tesi. Si è inoltre pensato che la<br />

realizzazione di una procedura automatizzata di testing e benchmarking, sebbene non sia di<br />

immediata realizzazione, porterebbe benefici nel tempo. Per l’automazione del testing la scelta<br />

ricadrebbe su WMI (Windows Management Instrumentation ), un linguaggio di scripting<br />

incorporato nei OS Windows per l’automatizzazione di task amministrativi. Il benchmarking puo’<br />

essere effettuato con MMB3 ( MAPI Messaging Benchmark 3 ), prodotto di Microsoft per il<br />

benchmarking dei server di posta e delle infrastrutture basate su Exchange.<br />

87


5. Metodo di progetto<br />

Il metodo di progetto utilizzato abitualmente in Microsoft è Microsoft Solution Framework, una<br />

raccolta di best practice, principi e modelli per la gestione di progetti software. MSF si è evoluto<br />

nel tempo, fino ad arrivare alla versione attuale ( 3.0 ), rilasciata nel corso del 2003 e procede<br />

nel suo sviluppo. Fondamentalmente MSF descrive una serie di sequenze di attività ad alto livello<br />

per effettuare il building e il deployment di soluzioni IT derivate dalle seguenti proven practices<br />

che hanno contribuito direttamente alla formazione e alla formalizzazione di MSF:<br />

<br />

<br />

<br />

<br />

Microsoft Worldwide Products Groups<br />

Microsoft Consulting Services<br />

Microsoft Information Technology Groups<br />

Microsoft Partners<br />

Piuttosto che prescrivere una serie di procedure specifiche, MSF è sufficientemente flessibile da<br />

accomodare un ampio range di progetti IT. Esso combina due modelli di progetto standard,<br />

ampiamente adottati a livello industriale, il modello a cascata e il modello a spirale, aggiungendo<br />

una serie di strumenti a supporto del ciclo di vita della soluzione, a partire dalla fase di<br />

avviamento fino ad arrivare alla fase di deployment. MSF è un processo guidato da milestones,<br />

ovvero momenti cronologici del progetto nell’ambito dei quali vengono prodotti deliverable<br />

significativi. Parallelamente MOF 3.0 ( Microsoft Operation Framework ) si occupa di mettere in<br />

uso e mantenere funzionanti le soluzioni IT, attraverso best practices e consolidati modelli per<br />

team e processi che permettono di migliorare l'efficienza e la qualità della gestione IT<br />

(Information Technology). È basato sulle linee guida IT Infrastructure Library versione 2.0 (ITIL),<br />

pubblicate dall'Office of Government Commerce (OGC) del Regno Unito, e le estende attraverso<br />

indicazioni e best practice definite a partire dall'esperienza dei team operativi, dei partner e dei<br />

clienti Microsoft. Le componenti principali di MOF sono il team model, il process model e la<br />

disciplina di risk management. Per meglio comprendere MSF si procederà con la descrizione dei<br />

due metodi di progetto da cui deriva.<br />

5.1. Metodo di progetto a cascata ( Waterfall Model )<br />

Il modello a cascata o ciclo di vita a cascata (waterfall model o waterfall lifecycle in inglese) è un<br />

modello di ciclo di vita del software (ovvero di processo software) secondo cui la realizzazione di<br />

un prodotto software consta di una sequenza di fasi strutturata in analisi dei requisiti, progetto,<br />

88


implementazione, testing (validazione), integrazione e manutenzione. Ciascuna di queste fasi<br />

produce un ben preciso output che viene utilizzato come input per la fase successiva (da cui la<br />

metafora della cascata). Il ciclo di vita a cascata fu il primo modello di ciclo di vita del software. La<br />

sua teorizzazione rappresenta innanzitutto un importante mutamento di prospettiva nella pratica<br />

dello sviluppo del software, che viene per la prima volta concepita come processo industriale (con<br />

le relative necessità di documentazione e controllo) anziché come attività "artigianale" (il<br />

cosiddetto approccio code and fix, che si potrebbe tradurre in italiano come programmazione per<br />

tentativi ed errori). Il ciclo di vita a cascata ebbe un enorme successo negli anni '70 ed è quello<br />

che ancora oggi viene più spesso associato alla programmazione procedurale e strutturata.<br />

A partire almeno dagli anni '80 il modello è stato soggetto a profonde critiche e revisioni,<br />

soprattutto dovute all'evoluzione del software stesso e dei linguaggi di programmazione. Benché<br />

gran parte delle critiche a questo modello siano oggi universalmente accettate, il ciclo di vita a<br />

cascata continua a rimanere un punto di riferimento importante, in sostanza un modello<br />

"canonico" rispetto al quale vengono spesse descritte le "variazioni" moderne; ed è spesso il primo<br />

modello di sviluppo software che si insegna agli studenti.<br />

5.1.1. Definizione<br />

I caposaldi del Waterfall Model sono:<br />

1. Il processo di sviluppo è diviso in fasi sequenziali<br />

2. Ogni fase produce un output che è usato come input per la fase successiva<br />

3. Ogni fase del processo viene documentata.<br />

Il modello a cascata tradizionale prevede le seguenti fasi:<br />

3.1. Studio di fattibilità: ha lo scopo di determinare se intraprendere lo sviluppo del sistema;<br />

3.2. Analisi e specifica dei requisiti: ha lo scopo di determinare cosa farà il sistema; essa<br />

comprende, o è preceduta da, una analisi di fattibilità, in cui si stabilisce se vale la pena<br />

(da un punto di vista tecnico ed economico) realizzare il sistema del quale si vanno<br />

definendo i requisiti;<br />

3.3. Progettazione: ha lo scopo di determinare come il sistema farà quanto stabilito nella<br />

prima fase, e in particolare la sua suddivisione in moduli e le relazioni fra di essi;<br />

3.4. Sviluppo e test di unità: creazione dei moduli con un linguaggio di programmazione<br />

(codifica) e test dei singoli moduli.<br />

3.5. Integrazione e test di sistema: assembramento dell’intero sistema ed esecuzione di<br />

prove per verificare la correttezza del funzionamento complessivo del sistema.<br />

89


3.6. Rilascio e manutenzione: segue la consegna o delivery del prodotto al cliente, e<br />

comprende tutte le attività volte a migliorare, estendere e correggere il sistema nel<br />

tempo.<br />

Esistono molte varianti di questo schema, infatti nel contesto di una specifica organizzazione, il<br />

modello a cascata può essere ridefinito con varianti specifiche. Inoltre, un'organizzazione può<br />

formalizzare ulteriormente il processo definendo standard e imponendo vincoli per quanto<br />

riguarda la natura, il formato, la struttura e/o i contenuti dei documenti prodotti nelle varie fasi (i<br />

cosiddetti deliverable, consegnabili), tipicamente allo scopo di consentire un controllo più rigoroso<br />

sullo stato di avanzamento del progetto e sulla qualità del lavoro svolto.<br />

5.1.2. Fasi<br />

Studio di fattibilità<br />

E’ la prima fase. Scopo<br />

<br />

Decidere se debba essere intrapreso un nuovo sviluppo.<br />

Attori coinvolti<br />

<br />

<br />

Cliente/Committente<br />

Organizzazione aziendale<br />

Output<br />

<br />

Un documento che presenti diversi scenari e soluzioni insieme ad una discussione dei<br />

compromessi in termini di costi previsti e benefici.<br />

Svolgimento<br />

<br />

<br />

Interazione tra gli attori<br />

Ricerca delle soluzioni esistenti<br />

Problemi principali<br />

<br />

Analisi spesso svolta sotto pressione e in fretta<br />

90


Analisi dei costi a volte imperfetta con continui rifacimenti<br />

Decisioni premature che ostacolano lo sviluppo successivo<br />

Analisi e specifica dei requisiti<br />

Input<br />

<br />

Il documento di studio di fattibilità<br />

Scopo<br />

<br />

Identificazione e descrizione dei requisiti, ossia delle caratteristiche del sistema<br />

Attori coinvolti<br />

<br />

<br />

<br />

Cliente/Committente<br />

Sviluppatori<br />

Organizzazione aziendale<br />

Output<br />

<br />

<br />

<br />

Un documento che descrive le caratteristiche del sistema e che colga le esigenze<br />

dell’utente ma sia anche esaustivo per il progettista. Tale documento, per mettere<br />

d’accordo le parti, deve essere facilmente comprensibile, preciso, completo, coerente e non<br />

ambiguo, inoltre facilmente modificabile;<br />

Manuale utente: in alcuni casi può essere utile una versione preliminare in cui si spiega<br />

come l’utente interagirà con il sistema;<br />

Piano di test: non è indispensabile, ma si può decidere in questa fase insieme all’utente.<br />

Svolgimento<br />

<br />

<br />

<br />

Interazione tra gli attori<br />

Più il sistema è innovativo più è necessario interagire<br />

La documentazione va descritta secondo degli standard e delle notazioni specifici<br />

Problemi principali<br />

<br />

<br />

Assenza di linguaggio comune tra gli attori<br />

Requisiti spesso poco chiari<br />

91


Impossibilità di considerare tutti i requisiti e di produrre un lavoro completo<br />

Progettazione<br />

Input<br />

<br />

Il documento di specifica dei requisiti<br />

Scopo<br />

<br />

Definire l’architettura del sistema<br />

Attori<br />

<br />

Sviluppatori<br />

Output<br />

<br />

<br />

Definizione della struttura di massima (architettura di alto livello)<br />

Definizione delle caratteristiche dei singoli componenti (moduli)<br />

Svolgimento<br />

<br />

Individuazione dei componenti necessari e delle loro caratteristiche<br />

Problemi<br />

<br />

<br />

<br />

Si devono prendere molte decisioni<br />

Non tutte le strutture sono uguali<br />

Non sempre le scelte sono ben definite<br />

Sviluppo e test di unità<br />

Input<br />

<br />

I documenti di progetto<br />

Scopo<br />

<br />

Implementare i moduli<br />

92


Attori<br />

<br />

Sviluppatori<br />

Output<br />

<br />

Moduli implementati<br />

Svolgimento<br />

<br />

<br />

<br />

Scrittura del codice<br />

Test di modulo<br />

Controllo di aderenza agli standard<br />

Problemi<br />

<br />

Scrittura del codice<br />

Integrazione e test di sistema<br />

Input<br />

<br />

I moduli codificati<br />

Scopo<br />

<br />

<br />

Controllare che i moduli presi uno a uno funzionino<br />

Controllare che una volta messi assieme i moduli continuino a funzionare<br />

Attori<br />

<br />

Sviluppatori<br />

Output<br />

<br />

<br />

Il sistema funzionante<br />

Tecniche di verifica e validazione (alpha test)<br />

Problemi<br />

93


Diversi tipi di problemi soprattutto connessi ad una cattiva analisi dei requisiti<br />

Rilascio e Manutenzione<br />

<br />

<br />

<br />

Tutto ciò che accade dal momento della consegna del sistema alla sua dismissione<br />

Si verifica il software da parte degli utenti (beta test)<br />

E’ una fase molto lunga<br />

5.1.3. Punti di forza<br />

Il Waterfall Model ha storicamente giocato un ruolo importante nello sviluppo del software per<br />

superare i limiti del processo del “code and fix” e infine ha fissato due concetti:<br />

• Il processo di sviluppo del software deve essere soggetto a disciplina e pianificazione;<br />

• L’implementazione del prodotto deve essere rimandata fino a quando non sono<br />

perfettamente chiari gli obiettivi.<br />

Il maggior pregio di questo metodo di lavoro è certamente la semplificazione del controllo<br />

dell’andamento del progetto tramite la suddivisione del ciclo di vita in fasi successive ben definite.<br />

Le diverse metodologie che adottano questo ciclo di vita si distinguono essenzialmente per la<br />

suddivisione e specificazione delle fasi in sottofasi più elementari, nella definizione di standard di<br />

documentazione e nella individuazione di momenti di verifica al termine di ciascuna attività<br />

(milestone). Per ottimizzare il ciclo di vita, la scomposizione delle fasi in sottofasi persegue due<br />

obiettivi:<br />

• assegnare a ciascuna fase la soluzione di problematiche specifiche<br />

• rendere, per quanto possibile, le fasi indipendenti allo scopo di poterne parallelizzare le<br />

attività<br />

Benché l’adozione di questi principi appaia estremamente produttiva, la loro applicazione pratica<br />

ha come effetto collaterale, soprattutto per i progetti di grandi dimensioni, un pericoloso<br />

scollamento fra le diverse attività, sia per le difficoltà di coordinamento che per la difformità delle<br />

metodologie e dei formalismi specialistici adottati. Ad esempio, normalmente l’individuazione delle<br />

strutture dati e delle funzionalità del sistema sono affrontate con metodologie diverse e,<br />

soprattutto per i progetti di grandi dimensioni, contemporaneamente e separatamente da gruppi<br />

94


di lavoro differenti. Nel primo caso i risultati sono formalizzati con uno Schema Entità-Relazione<br />

(ER o Entity-Relationship diagram nella dizione anglosassone) nel secondo con un metodo di<br />

scomposizione funzionale. Solo quando queste due attività terminano viene avviata una ulteriore<br />

attività di armonizzazione dei rispettivi risultati.<br />

Un ulteriore problema di questa impostazione deriva dalla necessità di terminare completamente<br />

tutta la fase di analisi dei requisiti e progetto dell’applicazione per cominciare la programmazione<br />

e quindi verificarne sul campo le conclusioni.<br />

Il modello, quindi, è una semplificazione della realtà che non trova piena applicazione in quanto<br />

vanno rispettati tre principi:<br />

• Linearità: spesso si hanno cicli di feedback (il caso dell’alpha e del beta testing) per la<br />

correzione degli errori. Tale feedback, purtroppo, deve essere lineare e, quindi, non si possono<br />

effettuare salti a ritroso ma vanno ripercorse tutte le fasi in maniera lineare;<br />

• Rigidità: ogni fase viene congelata quando si passa alla fase successiva per cui non è<br />

possibile un’interazione tra clienti e sviluppatori durante il ciclo di vita dopo la parte iniziale;<br />

• Monoliticità: tutto il modello è orientato alla singola data di rilascio che spesso si pone a<br />

mesi o anni dopo l’inizio della prima fase per cui se vengono commessi eventuali errori o<br />

cambiano i requisiti, questi verranno implementati dopo parecchio tempo e comunque alla fase di<br />

consegna seguirà subito un altro adattamento perché il software sarà già obsoleto.<br />

Concretamente queste caratteristiche si traducono nella possibilità di usare il modello in presenza<br />

di requisiti stabili e contratti con costi e tempi ben definiti, disponendo di buone competenze sul<br />

dominio di business in un contesto tecnologico maturo.<br />

5.1.4. Punti di debolezza<br />

I maggiori problemi sono i seguenti:<br />

• È difficile stimare le risorse e i costi in maniera accurata finché non sia stata svolta almeno<br />

la prima fase di analisi;<br />

• La specifica dei requisiti produce un documento scritto che vincola il prodotto da sviluppare<br />

e ciò non sempre soddisfa le esigenze del cliente perché si tratta pur sempre di specifiche basate<br />

su un documento inanimato che non sempre aiuta nel definire le esigenze, che, invece, appaiono<br />

95


subito chiare dopo il primo rilascio del software, inoltre tale documento deve essere completo e<br />

chiaro prima di procedere allo sviluppo, ma non sempre ciò è possibile;<br />

• L’utente spesso non conosce tutti i requisiti dell’applicazione perché non può conoscerli,<br />

motivo per cui non sempre il documento dei requisiti è completo e, quindi, si ha un passaggio alla<br />

fase successiva con documentazione poco chiara;<br />

• Il modello obbliga a usare standard pesantemente basati sulla produzione di una data<br />

documentazione in determinati momenti per cui il lavoro rischia di essere burocratizzato.<br />

Si comprende come gli alti costi del software siano proprio dovuti al modello a cascata a causa<br />

proprio delle specifiche poco complete e ai molti interventi successivi per introdurre funzionalità<br />

non previste in partenza. Capita, quindi, che le pecche del modello vadano a ricadere sulla<br />

manutenzione che, quindi fa lievitare i prezzi o, al contrario, si opera con una manutenzione<br />

sommaria che produce un software con un’implementazione che diverge dalle specifiche dei<br />

requisiti. Il Modello a cascata non va usato quando si ha a che fare con software complesso in un<br />

contesto innovativo, su progetti di lunga durata ( mal si adatta ai cambiamenti ) e in presenza di<br />

requisiti non ben definiti all’inizio.<br />

96


5.2. Metodo di progetto a spirale ( Spiral Model )<br />

Il modello a spirale è un modello evolutivo del ciclo di vita del software. I modelli evolutivi<br />

riconoscono l’inevitabilità delle evoluzione dei requisiti, delle tecnologie, del mercato e<br />

l’impossibilità di arrivare a una soluzione in un unico passo. E’ previsto il rilascio di versioni<br />

successive, con funzionalità parziali, per far fronte alla necessità di seguire le inevitabili evoluzioni<br />

e alle pressioni del mercato e dei concorrenti. Questo si traduce nella rapida disponibilità di un<br />

primo prodotto finito, ma il prodotto finale puo’ richiedere un maggior tempo ed effort rispetto<br />

all’approccio a cascata.<br />

Figura 5-1 Metodo di progetto a spirale [7]<br />

5.2.1. Definizione<br />

Il modello a spirale riconcilia le caratteristiche fondamentali del modello evolutivo :<br />

97


o Lo sviluppo avviene in una serie di incrementi<br />

o Si reitera sulle singole fasi per ottimizzare<br />

o I primi incrementi vengono presentati anche su “carta” ( es. prima specifica iniziale )<br />

Ogni incremento è una ripetizione ciclica delle “task region” ovvero fasi.<br />

5.2.2. Fasi<br />

Customer Communication ( comunicazioni con il cliente ):<br />

o<br />

Attività svolte a stabilire un efficace colloquio tra il cliente e il team di sviluppo<br />

Planning ( pianificazione )<br />

o Raccolta dei requisiti e definizione del piano di progetto ( risorse e scadenze )<br />

Risk Analysis ( analisi dei rischi )<br />

o<br />

Stima e prevenzione dei rischi tecnici e di gestione<br />

Engineering ( strutturazione )<br />

o<br />

Costruzione di rappresentazioni dell’applicazione da sviluppare<br />

Construction & Release ( costruzione e rilascio )<br />

o<br />

Realizzazione, collaudo e installazione<br />

Customer Evaluation ( valutazione da parte del cliente )<br />

o<br />

Rilevazione delle reazioni da parte del cliente<br />

5.2.3. Punti di forza<br />

Tra i principali punti di forza del modello a spirale individuiamo :<br />

o Possono essere utilizzati i vantaggi della prototipazione ad ogni ciclo dell’evoluzione<br />

o Si presta alla gestione di progetti complessivi e/o in contesti innovativi<br />

o Focalizza l’attenzione sugli obiettivi<br />

o I rischi sono presi in considerazione ad ogni stadio del progetto<br />

5.2.4. Punti di debolezza<br />

Tra i principali punti di debolezza del modello a spirale individuiamo :<br />

o Il modello esige competenze ad alto livello per la stima dei rischi<br />

98


o<br />

Il controllo della strategia<br />

5.3. MSF / MOF<br />

5.3.1. MSF<br />

Il Microsoft Solutions Framework (MSF) è un framework che aiuta nella gestione del processo di<br />

sviluppo del software. MSF è un framework progettato per aiutare gruppi di sviluppatori (dai 3 ai<br />

100 e oltre) a gestire le varie fasi della realizzazione del software.<br />

Figura 5-2 MSF: Ciclo di vita del software [3]<br />

La versione attualmente in sviluppo, e sarà differenziata in due versioni:<br />

• MSF for Agile Software Development - più leggera e adatta a situazioni in cui si preferisce<br />

rimanere "agili"<br />

• MSF for CMMI Process Improvement - si basa sulla versione agile, ma la estende per<br />

permettere alle aziende di raggiungere il livello 3 del CMMI (Capability Maturity Model®<br />

Integration, un approccio per il miglioramento del processo di sviluppo proposto dal SEI -<br />

Software Engineering Institute, indipendente dalla metodologia utilizzata). Entrambe le versioni<br />

definiscono un Team Model (molto snello quello agile, molto completo quelli CMMI), e guidano il<br />

processo di sviluppo attraverso delle iterazioni. La versione agile definisce una project guidance<br />

molto semplice, senza milestone formali. La versione CMMI aggiunge alle iterazioni della versione<br />

99


agile delle milestone in cui lo stato del progetto è ben definito. La versione attuale di MSF non<br />

dispone di un prodotto Microsoft che lo supporti come metodo di progetto. MSF 4.0 invece, oltre<br />

ad essere disponibile come documenti e guideline, sarà una delle metodologie per create Team<br />

Project con Team Foundation Server e Visual Studio Team System, in cui saranno supportate<br />

entrambe le versioni, formale e agile.<br />

Figura 5-3 MSF: Successivi raffinamento del ciclo di vita del software [3]<br />

Team Foundation Server e Visual Studio Team System non sono però legati solo ad MSF 4. E'<br />

possibile customizzare una delle versioni di MSF (ad esempio partendo dalla agile e aggiungendo<br />

parti, o partendo dalla CMMI e togliendo ciò che non serve) o adottare una metodologia<br />

completamente diversa (sono disponibili implementazioni di RUP, Scrum ...).<br />

MSF 3.0 (la versione corrente) ed è composta da:<br />

• Process Model - da indicazioni su come strutturare le varie fasi dall'idea iniziale fino<br />

al deployment<br />

• Team Model - da indicazioni su come comporre un team efficiente<br />

• Project Management Discipline - da indicazioni su come affrontare la gestione del<br />

progetto<br />

100


• Risk Management Discipline - da indicazioni su come gestire i rischi in tutte le fasi<br />

del progetto<br />

• Readiness Management Discipline - da indicazioni su come preparare il team ad<br />

affrontare il progetto e a mantenersi aggiornato<br />

MSF 3.0 inoltre fornisce alcune linee guida sull'utilizzo di "strumenti" che possono essere la Daily<br />

Build (il fatto di avere sempre il prodotto in uno stato certo), i Living Documents (al contrario di<br />

molti documenti dei processi tradizionali, che una volta scritti non vengono più aggiornati e<br />

perdono giorno dopo giorno di valore), strumenti che possono essere utilizzati anche senza MSF,<br />

ma che danno il loro meglio all'interno di MSF.<br />

Il fatto che MSF non sia una metodologia o un processo ma che sia un framework significa che<br />

MSF richiede di compiere delle scelte.<br />

MSF va adattato alla propria realtà, non può essere preso e adottato ciecamente, altrimenti non<br />

funziona.<br />

101


5.3.2. MOF<br />

Figura 5-4 Il ciclo di vita IT e i framework Microsoft [2]<br />

Microsoft Operational Framework si occupa di mettere in uso e mantenere funzionanti le soluzioni<br />

IT, come software, sistemi operativi, server. Lo sviluppo e il deployment di una soluzione IT in<br />

genere coinvolgono due team. Il team di progetto si occupa per un periodo di tempo limitato di<br />

pianificare, realizzare e implementare la soluzione. MSF offre una soluzione flessibile e scalabile<br />

per pianificare, progettare, sviluppare e distribuire soluzioni IT di successo, attraverso principi,<br />

modelli e discipline per gestire il personale, i processi, le tecnologie e i rischi legati alla maggior<br />

parte dei progetti.<br />

Il team operativo invece è permanente ed è responsabile del funzionamento e della gestione<br />

continuativa della soluzione. MOF è pensato per assistere questo tipo di team, attraverso<br />

indicazioni tecniche che consentono alle organizzazioni di ottenere livelli mission-critical di<br />

affidabilità, disponibilità, supportabilità e gestibilità per le soluzioni IT basate sui prodotti e le<br />

tecnologie Microsoft. Queste informazioni aiutano a risolvere i problemi relativi al personale, i<br />

processi, le tecnologie e la gestione che caratterizzano i complessi ambienti IT eterogenei e<br />

distribuiti. I due framework sono complementari, per ridurre al minimo il time to value, ovvero il<br />

tempo tra il riconoscimento dell'esigenza e la fornitura del servizio. Anche l'uniformità di<br />

terminologia e concetti tra i due framework contribuisce all'erogazione di servizi di alta qualità. I<br />

102


due framework sono inoltre integrati. Per il deployment di una soluzione IT, ad esempio, è<br />

necessario conoscere sia i requisiti e i controlli utente della soluzione che i requisiti di sistema per<br />

il suo funzionamento. MSF e MOF includono linee guida per i team e i processi che garantiscono il<br />

successo dei deployment negli ambienti di produzione. A tutti i livelli, MSF e MOF favoriscono la<br />

creazione di processi che assicurano che la soluzione (o qualsiasi modifica all'ambiente IT) sia<br />

progettata per l'operatività e la supportabilità, e che soddisfi i requisiti delle release. MOF offre un<br />

insieme di linee guida e best practice riconosciute a livello mondiale che facilitano il<br />

funzionamento e la gestione delle infrastrutture IT. Queste indicazioni sono valide per le<br />

organizzazioni di qualsiasi dimensione, dalle piccole aziende alle compagnie multinazionali. Le<br />

organizzazioni IT possono iniziare ad applicare MOF in qualsiasi area di loro interesse, quindi<br />

ampliarne l'utilizzo ad altre aree. I principi MOF possono inoltre essere applicati in modo graduale,<br />

aggiungendo ulteriori componenti per il perfezionamento delle capacità operative.<br />

Il team model MOF definisce un set di ruoli che coprono tutte le attività necessarie per il<br />

funzionamento di un'infrastruttura IT. MOF assicura la massima flessibilità per l'assegnazione di<br />

questi ruoli nell'ambito di una gerarchia organizzativa esistente. Analogamente, il process model<br />

MOF raggruppa i più comuni processi relativi alle varie fasi del ciclo di vita IT, correlandoli<br />

ai ruoli corrispondenti. MSF e MOF sono un insieme di modelli e di discipline, frutto<br />

dell’ibridazione dei seguenti concetti fondamentali:<br />

o<br />

o<br />

o<br />

Foundational Principles - Sono i principi fondamentali su cui si basa il framework<br />

Key Concepts - Idee che supportano i principi e le discipline di MSF<br />

Proven Practices - Tecniche, metodi e processi che hanno funzionato in progetti reali<br />

103


Figura 5-5 MOF: Modelli e Discipline Coinvolte [2]<br />

All'interno di qualsiasi organizzazione i servizi IT, così come le applicazioni<br />

e l'infrastruttura che li supportano, hanno un ciclo di vita limitato. Questo ciclo<br />

può essere suddiviso in tre gruppi di attività principali:<br />

o Comprendere le esigenze di business e operative per il servizio e creare<br />

una soluzione in grado di soddisfarle, tenendo conto degli specifici vincoli.<br />

o Distribuire la soluzione agli utenti in modo efficace ed efficiente, con tempi<br />

di inattività ridotti al minimo e in conformità con i livelli di servizio.<br />

o<br />

Assicurare un funzionamento eccellente della soluzione per fornire un servizio affidabile<br />

all'organizzazione.<br />

MSF e MOF offrono informazioni e risorse di implementazione per un utilizzo ottimale<br />

delle tecnologie nell'intero ciclo di vita IT. Queste risorse sono organizzate<br />

in due framework: Microsoft Solutions Framework (MSF) e Microsoft Operations Framework<br />

(MOF). MSF permette di soddisfare le esigenze relative al primo gruppo<br />

di attività (analizzare i requisiti e realizzare una soluzione di valore); MSF e MOF permettono di<br />

coordinare processi e attività per il deployment della soluzione nel secondo gruppo; e MOF<br />

permette di soddisfare le esigenze relative al terzo gruppo<br />

di attività, fino alla dismissione della soluzione. MOF inoltre incorpora ed estende un'ampia varietà<br />

104


di best practice messe a punto da altre organizzazioni che si occupano della definizione di<br />

standard IT.<br />

5.3.2.1. Elementi di MOF<br />

I tre elementi chiave di MOF sono:<br />

o<br />

o<br />

o<br />

Il team model<br />

Il process model<br />

La disciplina di risk management<br />

Questi elementi offrono informazioni relative allo staff, i processi e la gestione dei rischi<br />

nell'ambito della gestione dei servizi IT. Ognuno fornisce tecnologie e best practice<br />

per assicurare un elevato livello di disponibilità, affidabilità, supportabilità e gestibilità dei sistemi<br />

sulla piattaforma Microsoft, oltre a indicazioni per l'interoperabilità con altre piattaforme<br />

tecnologiche. Le sezioni che seguono illustrano in dettaglio i tre elementi<br />

di base di MOF.<br />

5.3.2.1.1. Il Team Model di MOF<br />

Il team model MOF è stato sviluppato per assicurare agilità e capacità di adattamento alle<br />

complessità dei team distribuiti, dal punto di vista geografico o organizzativo,<br />

che si occupano della gestione di sistemi distribuiti. Pur assicurando un elevato livello<br />

di flessibilità, il team model MOF definisce specifiche responsabilità per i ruoli<br />

del team. Questo consente alle organizzazioni che utilizzano MOF di misurare e aumentare la<br />

propria efficienza anche se le funzioni sono distribuite tra differenti posizioni geografiche o<br />

sottogruppi.<br />

Il team model MOF organizza la gestione IT in diversi gruppi di ruoli, ovvero singoli<br />

o gruppi che eseguono una serie di attività correlate per il completamento di un particolare<br />

componente di un servizio IT. Questi gruppi di ruoli sono definiti in base<br />

alle best practice di settore per la strutturazione dei team operativi. MOF fornisce quindi ulteriori<br />

informazioni di orientamento relative a tutti i gruppi di ruoli, che descrivono:<br />

<br />

Principali attività e competenze per ciascun gruppo di ruoli.<br />

Raccomandazioni per la scalabilità dei team in base alla dimensione e al tipo<br />

di organizzazione.<br />

<br />

Criteri per l'efficiente combinazione di più ruoli per i team di piccole dimensioni.<br />

105


Interazione tra i team operativi MOF e i team di sviluppo MSF.<br />

5.3.2.1.1.1. Principi fondamentali<br />

Per sviluppare team operativi efficienti e di successo non sono sufficienti descrizioni<br />

di ruoli e responsabilità. Occorrono anche principi condivisi che definiscano le priorità<br />

di business e le linee guida per il funzionamento del team. I cinque principi più importanti validi<br />

per tutti i gruppi di ruoli definiti dal team model MOF sono:<br />

o<br />

o<br />

o<br />

o<br />

o<br />

Fornire ai clienti servizi tempestivi, efficienti e accurati.<br />

Comprendere le priorità di business e consentire all'IT di offrire business value.<br />

Sviluppare team virtuali che operano in sinergia.<br />

Sfruttare strumenti per l'automazione IT e la gestione delle conoscenze.<br />

Attirare, sviluppare e mantenere personale competente per la gestione IT.<br />

106


5.3.2.1.1.2. Gruppi di ruoli del team model<br />

L'esperienza ha dimostrato che, per il successo, i team di gestione IT devono conseguire numerosi<br />

obiettivi di qualità relativamente alle funzioni chiave per i servizi. I gruppi<br />

di ruoli del team model MOF sono organizzati in base a sette categorie generali<br />

di attività e processi, ognuna delle quali dispone di uno specifico set di obiettivi a livello di qualità.<br />

Le descrizioni dei ruoli all'interno di un gruppo riguardano specificamente<br />

le attività finalizzate al conseguimento degli obiettivi di qualità: non sono descrizioni<br />

di funzioni e non presuppongono alcun tipo di organizzazione aziendale.<br />

Nel diagramma che segue i sette gruppi di ruoli sono associati a decine di possibili<br />

ruoli o team funzionali in una tipica organizzazione operativa. Il resto di questa sezione descrive le<br />

funzioni di ognuno dei sette gruppi di ruoli.<br />

Figura 5-6 MOF: Modelli e Discipline Coinvolte [2]<br />

107


Gruppo di ruoli<br />

Release<br />

Descrizione<br />

Tiene traccia di modifiche ed esperienze in una knowledge base aziendale.<br />

Registra inventari e modifiche in un database per la gestione<br />

delle configurazioni.<br />

Opera a livello intermedio tra il team di sviluppo delle modifiche<br />

e i gruppi operativi; mette in pratica le discipline ITIL per la gestione delle<br />

configurazioni, il controllo e la distribuzione del software.<br />

Infrastructure<br />

Definisce gli standard per l'ambiente fisico.<br />

Gestisce le risorse fisiche.<br />

Si occupa della manutenzione dell'infrastruttura IT e supervisiona l'evoluzione<br />

dell'architettura IT.<br />

Coordina il trasferimento di sedi e strutture, le espansioni<br />

e le acquisizioni, oltre alle modifiche dell'ambiente fisico<br />

come cablaggio, laboratori e connettività degli utenti.<br />

Support Fornisce supporto tecnico per i clienti interni ed esterni,<br />

provvedendo alla risoluzione dei problemi e all'elaborazione<br />

delle richieste di assistenza grazie a knowledge base e strumenti altamente<br />

automatizzati.<br />

Offre supporto di produzione per le applicazioni line-of-business.<br />

Fornisce feedback ai team di sviluppo e progettazione.<br />

Operations Assicura che le attività di routine vengano eseguite in modo<br />

affidabile nell'ambito di aree tecnologiche e sistemi di produzione specifici<br />

(messaggistica, amministrazione dei sistemi e così via).<br />

Esegue processi pianificati e ripetibili come backup dei dati, archiviazione,<br />

gestione dell'output, monitoraggio dei sistemi,<br />

gestione degli event log e gestione di file server e server di stampa.<br />

Partner Definisce e gestisce le partnership in modo conveniente<br />

e vantaggioso per tutte le parti interessate.<br />

Include sia il responsabile interno delle relazioni con le parti esterne<br />

che queste stesse parti.<br />

Security<br />

Garantisce riservatezza, integrità e disponibilità dei dati.<br />

Influenza i criteri di business, ad esempio definendo le procedure<br />

108


da adottare quando un dipendente lascia l'organizzazione.<br />

Service Assicura che tutti i servizi IT forniti ai clienti siano in linea<br />

con le loro effettive esigenze.<br />

Mantiene una relazione di collaborazione con i clienti, comprendendone le<br />

esigenze a livello di servizi IT e gestendo l'introduzione di nuovi servizi, i<br />

miglioramenti dei servizi esistenti<br />

ed eventualmente la riduzione o il ritiro dei servizi.<br />

Tabella 2 Dettagli sui gruppi di ruoli<br />

5.3.2.1.2. Il process model MOF<br />

5.3.2.1.2.1. Panoramica<br />

Il process model MOF offre un riferimento e una descrizione funzionale dei processi eseguiti dai<br />

team operativi per la gestione e la manutenzione dei servizi IT.<br />

Il suo presupposto è che la principale responsabilità dei team operativi sia la gestione dei<br />

cambiamenti nell'ambiente IT. Il modo più efficiente per gestire le modifiche nell'intero ciclo di<br />

vita di un servizio è raggruppare le modifiche correlate in un pacchetto denominato release, in<br />

modo da poter pianificare e gestire le modifiche come un singolo elemento. Il process model MOF<br />

descrive un ciclo di vita che può essere applicato a qualsiasi release, insieme ai processi e alle<br />

attività che compongono ogni fase di tale ciclo di vita.<br />

5.3.2.1.2.2. Principi fondamentali<br />

Il process model MOF è basato su quattro principi:<br />

o<br />

o<br />

o<br />

Architettura strutturata. Il process model MOF organizza tutte le attività operative<br />

necessarie per i sistemi di elaborazione mission-critical negli ambienti IT complessi.<br />

Rapidità del ciclo di vita e costante miglioramento. MOF supporta un ciclo di vita IT<br />

iterativo, che permette di valutare e implementare rapidamente le modifiche<br />

per rispondere all'evoluzione delle esigenze di business.<br />

Gestione basata sulle verifiche. In base al process model, sono necessarie verifiche OMR<br />

(Operations Management Review) nelle fasi chiave del ciclo di vita. Nel corso di queste<br />

verifiche, il team e i principali interessati valutano le prestazioni per le attività relative alle<br />

release e per le attività operative in cui la componente tempo<br />

è fondamentale.<br />

109


o<br />

Gestione dei rischi. Poiché la mancata disponibilità di un servizio IT può avere conseguenze<br />

catastrofiche in termini di costi, MOF offre gli strumenti per una gestione preventiva dei<br />

rischi a tutti i livelli dei processi operativi.<br />

5.3.2.1.2.3. Quadranti per il process model<br />

Il process model MOF descrive un ciclo di vita applicabile alle release di qualsiasi dimensione e<br />

relative a qualsiasi soluzione per i servizi. Il modello raggruppa le funzioni simili di gestione IT,<br />

denominate SMF (Service Management Function), in quattro quadranti. A ogni quadrante<br />

corrisponde una specifica mission del servizio. Benché<br />

la struttura circolare del process model MOF implichi uno svolgimento in sequenza<br />

delle attività di gestione, di fatto in un'organizzazione possono aver luogo contemporaneamente<br />

diverse release, ognuna in una fase differente del ciclo di vita IT. Inoltre, le funzioni SMF descritte<br />

nei quadranti Operating e Support avvengono continuamente e simultaneamente all'interno del<br />

data center. Il diagramma che segue illustra il ciclo di vita di base, inclusi i quattro quadranti e le<br />

quattro verifiche OMR (Operations Management Review).<br />

Figura 5-7 MOF: Il Process Model di MOF [2]<br />

Nella seguente tabella sono riportate le mission del servizio e le verifiche OMR<br />

per ciascun quadrante.<br />

110


Quadrante Mission del servizio Verifica OMR<br />

Changing Introdurre nuovi servizi,<br />

tecnologie, sistemi, applicazioni,<br />

hardware e processi.<br />

La Release Readiness Review concede<br />

l'approvazione per il deployment della<br />

soluzione, una volta completati lo sviluppo<br />

e il testing.<br />

Operating<br />

Eseguire le attività di routine<br />

in modo efficace ed efficiente.<br />

La Operations Review viene svolta<br />

periodicamente per valutare la capacità<br />

dello staff IT di mantenere un determinato<br />

servizio,<br />

soddisfare<br />

i requisiti per il livello di servizio<br />

e documentare la propria esperienza<br />

in una knowledge base.<br />

Supporting Risolvere i problemi ed<br />

elaborare le richieste di<br />

assistenza rapidamente.<br />

La SLA (Service Level Agreement) Review<br />

viene svolta periodicamente per valutare la<br />

capacità dello staff di soddisfare i requisiti<br />

per il livello<br />

di servizio definiti dal Service Level<br />

Agreement.<br />

Optimizing<br />

Orientare le modifiche in modo<br />

da ottimizzare costi, prestazioni,<br />

capacità e disponibilità<br />

nell'erogazione dei servizi IT.<br />

La Change Initiation Review aumenta la<br />

probabilità che i cambiamenti proposti<br />

siano in linea con gli obiettivi di business e i<br />

requisiti operativi.<br />

Tabella 3 Dettagli sui gruppi di ruoli<br />

Due delle verifiche OMR dipendono dalla pianificazione della release. La Change Initiation Review<br />

(in precedenza denominata Release Approved Review) viene completata prima che abbia inizio il<br />

lavoro di sviluppo per una release nuova o aggiornata, mentre la Release Readiness Review viene<br />

eseguita prima del deployment della release nell'ambiente di produzione. La Operations Review e<br />

la SLA Review vengono svolte a intervalli regolari dopo l'introduzione di una release, allo scopo di<br />

valutare le prestazioni e le operazioni interne rispetto ai livelli di servizio per i clienti.<br />

111


Come risultato, il quadrante Operating è quello in cui MOF fornisce la maggior<br />

parte delle specifiche indicazioni per i prodotti e le tecnologie Microsoft. Inoltre, in conseguenza<br />

della grande attenzione dedicata da Microsoft alla gestione IT, numerosi prodotti ora incorporano<br />

caratteristiche e funzionalità direttamente finalizzate a renderli più supportabili, affidabili e<br />

gestibili. Dove possibile, MOF estende le funzioni SMF di base identificate da ITIL con riferimenti<br />

specifici per i prodotti Microsoft e caratteristiche che automatizzano o migliorano l'erogazione di<br />

tali funzioni.<br />

Relazione tra process e team model<br />

I gruppi di ruoli del team model MOF sono allineati con i quattro quadranti del process model MOF,<br />

come illustrato di seguito. Più ruoli possono essere coinvolti in un singolo quadrante e uno stesso<br />

ruolo (come ad esempio Security) può riguardare più quadranti. Il gruppo di ruoli Partner è stato<br />

omesso poiché può essere coinvolto in tutte le fasi del process model.<br />

5.3.2.1.3. La disciplina di risk management MOF<br />

5.3.2.1.3.1. Panoramica<br />

MOF e MSF organizzano le informazioni relative alla gestione dei rischi in un corpus<br />

di conoscenze definito disciplina. La differenza tra discipline e modelli sta nel fatto<br />

che le conoscenze veicolate da una disciplina possono essere applicate a qualsiasi fase<br />

di qualsiasi processo. Le discipline di MOF e MSF per il risk management sono sostanzialmente<br />

identiche, sebbene le descrizioni e gli esempi forniti nella loro presentazione possano variare.<br />

La disciplina di risk management per i processi operativi applica consolidate tecniche<br />

di gestione ai problemi che i team operativi si trovano quotidianamente ad affrontare. Sono<br />

disponibili numerosi modelli, framework e processi per la gestione dei rischi.<br />

Tutti mostrano dei tratti comuni nelle modalità con cui identificano e gestiscono i rischi. Le<br />

discipline di risk management MOF e MSF si rivelano superiori rispetto a questi approcci grazie<br />

all'applicazione di principi chiave, una terminologia personalizzata,<br />

un processo strutturato e ripetibile per l'analisi e la valutazione dei rischi e l'integrazione<br />

in framework operativi di più ampia portata.<br />

112


5.3.2.1.3.2. Principi fondamentali<br />

La disciplina di risk management per i processi operativi è basata sui seguenti principi:<br />

o<br />

o<br />

o<br />

o<br />

o<br />

Valutare continuamente i rischi. Questo significa che il team provvede costantemente<br />

all'identificazione dei nuovi rischi e alla rivalutazione di quelli esistenti.<br />

Integrare la gestione dei rischi in ogni ruolo e funzione. Ad alto livello, questo significa che<br />

ogni ruolo IT condivide parte della responsabilità per la gestione dei rischi e che ogni<br />

processo IT viene progettato tenendo in considerazione la gestione dei rischi.<br />

Trattare in modo positivo l'identificazione dei rischi. Per il successo nella gestione dei rischi,<br />

è necessario che i membri del team possano identificare i rischi senza temere critiche o<br />

"punizioni".<br />

Usare pianificazioni che tengono conto dei rischi. Gestire un ambiente spesso significa<br />

eseguire modifiche in sequenza: quando possibile, il team deve apportare innanzitutto le<br />

modifiche più rischiose per evitare di sprecare tempo e risorse su modifiche che non<br />

possono essere introdotte nell'ambiente di produzione.<br />

Stabilire un approccio formalizzato e condiviso. Per il successo è necessario un processo<br />

che il team comprende e utilizza.<br />

È possibile riassumere questi principi con la parola prevenzione. Un team che mette in atto una<br />

gestione preventiva dei rischi riconosce che il rischio è parte dei normali processi operativi e,<br />

invece di temerlo, lo vede come un'opportunità per aumentare la sicurezza<br />

in futuro. I membri del team dimostrano un atteggiamento preventivo adottando un processo<br />

visibile, misurabile, ripetibile e continuo per la valutazione obiettiva di rischi<br />

e opportunità, oltre che intraprendendo azioni che risolvono non solo i sintomi, ma anche le cause<br />

dei rischi.<br />

5.3.2.1.3.3. Processo di gestione dei rischi<br />

Il seguente diagramma illustra le fasi che compongono il processo di gestione dei rischi (risk<br />

management process): identificare, analizzare, pianificare, registrare, controllare e apprendere. È<br />

importante comprendere che ogni rischio attraversa tutte queste fasi in almeno un'occasione e<br />

spesso più volte. Ogni rischio, inoltre, ha una sua tempistica, per cui in un determinato momento<br />

diversi rischi possono trovarsi in ognuna di queste fasi.<br />

113


Figura 5-8 Il processo di gestione dei rischi [2]<br />

Le sei fasi conducono i responsabili della gestione dei rischi e i membri del team attraverso un<br />

processo che permette di identificare il rischio, stabilirne il potenziale impatto e pianificare una<br />

soluzione in modo preventivo. Le altre fasi del processo permettono alle organizzazioni di tenere<br />

traccia dei rischi in tutto il ciclo di vita IT, controllare quelli che si verificano e apprendere dalla<br />

propria esperienza.<br />

114


APPENDICE<br />

1. Manuale per la procedura di deployment<br />

1.1. Cenni Preliminari<br />

La procedura descritta nei capitoli seguenti descrive i vari passaggi necessari per la installazione<br />

della soluzione di e-government sviluppata da Microsoft Services definita “Posta Certificata”.<br />

Prima di passare alla fase implementativa, è necessario chiarire alcuni punti relativi alla<br />

realizzazione della soluzione, a come è stata progettata, e definire alcune best practices nella<br />

conduzione, che sono conseguenti al modo con cui la soluzione è stata disegnata.<br />

1.2. Nomi di Dominio<br />

Nel documento che segue, si fa riferimento a nomi di dominio definiti “dominio.org”,<br />

“certificata.dominio.org” e “normale.dominio.org”: si sono utilizzate queste nomenclature per<br />

definire un generico nome di dominio.<br />

Al momento dell’implementazione della soluzione in un laboratorio è consigliato l’utilizzo di<br />

questa nomenclatura. Quando la soluzione verrà invece implementata in un ambiente di<br />

produzione, questi nomi dovranno essere sostituiti con i nomi opportuni, decisi in fase di progetto<br />

di implementazione.<br />

1.3. Certificati<br />

Nel KIT di distribuzione della PEC c’è una cartella contentente due certificati (un certificato ROOT e<br />

un certificato di firma digitale rilasciato all’utente posta-certificata@certificata.dominio.org. Si<br />

tratta di due certificati di prova che possono essere utilizzati per testare l’ambiente della soluzione<br />

in un ambiente di laboratorio. In un ambiente di produzione, sarà necessario utilizzare due<br />

certificati rilasciati appositamente da una Certification Authority riconosciuta e autorizzata a<br />

rilasciare certificati di firma digitale.<br />

1.4. Infrastruttura<br />

L’infrastruttura descritta e il conseguente numero di macchine descritte è tagliato per una<br />

implementazione in ASP della Posta Certificata in alta affidabilità. In un ambiente di laboratorio<br />

l’infrastruttura può essere ridotta a 1 domain controller/Global Catalog/SqlServer2000, 1<br />

Exchange di FE e 1 Exchange di BE ( eventualmente in modalità cluster, a 2 nodi ).<br />

1.5. Utilizzo di MAPI vs SMTP<br />

La soluzione prevede l’impiego esclusivamente di client che usano SMTP-POP3S/IMAPS-HTTPS, in<br />

115


quanto le specifiche, dettate dall’allegato tecnico del decreto che istituisce la Posta Certificata<br />

definiscono questi protocolli come gli unici in grado di poter essere utilizzati. Il problema non è<br />

tecnico quanto normativo: il fatto che sia possibile utilizzare un client MAPI per spedire/ricevere<br />

posta certificata non implica che sia normativamente corretto.<br />

1.6. SQL Server e ORACLE<br />

La soluzione disegnata da Microsoft prevede l’impiego di un DB relazionale posizionato su un<br />

Microsoft SQL Server. E’ opportuno chiarire che la soluzione non prevede la sostituzione di questo<br />

componente con DB server di altri fornitori, come Oracle o IBM DB2.<br />

1.7. ANTIVIRUS<br />

Se il mittente invia una mail virata ed il gestore mittente la rileva allora viene generata una<br />

Ricevuta di NON Accettazione per Virus. Se il mittente invia una mail virata ed il gestore mittente<br />

NON se ne accorge ma se ne accorge il gestore Destinatario allora il gestore reimbusta la mail in<br />

una BDS, conservandola per 30 mesi, e manda un avviso di non accettazione al gestore mittente<br />

(nella presa-in-carico) oltre alla ricevuta di presa in carico ( che viene inviata come notifica di mail<br />

ricevuta ) quindi il gestore mittente manda una ricevuta di mancata consegna per virus. Se il<br />

mittente invia una mail virata ed il gestore mittente NON se ne accorge e non se ne accorge<br />

neanche il gestore Destinatario, allora la responsabilità è demandata all'utente finale.<br />

1.8. Versioni del software, Patch e Service pack.<br />

L’attuale versione di posta Certificata è stata disegnata per girare su:<br />

Windows 2003 Enterprise Service Pack 1<br />

Exchange 2003 Enterprise Service Pack 1<br />

SQL Server 2000 Enterprise Service Pack 4<br />

<br />

Sybari Antigen for Exchange v. 8.00.1517 SR3<br />

CAPICOM versione 2.0.0.3<br />

.NET Framework 1.1 (già presente sulla versione di Windows 2003)<br />

La procedura di Posta Certificata NON E’ certificata per girare su sistemi con configurazioni diverse<br />

da questa. Una versione di service pack o una hotfix in più oltre a quanto descritto potrebbe<br />

invalidare il sistema. Il regression test che abilita l’inserimento di una hotfix o di una service pack<br />

deve essere svolto dal supporto tecnico Microsoft.<br />

116


1.9. Descrizione di massima dell’infrastruttura<br />

Lo schema della infrastruttura del sistema di Posta Certificata è il seguente:<br />

Internet<br />

1 – Database Log<br />

1 – SMTP Filter<br />

2 – SMTP Verify<br />

3 – SMTP Sink<br />

4 – Capicom, EMCSign<br />

5 - VS1Auth Filtro Message-ID<br />

6 - VS2Anon Filtro VerifySign<br />

7 – GAC DLLs ( emcconfig,<br />

interop.adodb, interop.cdo, utility )<br />

AD/GC/SQL<br />

FE - Exch2003<br />

BE - Exch2003<br />

Cluster<br />

1 – Storage Filter Sync ( COM+ )<br />

2 – ServicesPECBackendStorageBDS ( COM+ )<br />

3 – Capicom, EMCSign<br />

4 – GAC DLLs ( emcconfig, interop.adodb,<br />

introp.cdo, utility, interop.cdoexm )<br />

5 – PEC.Agent<br />

( Exchange SDK (6/2K2) )<br />

Figura 1-1 Schema dell’infrastruttura<br />

In sintesi, si tratta di un sistema basato su Windows 2003 ed Exchange 2003. Gli utenti sono<br />

memorizzati in un active directory contenuto nei due Global Catalog.<br />

Sui server di Front-End, che sono dual-homed e dal lato esposto verso Internet bilanciati<br />

via Local Director, viene installato Windows 2003 Enterprise ed Exchange2003 Enterprise<br />

117


Edition. Su questo vengono istanziati i due filtri di FrontEnd (il filtro per il cambio del<br />

Message-ID e il filtro che svolge i ruoli di PDA e di PDR)<br />

I due server di Back End sono in cluster MSCS, con due virtual server definiti: il primo,<br />

Exchange2003+SP1 sui cui si istanzia il filtro che svolge i ruoli di PDA/PDR/PDC, e il<br />

secondo, SQL2000, su cui vengono appoggiati i dati transienti di logging.<br />

I client sono esclusivamente SMTP/POP3/IMAP4 su canale SSL con autenticazione obbligatoria<br />

anche su SMTP e devono essere attestati sui server di Front-End.<br />

Se i client vengono dal lato esposto dei firewall, dovranno avere impostato come server SMTP e<br />

server POP3/IMAP4 l’indirizzo bilanciato.<br />

1.10. Procedura di installazione infrastruttura<br />

1.10.1. Installazione sistemi operativi e software di base<br />

Installare il Domain Controller con Windows 2003 Server Enterprise Edition ( e passare la<br />

Service Pack 1 se non integrata ).<br />

Effettuare la DCPROMO, e installare il dominio ActiveDirectory (es. contoso.local )<br />

Installare SQL Server 2000 e passare la SP4 di SQL2000.<br />

Installare il / i server di Front End con Windows 2003 Enterprise Edition ( passare la<br />

ServicePack1 di W2003 se non integrata ).<br />

Iniziare l’installazione di Exchange sulle macchine di FE effettuando l’estensione dello schema<br />

di AD tramite FORESTPREP e DOMAINPREP.<br />

Successivamente installare Exchange 2003 Enterprise Edition sui server di FrontEnd e passare<br />

la SP1 di Exchange.<br />

Impostare i server di FrontEnd in modalità “Exchange FRONT-END” e verificare il corretto<br />

funzionamento.<br />

Installare il / i server di BackEnd con Windows2003 (passare la ServicePack 1 se non<br />

integrata ) e configurare eventuali cluster.<br />

Se si sta installando Exchange su cluster, creare la risorsa Distributed Transaction<br />

Coordinator, necessaria per la corretta installazione di Exchange 2003 in modalità cluster (<br />

fare comunque riferimento alla procedura dettagliata di installazione e configurazioni di un<br />

cluster Exchange, trascurata in questa sede )<br />

Installare Exchange 2003 Enterprise Edition su i 2 nodi del cluster di BackEnd (BE) e passare<br />

la SP1 di Exchange su entrambi i nodi.<br />

Installare Antigen for Exchange v. 8.00.1517 SR3 della Sybari su ogni server Exchange ( nel<br />

caso del cluster su entrambi i nodi ).<br />

118


Per istanziare l’Application Scan Job su Frontend e Backend, indispensabile per il corretto<br />

funzionamento della PEC, è necessario sovrascrivere il file license.cfg presente nella cartella di<br />

installazione del programma con quello fornito nel package PEC ed eseguire il comando<br />

“AntigenStarter l” ( L minuscola ) da linea di comando.<br />

Successivamente dal client di Antigen disabilitare tutti i Job tranne l’Application Scan Job, sia<br />

su BE che su FE. Se non ancora abilitato, occorre abilitare l’Application Scan Job scegliendo<br />

dal pannello di sinistra la voce OPERATE e successivamente l’opzione RUN JOB.<br />

Abilitare il Virus Scanning, il File Filtering ed il Content Filtering. Svolte queste operazioni la<br />

corretta schermata di configurazione che dobbiamo visualizzare è la seguente.<br />

Figura 1-2 Schermata di configurazione di Antigen<br />

119


Dopo aver effettuato l’abilitazione dello “Application Scan Job”, è fondamentale effettuare la<br />

configurazione per l’aggiornamento automatico dei motori di ricerca di Antigen, quali: Norman,<br />

Sophos, CA Inoculate, Ca Vet e Sybari Worm List.<br />

Figura 1-3 Schermata di configurazione degli engine di scanning di Antigen<br />

L’aggiornamento in automatico dei 5 motori di ricerca di Antigen è configurabile semplicemente<br />

abilitando la voce “Use Proxy Server” e successivamente specificando quale è il server Proxy da<br />

utilizzare tramite l’opzione “Proxy Setting”. Il campo Network Update Path è impostato<br />

correttamente di default. Tramite l’utilizzo del calendario riportato in basso a sinistra è possibile<br />

decidere con quale cadenza effettuare controlli per nuovi aggiornamenti.<br />

120


Dall’ActiveDirectory Domains & Trusts, dalle proprietà di “ActiveDirectory Domains & Trusts”,<br />

creare due suffissi alternativi UPN per posta normale e per posta certificata (es.<br />

“contoso.com” e “pec.contoso.com”)<br />

Dall’active Directory Users and Computer, creare due OU, una per posta NORMALE e una per<br />

posta CERTIFICATA<br />

Creare utenti in OU NORMALE (suffisso UPN: contoso.com ) e in OU CERTIFICATA (suffisso<br />

UPN: pec.contoso.com)<br />

Creare utente in CERTIFICATA chiamato “posta-certificata” con suffisso UPN pec.contoso.com;<br />

Creare un utente in CERTIFICATA chiamato "presa-in-carico" con suffisso UPN<br />

pec.contoso.com;<br />

Dall’Exchange System Manager creare una Recipient Policy per NORMALE, con una query che<br />

seleziona gli utenti che hanno una mailbox con Logon Name “ends with” “@contoso.local”.<br />

Inserire un ulteriore indirizzo SMTP, da rendere primario, con indirizzo “@contoso.com”<br />

Dall’Exchange System Manager creare una Recipient Policy per CERTIFICATA, con una query<br />

che seleziona gli utenti che hanno una mailbox con Logon Name “ends with”<br />

“@pec.contoso.com”. Inserire un ulteriore indirizzo SMTP, da rendere primario, con indirizzo<br />

“@pec.contoso.com”<br />

Effettuare il rebuild e l’update delle due recipient policy.<br />

Verificare che gli utenti abbiano gli indirizzi di email aggiornati.<br />

Nella OU Users creare un utente amministrativo “ExAdmin”, privo di mailbox, e renderlo<br />

membro dei gruppi Domain Admins, Domain Users, Exchange Domain Servers. Tale utente<br />

deve essere inserito nelle permission della SystemMailbox di riferimento del Back-End ( la<br />

SystemMailbox ha la funzione di gestire l’applicazione di PEC e ogni operazione sul server da<br />

origine ad un evento sincrono che di solito genera uno scambio di email ).<br />

Sotto Active Directory Users And Computers, dopo aver abilitato View -> Advanced Features,<br />

in Microsoft Exchange System Object visualizzare le proprietà della SystemMailbox{id}del<br />

backend: nel tab “Exchange Advanced” selezionare Mailbox Rights e aggiugere l’utente<br />

ExAdmin attivandone i grant “full mailbox access”, “Take Ownership”, “Change Permissions”,<br />

“Read permissions”, “Delete Mailbox Storage”. Nel tab “Security” aggiugere l’utente ExAdmin<br />

e attivarne il grant “full control”. Effettuare l’apply delle modifiche.<br />

1.10.2. Certificati di root e per Posta-Certificata<br />

In un ambiente in produzione, è importante che il certificato con cui i server di Posta Certificata<br />

firmano i messaggi e le ricevute, sia un certificato con valenza legale, e quindi acquistato presso<br />

121


uno dei provider autorizzati e previsti dalla legislazione Italiana.<br />

In un laboratorio o in una fase sperimentale, invece, è possibile utilizzare dei certificati rilasciati<br />

da una CA anche realizzata sulla propria infrastruttura. Qualora nel laboratorio si fosse usata la<br />

nomenclatura di domini definita in questo documento, è possibile usare i due certificati presenti<br />

nel kit di installazione, nella directory \certificati.<br />

La procedura descritta in questo paragrafo, invece, descrive come installare una CA e farsi<br />

rilasciare i certificati di tipo corretto per l’applicazione.<br />

<br />

<br />

<br />

Installare un Certificate Server di tipo Enterprise su uno dei Global Catalog / Domain<br />

Controller.<br />

Aggiungere il template Exchange User ai templates della CA:<br />

Dallo strumento Certification Authority di Administrative Tools, aprire lo snap-in<br />

Certificate Authority.<br />

Cliccare su <br />

Cliccare su Certificate Templates<br />

Con il tasto destro, accedere al menu “new”<br />

Selezionare “New” -> “Certificate Template to Issue”<br />

Selezionare Exchange User<br />

Chiudere l’MMC<br />

Creare e registrare il certificato per la firma delle mail:<br />

Il Certificato va creato una volta e registrato su ogni macchina ( FE / BE )<br />

dell’infrastruttura di Posta Certificata.<br />

Da una delle macchine Exchange, aprire Internet Explorer e inserire l’indirizzo:<br />

“http://[Netbios name della Certification Authority]/certsrv”<br />

Selezionare “Request a certificate” e premere NEXT<br />

Selezionare “Advanced request” e premere NEXT<br />

Selezionare “Create and submit a request to this CA” e premere NEXT<br />

Selezionare come Certificate Template: “Exchange User” e compilare il form,<br />

specificando come indirizzo di mail:<br />

“posta-certificata@”<br />

Spuntare “Mark keys as exportable”, “Store certificate in the local computer certificate<br />

store” e sotto Additional Options “PKCS10”. Cliccare SUBMIT.<br />

Premere “Install this certificate”.<br />

A questo punto è necessario aprire una MMC ed inserire gli SNAP-IN relativi alla<br />

122


gestione dei Certificati. Aggiungere lo snap-in “Certificates” per “My User Account” e<br />

“Computer Account (Local Machine)”.<br />

Salvare l’MMC sul Desktop per future referenze.<br />

Nella MMC, ricercare il certificato appena installato. Può trovarsi sia in<br />

LocalComputer/Personal/Certificates che in Current User/Personal/Certificates.<br />

Identificatolo, cliccare il pulsante dx del mouse e selezionare All Tasks -> Export.<br />

Seguire il Wizard di esportazione specificando “Yes, Export The Private Key”, spuntare<br />

solo “Include all certificates in the certification path if possibile”, impostare una<br />

password per l’importazione del certificato e impostare un nome di file (per semplicità<br />

salvarlo in una zona condivisa, es. “\\[Netbios name del domain controller]\sysvol”di<br />

modo che anche dalle altre macchine si possa importare il certificato).<br />

Installare il certificato su TUTTE e SOLO le altre macchine Exchange :<br />

Accedere alla zona condivisa “\\[Netbios name del domain controller]\sysvol”<br />

Fare doppio click sul file .pfx contenente il certificato.<br />

Inserire la password precedentemente stabilita e lasciare vuote le caselle di<br />

spunta<br />

Selezionare “Automatically select the certificate store based on the type of<br />

certificate”.<br />

Una finestra pop-up avviserà del buon esito dell’operazione.<br />

1.10.3. Doppi Virtual Server SMTP sui Front End<br />

L’allegato tecnico del Decreto della Posta Certificata, descrivente le specifiche, prevede che la<br />

comunicazione tra il client di posta elettronica ed il server SMTP, che ha funzioni di PDA, avvenga<br />

tramite comunicazione TSL/SSL e facendo uso di SMTP autenticati. La procedura descritta nel<br />

presente paragrafo descrive le operazioni da effettuare per la corretta impostazione di un secondo<br />

virtual server SMTP anonimo, da utilizzarsi per le comunicazioni Server-to-Server, e di un SMTP<br />

autenticato.<br />

<br />

Aggiunta di un IP da abbinare al secondo SMTP Virtuale<br />

Aggiungere un secondo NIC ( Network Adapter Interface ) a cui assegnare un secondo<br />

indirizzo ip per la comunicazione di tipo anonymous ( ad esempio, se il primo NIC<br />

aveva ip 192.168.150.7, assegnare al secondo NIC ip 192.168.150.8 ).<br />

123


Creazione & configurazione di 2 SMTP diversi per le 2 diverse comunicazioni (autenticata e<br />

anonima). [ NOTA : gli attuali script di installazione della PEC si riferiscono ai VS Smtp in base<br />

alla loro cardinalità: il primo VS Smtp ( quello istanziato di default ), che si chiama<br />

SmtpSvc11, è mappato nell’infrastruttura come Smtp Anonymous, il secondo VS Smtp ( quello<br />

creato ) è mappato nell’infrastruttura come Smtp Authenticated ] :<br />

<br />

Sotto Exchange System Manager Protocols SMTP rinominare il virtual server<br />

esistente ( VS1 ) in “Auth SMTP” e impostare l’IP address di ascolto sul primo indirizzo<br />

pubblico ( es. 192.168.150.7 ). Nella cartella “Access” “Authentication” controllare<br />

che siano selezionati “Basic Authentication” con il nome netbios di dominio e<br />

“Integrated Authentication”.<br />

Abilitazione della connessione HTTPS obbligatoria su Auth SMTP :<br />

<br />

<br />

Fare click dx sul VS properties spostarsi nel tab ACCESS click sx su<br />

“certificate” create a new certificate scegliere se inviare la richiesta<br />

immediatamente o se limitarsi a prepararla per inviarla in seguito <br />

scegliere il nome del certificato (es. SSL ) proseguire lasciando le<br />

impostazioni di default ove presenti e fornendo quelle assenti relative<br />

all’organizzazione il certificato è ora generato e installato. Può essere<br />

usato anche dagli altri VS che richiedono una connessione HTTPS<br />

Dal tab ACCESS delle properties del VS Auth fare click sx su<br />

COMMUNICATION e spuntare “require secure channel” e “require 128-bit<br />

encryption” .<br />

Nel Tab. “Delivery” Advanced inserire nello “smart host” l’indirizzo IP fra<br />

parentesi quadre o il nome DNS del BACK-END.<br />

<br />

Sotto Exchange System Manager Protocols SMTP, creare un 2ndo virtual server<br />

SMTP e rinominarlo in “Anon SMTP” e selezionare l’ip di ascolto sul 2ndo ip disponibile,<br />

associato alla 2nda scheda di rete ( es. 192.168.150.8 ). Nella cartella ACCESS <br />

Authentication controllare che sia selezionato SOLO l’anonymous authentication. Nel<br />

1 per verificarne il nome è sufficiente cliccare il pulsante dx del mouse sul VS properties spuntare “enable logging” <br />

click sx su properties in basso nella finestra appena visualizzata è possibile leggere l’effettivo nome del VS nel campo<br />

“Log File Name”.<br />

124


caso in cui sia presente un relay server per indirizzare le mail verso l’esterno inserire<br />

nel tab Delivery Advanced, sotto il campo SMARTHOST, il nome DNS o l’indirizzo IP<br />

tra parentesi quadre del RELAY SERVER verso l’esterno.<br />

Configurazione di IIS ( necessario per l’accesso su HTTPS da OWA )<br />

Start Administrative Tools IIS Sotto Web Sites Default Web Site click<br />

pulsante DX properties.<br />

Sotto il tab DIRECTORY SECURITY Secure Communications fare click sx su SERVER<br />

CERTIFICATE selezionare ASSIGN EXISTING CERTIFICATE e passargli il certificate<br />

precedentemente creato confermare come porta SLL la 443.<br />

Sotto DIRECTORY SECURITY Security Communications click sx su EDIT <br />

spuntare REQUIRE SECURE CHANNEL e REQUIRE 128-bit CONNECTION Cliccare<br />

APPLY e alla richiesta di applicazione dell’inheritance sui child nodes di Default Web<br />

Site selezionare tutti i child nodes, a meno di impostazioni specifiche.<br />

Sotto DIRECTORY SECURITY Authentication and access control fare click sx su<br />

EDIT e spuntare BASIC AUTHENTICATION.<br />

Sotto Web Sites Default Web Site Exchange fare click DX properties <br />

DIRECTORY SECURITY authentication and access control click su EDIT e<br />

disabilitare ANONYMOUS ACCESS.<br />

125


Lo schema seguente descrive in modo schematico i virtual server che vengono istanziati su<br />

FrontEnd e su BackEnd.<br />

Figura 1-4 Doppi Virtual Server SMTP<br />

Per far si che funzioni il flusso, è importante che vengano impostati gli smarthost. Verificare che :<br />

<br />

Sui VS AuthSMTP di FE, lo smarthost punti al VS del BE.<br />

<br />

Sui VS AnonSMTP dei FE, lo smarthost punti al relay SMTP server che invia posta verso<br />

la rete pubblica, se presente.<br />

<br />

Nel caso in cui i server di FE siano più di uno è necessario creare un SMTP<br />

Connector impostando come gateway d’uscita il nome DNS o l’IP del Relay<br />

verso l’esterno e come server legati a questo connettore i VS anonimi creati.<br />

126


1.10.4. Modifica dei file di configurazione<br />

I file di configurazione da modificare manualmente necessari per l’installazione della PEC sono i<br />

seguenti ( tra parentesi, dopo il nome del file, è indicato il percorso relativo dalla root del package<br />

ove è possibile reperire il file ) :<br />

CertificateDomains.xml (\certificatedomains\):<br />

Inserire le seguenti informazioni :<br />

Domain name = il nome del dominio certificate<br />

Certificate = il certificato con si firma quel dominio<br />

Provider name =<br />

mailReceipt =<br />

providerCertificateThumprint = inserire il campo “Thumbprint” dal tab “Details” della<br />

visualizzazione estesa del certificato ( doppio click sullo stesso ) senza spazi.<br />

verifyCLR = revocation list<br />

msgIdSuffix = quale deve essere il dominio inserito dopo posta-certificata@<br />

private = se quel dominio può interoperare con altri domini certificati o solo col suo<br />

gestore<br />

maxDim =<br />

Il file deve essere lo stesso su ogni macchina !!!<br />

Configfile.reg ( BackEND ) ( \config\):<br />

Contiene il percorso del file principale di configurazione:<br />

<br />

<br />

Aggiornare i percorsi di installazione della PEC<br />

Registrarlo effettuando un doppio click sul file .reg<br />

Nel caso di un cluster di BE il file deve essere lo stesso su entrambi i nodi !!!<br />

Configfile.reg ( FrontEND ) ( \config\):<br />

Contiene il percorso del file principale di configurazione:<br />

<br />

<br />

<br />

Aggiornare i percorsi di installazione della PEC<br />

editarlo inserire il path corretto per la directory della posta certificata e<br />

inserire il numero in “MessageIDPrefix” del FE in oggetto; si ricordi che il<br />

numero deve essere unico per ogni FE.(nel caso del primo FE il numero sarà 0 e<br />

poi a salire….)<br />

e registrarlo effettuando un doppio click sul file .reg<br />

127


Nel file EMCConfig.xml ( \config\) settare:<br />

il Trace Level ( 1 = default; 2 = warning; 3=critical; 4=verbose ) settare 1 in<br />

ambienti di produzione a sistema collaudato e funzionante, 4 in ambiente di<br />

testing & deployment.<br />

???Dumpemail = inserire l’indirizzo di posta elettronica dello user che riceverà<br />

eventuali mail di dump del sistema ( CREARE UTENTE PER RICEVERE TALI MAIL<br />

)<br />

il nome ed il percorso del file delle tracce;<br />

il percorso del file CertificateDomains.xml;<br />

Sia nella sezione che nella sezione compilare il<br />

campo con l’indirizzo le configurazioni di sicurezza dello SMTP<br />

Anonimo a cui sono spedite le ricevute in uscita (ad esempio: ) e inserire il percorso locale alla directory di pickup<br />

( o il percorso alla directory di pickup, al disco condiviso nel caso di un cluster )<br />

inserire il percorso corretto per la directory BackupBDS (attributo<br />

dumpemail)<br />

la connectionstring per il collegamento al DB per i log (ip di sqlserver, login e<br />

password)<br />

il nome del gestore emittente ( es. MSFT )<br />

la/e email a cui saranno indirizzate le email di DUMP ( attributo DumpEMAil )<br />

Nel file setvars.cmd di BE ( \ ) settare:<br />

dominio\username e password dell’utente ExAdmin<br />

Path del pacchetto PEC e del .NET Framework<br />

Il guidstore della systemmailbox del server di backend ( ricavare il GUID della<br />

SystemMailbox del server Exchange di BE da Active Directory Users &<br />

Computers: dopo aver abilitato View -> Advanced Features verificare quale<br />

SystemMailbox tra quelle presenti in Exchange System Objects è quella del<br />

server di BE. Copiare solo l’identificativo numerico del GUID e incollarlo nel file.<br />

Nel file setvars.cmd di FE ( \ ) settare:<br />

<br />

Path del pacchetto PEC e del .NET Framework<br />

128


Nei file regevent.cmd e deregevent.cmd di BE ( \BE\Register\ ) settare:<br />

<br />

Aggiornare il nome del server / cluster Exchange di BE con il suo attuale nome<br />

netbios.<br />

Aggiornare il percorso cui fanno riferimento i file register.cmd e unregister.cmd presenti nella<br />

cartella \Microsoft.Services.PEC\<br />

Aggiornare eventuali percorsi obsoleti nei file registerall.cmd e unregisterall.cmd<br />

1.10.5. Installazione Applicativa<br />

1.10.5.1. Exchange BackEnd<br />

NOTA: durante l’installazione su cluster assicurarsi che le risorse appartengano al nodo sul quale<br />

si sta effettuando l’installazione.<br />

<br />

Scompattare il file Zip sotto il disco locale, se possibile in D:\Posta Certificata verranno create<br />

le sottocartelle :<br />

o D:\PostaCertificata\BE<br />

o D:\PostaCertificata\COM<br />

o D:\PostaCertificata\TraceLog<br />

o D:\PostaCertificata\Config<br />

o D:\PostaCertificata\PerfCountSetup<br />

o D:\ PostaCertificata\BackupBDS<br />

o D:\ PostaCertificata\CertificateDomains<br />

o D:\ PostaCertificata\PecAntivirus<br />

o D:\ PostaCertificata\ServicePECBackEndStorageBds<br />

o ….<br />

<br />

Sulla macchina/nodo di BE, effettuare il Logout e riaccedere come EXADMIN<br />

Aggiungere le informazioni del file configfile.reg al registro ( pulsante Dx sul file merge )<br />

129


Lanciare il file RegisterAll.cmd<br />

<br />

<br />

Alla comparsa della finestra che richiede l’inserimento di un account per l’esecuzione del<br />

servizio di sistema “Microsoft Services PEC Agent”, fornire le credenziali dello user EXADMIN.<br />

Verificare che il file di log ( presente in D:\ secondo impostazioni di default ) non contenga<br />

errori.<br />

Per completezza si descrivono in seguito le azioni effettuate dal file di comandi RegisterAll.cmd<br />

come se si dovessero effettuare manualmente:<br />

<br />

<br />

<br />

Registrare il filtro in interop lanciando lo script regasm.cmd da dentro la cartella<br />

D:\PostaCertificata\BE<br />

Effettuare la registrazione della EMCsign.dll contenuta nella cartella D:\PostaCertificata\COM<br />

con il comando REGSVR32 EMCSIGN.DLL<br />

Registrare il filtro di BE sotto COM+:<br />

Creare un package COM+ di tipo server chiamato "Posta Certificata"<br />

Settarne l’identity con l’utente amministrativo ExAdmin;<br />

Trascinare la type library del filtro di BE ("Storage Filter Sync.tlb") contenuta<br />

all’interno della cartella D:\PostaCertificata\BE sotto il package<br />

Registrare il filtro di BE sotto Exchange, utilizzando come autenticazione l’account<br />

amministrativo ExAdmin e verificando che le risorse di cluster siano attive sul nodo corrente :<br />

<br />

Installare l’Exchange SDK Tools di June 2002 (contenuto nel Kit)<br />

<br />

<br />

Lanciare l’Exchange Explorer ed effettuare il browse dello store alla URL della<br />

System mailbox: http://localhost/Exchange/SystemMailbox{}/. ( Il<br />

nome esteso della SystemMailbox può essere ottenuto da Microsoft Exchange<br />

System Obejcts di Active Directory Users And Computers dopo avere abilitato le<br />

Advanced Features ).<br />

Espandere i GlobalEvents degli StoreEvents e aggiungere una Event Registration<br />

sotto gli Items, seguendo il Wizard.. Chiamarla con un nome a piacere;<br />

selezionare l’evento sincrono sull’OnSyncSave; settare scope Any; e selezionare<br />

130


come COM+ event sync “Storage_Filter_Sync.CSink”.<br />

<br />

Registrare il servizio di archiviazione delle email virate sotto COM+:<br />

Creare un package COM+ di tipo server chiamato "Posta Certificata Helper BDS"<br />

Settarne l’identity con l’utente amministrativo ExAdmin;<br />

Disabilitare la voce “Enforce access checks….”;<br />

Trascinare la type library del filtro di BE ("ServicesPECBackEndStorageBds.tlb")<br />

contenuta all’interno della cartella<br />

D:\PostaCertificata\ ServicesPECBackEndStorageBds sotto il package<br />

<br />

Dalla cartella D:\PostaCertificata\PerfCountSetup, eseguire il comando PERFCOUNTSETUP /Cb<br />

(è possibile ottenerle un help del comando chiamandolo senza parametri)<br />

<br />

Istallare nella GAC i file: EMCConfig.dll, Interop.ADODB.dll, Interop.CDO.dll, utility.dll<br />

<br />

Effettuare un restart dell’Internet Information Server con IISRESET –STOP seguito da un<br />

IISRESET – START o in alternativa un restart del server FE.<br />

1.10.5.2. Exchange FrontEnd<br />

Copiarsi il file Zip sotto il disco locale(a seconda dei dischi fisici presenti, se possibile D)<br />

PostaCertificataFE e scompattarlo; verrà creata la cartella D:\PostaCertificata e le sotto<br />

cartelle :<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

o<br />

D:\PostaCertificata\FE<br />

D:\PostaCertificata\Message-ID<br />

D:\PostaCertificata\Components<br />

D:\PostaCertificata\TraceLog<br />

D:\PostaCertificata\Config<br />

D:\PostaCertificata\SMTPVerify<br />

D:\PostaCertificata\PerfCountSetup<br />

D:\ PostaCertificata\BackupBDS<br />

D:\ PostaCertificata\CertificateDomains<br />

131


o<br />

o<br />

o<br />

D:\ PostaCertificata\PecAntivirus<br />

D:\ PostaCertificata\ServicePECBackEndStorageBds<br />

…<br />

<br />

Verificare che le path indicate nel file setvars.cmd siano corrette in relazione all’istallazione<br />

<br />

Modificare il file batch regsink.bat nella cartella D:\PostaCertificata\SMTPVerify\Register<br />

sostituendo al “valore” /add 1 il numero della istanza di SMTP di tipo Anonymous Virtual<br />

Server del FE, se differente.<br />

<br />

Modificare il file batch regsink.bat nella cartella D:\PostaCertificata\Message-ID\Register<br />

sostituendo al “valore” /add 2 il numero della istanza di SMTP di tipo Authenticated Virtual<br />

Server del FE, se differente.<br />

<br />

Lanciare il file RegisterAll.cmd2<br />

Registrare il proxy di salvataggio Email virate sotto COM+:<br />

<br />

<br />

<br />

Tasto destro del mouse su COM+ Application<br />

Attivare New\Application<br />

Selezionare il file proxy.MSI<br />

<br />

Effettuare un restart di IIS con IISRESET /STOP seguito da un IISRESET /START.<br />

2 Il file RegisterAll.cmd, presente nella root del package, differisce tra Front-End e Back-End. Devono<br />

essere, quindi, modificati tutti i riferimenti relativi alle directory d’installazione, rispettivamente, di:<br />

Sistema Operativo, Applicativo PEC o Exchange, se essi non risultano secondo standard e quindi<br />

sotto:<br />

- C:\Win2k3 (Sistema operativo)<br />

- D:\Exchsrvr (Exchange 2003)<br />

- D:\Posta certificata (applicativo PEC)<br />

…e qualsivoglia altro prodotto investito per il corretto funzionamento dell’ambiente.<br />

132


Per completezza si descrivono nel seguito le azioni effettuate dal file di comandi RegisterAll.cmd<br />

come se si dovessero effettuare manualmente<br />

<br />

Registrare il filtro in interop lanciando lo script regasm.cmd da dentro la cartella<br />

D:\PostaCertificata\FE\Bin<br />

Effettuare la registrazione della EMCsign.dll contenuta nella cartella<br />

D:\PostaCertificata\Components con il comando REGSVR32 EMCSIGN.DLL<br />

Lanciare i batch “registerVSC1.bat” e “registerVSC2.bat” contenuti nella cartella<br />

D:\PostaCertificata\FE\Register; questi registrano i filtri della posta certificata sui servizi SMTP<br />

anonynous e authenticated.<br />

Effettuare la registrazione della SMTPVerify.dll contenuta nella cartella<br />

D:\PostaCertificata\SMTPVerify con la riga di comando regsvr32 SMTPVerify.dll<br />

<br />

Modificare il file batch regsink.bat nella cartella D:\PostaCertificata\SMTPVerify\Register<br />

sostituendo al “valore” /add 1 il numero della istanza di SMTP di tipo Anonymous Virtual<br />

Server del FE (tale valore dovrebbe essere = 2 o viceversa).<br />

<br />

Lanciare il batch regsink.bat per registrare il filtro della verifica della firma per le mail<br />

certificate provenienti dall’esterno sull’Anon. SMTP, tutto ciò dalla cartella<br />

D:\PostaCertificata\SMTPVerify\Register<br />

Effettuare la registrazione della SMTPsink.dll contenuta nella cartella<br />

D:\PostaCertificata\Message-ID con la riga di comando regsvr32 SMTPsink.dll<br />

<br />

Modificare il file batch regsink.bat nella cartella D:\PostaCertificata\Message-ID\Register<br />

sostituendo al “valore” /add 2 il numero della istanza di SMTP di tipo Authenticated Virtual<br />

Server del FE (tale valore dovrebbe essere = 1 o viceversa).<br />

133


Lanciare il batch regsink.bat per registrare il filtro del cambio del messageID sull Authenticated<br />

SMTP, tutto ciò dalla cartella D:\PostaCertificata\Message-ID\Register<br />

<br />

Dalla cartella D:\PostaCertificata\PerfCountSetup, eseguire il comando PERFCOUNTSETUP /Cf<br />

(è possibile ottenerle un help del comando eseguendolo senza parametri)<br />

<br />

Istallare nella GAC i file: EMCConfig.dll, Interop.ADODB.dll, Interop.CDO.dll, utility.dll<br />

<br />

Effettuare un restart dell’Internet Information Server con IISRESET –STOP seguito da un<br />

IISRESET – START o in alternativa un restart del server FE.<br />

1.10.6. Database SQL<br />

<br />

<br />

<br />

Fare il restore del Database di Log della Posta Certificata (la sua connection string è inserita in<br />

tutte le copie del EMCConfig.xml)<br />

Verificare che il PathTarget dell’IDEntity 0 della tabella “Tabcfgreport” sia corretto<br />

Configurare l’agent per la visualizzazione dei report:<br />

Copiare CertifiedMailAgent.exe in un a cartella a piacere di un server a piacere.<br />

Lanciarlo con l’opzione “-setup” per configurarlo<br />

Creare uno shortcut con l’opzione “-viewer” per l’automatica apertura del file file di log<br />

in formato testo<br />

1.10.7. Patch per PEC<br />

Per far funzionare correttamente la WEBmail di OWA con la Posta Certificata, è stato necessario<br />

far sviluppare una patch dai gruppi di sviluppo prodotto di Exchange2000. Ciò è dovuto al fatto<br />

che il client OWA di Exchange2000 non è un client S/MIME compatibile. La patch permette al client<br />

OWA di aggirare la limitazione. La patch è identificata dal supporto Microsoft come<br />

<br />

Exchange 2003 Hotfix (SP1) KB872822<br />

(sui Server di Back-End, per risolvere il problema dello stacco del Filtro SMTP in caso di<br />

Failover in una configurazione attiva/passive del cluster Exchange)<br />

Patch OWA di Exchange 2003 KB883543<br />

(su tutti i Server di Front-End e Back-End, per risolvere il problema della visualizzazione<br />

dell’Outlook Web Access correttamente)<br />

134


Patch OWA per S-MIME di Exchange 2003 KB831464<br />

(su tutti i Server di Front-End e Back-End, per risolvere il problema della visualizzazione del<br />

plug-in per l’invio rie mail firmate e crittografate)<br />

135


5.4. Bibliografia<br />

[1] Microsoft Virtual Server 2005 - Panoramica tecnica<br />

http://www.microsoft.com/italy/windowsserversystem/virtualserver/overview/vs2005tech.<br />

mspx<br />

[2] Microsoft Operations Framework (MOF)<br />

http://www.microsoft.com/italy/technet/itsolutions/mo/mof/default.mspx<br />

[3] Microsoft Solutions Framework<br />

http://www.microsoft.com/technet/itsolutions/msf/default.mspx<br />

[4] Sito Web di Poste Italiane<br />

http://www.posteitaliane.it<br />

[5] Regole tecniche per la formazione, la trasmissione e la validazione della PEC<br />

http://www.cnipa.gov.it/site/_files/DECRETO%202%20novembre%202005.pdf<br />

[6] Le modalità di accreditamento nell'elenco pubblico dei gestori (Circolare Cnipa 49/2005)<br />

http://www.cnipa.gov.it/site/_files/Circolare%20CR_49.pdf<br />

[7] Modello a spirale<br />

http://it.wikipedia.org/wiki/Modello_a_spirale<br />

Articoli ONLINE<br />

Request For Comments<br />

RFC 821 - Simple Mail Transfer Protocol (SMTP), J. Postel<br />

RFC 1847 - Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted , J. Galvin, S.<br />

RFC 1891 - SMTP Service Extension for Delivery Status Notifications, K. Moore, P. Murphy, S.<br />

Crocker, N. Freed<br />

RFC 1912 - Common DNS Operational and Configuration Errors D. Barr<br />

RFC 2045 - Multipurpose Internet Mail Extensions (MIME) - Part 1, N. Freed, N. Borenstein<br />

RFC 2046 - Multipurpose Internet Mail Extensions (MIME) - Part 2, N. Freed, N. Borenstein<br />

RFC 2047 - Multipurpose Internet Mail Extensions (MIME) - Part 3, N. Freed, N. Borenstein<br />

RFC 2048 - Multipurpose Internet Mail Extensions (MIME) - Part 4, N. Freed, N. Borenstein<br />

RFC 2049 - Multipurpose Internet Mail Extensions (MIME) - Part 5, N. Freed, N. Borenstein<br />

RFC 2119 - Key words for use in RFCs to Indicate Requirement Levels, S. Bradner<br />

RFC 2252 - Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions, M. Wahl, A.<br />

Coulbeck, T. Howes, S. Kille<br />

136


RFC 2633 - S/MIME Version 3 Message Specification, B. Ramsdell<br />

RFC 2821 - Simple Mail Transfer Protocol, J. Klensin<br />

RFC 2822 - Internet Message Format, P. Resnick<br />

RFC 2849 - The LDAP Data Interchange Format (LDIF) - Technical Specification, G. Good<br />

RFC 3174 - US Secure Hash Algorithm 1 (SHA1) D. Eastlake 3rd, P. Jones<br />

RFC 3207 - SMTP Service Extension for Secure SMTP over Transport Layer Security, P. Hoffman<br />

RFC 3280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation<br />

List (CRL) Profile, R. Housley, W. Polk, W. Ford, D. Solo<br />

RFC 3850 - Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Certificate<br />

Handling, B. Ramsdell<br />

Risorse Microsoft<br />

Installing Windows Server 2003 as a Domain Controller<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/domcntrl.mspx<br />

Installing a Windows XP Professional Workstation and Connecting It to a Domain<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/domxppro.mspx<br />

Setting Up Additional Domain Controllers<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/addomcon.mspx<br />

Managing Active Directory<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/admng.mspx<br />

Understanding the Group Policy Feature Set<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/gpfeat.mspx<br />

Using the Group Policy Management Console<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/gpmcinad.mspx<br />

137


Enforcing Strong Password Policies<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/strngpw.mspx<br />

Digitally Signed and Encrypted E-Mail<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/ncrypte.mspx<br />

Active Directory Sites and Services<br />

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/directory<br />

/activedirectory/stepbystep/adsrv.mspx<br />

Change the account under which the Cluster service runs<br />

6403f974657f1033.mspx?mfr=true<br />

Configuring Exchange 2003 for Client Access<br />

http://www.microsoft.com/technet/prodtechnol/exchange/Guides/Ex2k3DepGuide/0142e2<br />

28-d939-4a3c-b718-fc1cca389fdd.mspx<br />

Installing New Exchange 2003 Servers<br />

http://www.microsoft.com/technet/prodtechnol/exchange/Guides/Ex2k3DepGuide/a3318f5<br />

7-3536-4e65-9309-9300cda23c73.mspx<br />

Exchange Server Deployment Guide<br />

http://www.microsoft.com/technet/prodtechnol/exchange/Guides/Ex2k3DepGuide/fa02f08<br />

7-7fe7-4eb7-b859-12632d762f9e.mspx<br />

Implementing a Two Node Cluster with Windows 2003 Enterprise<br />

http://technet2.microsoft.com/WindowsServer/en/library/ec513ba0-08a6-493b-889f-<br />

http://www.msexchange.org/tutorials/Implementing-Two-Node-Cluster-Windows-2003-<br />

Enterprise.html<br />

Front-End and Back-End Server Topology Guide for Exchange Server 2003 and Exchange 2000<br />

Server<br />

138


http://www.microsoft.com/technet/prodtechnol/exchange/Guides/E2k3FrontBack/3beec46<br />

b-188a-4067-9f1e-c9fe17e1cb9f.mspx?mfr=true<br />

Exchange Server 2003 Technical Documentation Library<br />

http://www.microsoft.com/technet/prodtechnol/exchange/2003/library/default.mspx<br />

User Group Italiano Microsoft Exchange<br />

http://www.ugimex.org/forum/default.asp?b=1<br />

Configuring Exchange 2003 HTTP Remote Access<br />

http://www.msexchange.org/tutorials/Configuring-Exchange2003-HTTP-Remote-<br />

Access.html<br />

Deploying Exchange Server 2003 in a Cluster<br />

http://www.microsoft.com/technet/prodtechnol/exchange/Guides/Ex2k3DepGuide/9f5b91c<br />

d-d7c2-409d-81a0-033a23e1faee.mspx?mfr=true<br />

Using Microsoft Virtual Server 2005 to Create and Configure a Two-Node Microsoft Windows<br />

Server 2003 Cluster<br />

http://www.microsoft.com/technet/prodtechnol/virtualserver/deploy/cvs2005.mspx<br />

A global event sink is not triggered after you restart the Microsoft Exchange Information Store<br />

service in Exchange Server 2003 Service Pack 1<br />

http://support.microsoft.com/?id=872822<br />

Risorse CNIPA<br />

Note integrative alle Regole tecniche della PEC<br />

http://www.cnipa.gov.it/site/_files/Note%20integrative%20alle%20Regole%20Tecniche.pd<br />

f<br />

Risorse http://punto-informatico.it<br />

La PA italiana si scopre digitale<br />

http://punto-informatico.it/p.asp?id=1528458<br />

La tecnologia? E' un diritto<br />

139


http://punto-informatico.it/p.asp?id=1389040<br />

Chi sono i certificatori della PEC?<br />

http://punto-informatico.it/p.asp?id=1373120<br />

Cassandra Crossing/ La privatizzazione del Tempo<br />

http://punto-informatico.it/p.asp?id=1318397<br />

Risorse http://www.interlex.it<br />

Emendamenti in libertà: la baruffa sulla carta d'identità elettronica<br />

http://www.interlex.it/docdigit/emendam1.htm<br />

FAQ: Domande e risposte sulla firma digitale<br />

http://www.interlex.it/docdigit/faq/faq36.htm<br />

FAQ: Domande e risposte sulla firma digitale<br />

http://www.interlex.it/docdigit/faq/faq45.htm<br />

A. Chiloiro - La firma digitale da Bruxelles a Londra - 2<br />

http://www.interlex.it/docdigit/chiloiro2.htm<br />

Carta d'identità elettronica e archivi delle pubbliche amministrazioni. Il Garante chiede maggiori<br />

garanzie per i cittadini<br />

http://www.interlex.it/675/tutela/cie1.htm<br />

Decreto del Presidente del Consiglio dei Ministri 22 ottobre 1999, n. 437<br />

http://www.interlex.it/testi/dpc99437.htm<br />

A. Monti - Posta certificata: luci, ombre ed effetti collaterali<br />

http://www.interlex.it/docdigit/amonti77.htm<br />

A. Monti - PEC, PIN, PUK, patatrac<br />

http://www.interlex.it/docdigit/amonti82.htm<br />

La firma "scannerizzata" non è una firma elettronica<br />

http://www.interlex.it/docdigit/quesiti.htm<br />

M. Cammarata - PEC: scrivere (e leggere) bene le norme...<br />

http://www.interlex.it/docdigit/pec1.htm<br />

InterLex - Firma digitale - INDICE<br />

http://www.interlex.it/docdigit/indice.htm<br />

C. Giurdanella - E. Guarnaccia - Amministrazione digitale<br />

http://www.interlex.it/pa/giurguar4.htm<br />

Firma digitale: tutto quello che dobbiamo sapere<br />

http://www.interlex.it/seminari/genn2004/intro.htm<br />

140


Risorse Cartacee<br />

Mastering Microsoft Exchange Server 2003, Barry Gerber, Sybex<br />

Exchange Server 2003 Advanced Administration, Jim McBee, Wiley<br />

141

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!