Full thesis PDF
Full thesis PDF
Full thesis PDF
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