Con questo primo post vorrei condividere “in riuso” con responsabili tecnici ed organizzativi nell’ambito della gestione documentale e protocollo informatico una serie di issues riguardanti l’applicazione PITRE anche nella versione più datata DOCSPA. I temi trattati sono: security, performance tuning, monitoring, deploy, help desk e altre issues evidenziate da tutti quelli che vogliono mettere “a riuso” le proprie esperienze a beneficio della Pubblica Amministrazione Italiana
PITRE è stata un’iniziativa importante da parte della PA, ma alcuni aspetti come la sicurezza non sono stati aggiornati nel tempo secondo una metodologia “a riuso”.
Da alcuni anni la PA ha richiesto che il codice PITRE venga sottoposto ad assesment di sicurezza, su ogni versione in riuso e personalizzata sono state apportate una serie di aggiornamenti del codice che assicurano un adeguato livello di robustezza che lo rendono resistente a qualsiasi, o quasi, attacco informatico.
Questo tipo di intervento si colloca nella parte down della sicurezza informatica, cerchiamo di analizzare la security con un approccio top to down partendo dall’infrastruttura dei sistemi e della rete a supporto dell’applicazione PITRE.
L’architettura qui descritta si basa sull’infrastruttura di sistemi Microsoft Windows Server, sia in modalità Active Directory che Workgroup (standalone). Non viene trattata la sicurezza della rete, ma si consiglia di abilitare solo i protocolli di rete necessari e solo tra nodi ben identificati.
Data Base
Per garantire l’alta affidabilità il data base è gestito da Microsoft SQL Server in modalità AlwaysOn che prevede l’utilizzo di 2 servers che allineano i dati in tempo reale. L’accesso ai data base è consentito solo ad un utente di servizio (Managed Service Account MSA), utente utilizzato dal BackEnd PITRE (Identity). Questa modalità prevede di utilizzare una stringa di connessione “sicura” in cui non compare utente e password “userid=docsadm; password=password” ma solo la chiave “Trusted_Connection=True”.
Nota: se si sceglie di non utilizzare un dominio Active Directory, i servers sono configurati in modalità Workgroup e non è possibile utilizzare un MSA. In questo caso bisogna creare un utente di servizio su ogni server mantenendo stessa userid e password. Ovviamente la password non deve scadere mai e deve essere gestita secondo criteri di sicurezza adeguati.
File Server
Anche qui l’alta affidabilità è garantita da un cluster con 2 nodi e da uno ò più dischi. L’accesso al disco condiviso è consentito solo ad un utente di servizio (Managed Service Account MSA), utente utilizzato dal BackEnd PITRE (Identity).
Servizi PITRE
I servizi e tasks PITRE sono di norma installati su un server di BackEnd ma questa soluzione non garantisce l’alta affidabilità (se il server va in errore i servizi non vengono eseguiti), mentre un cluster dedicato garantisce che i servizi e task vengano sempre eseguiti.
Nota: nel caso in cui si utilizza solo il protocollo HTTPS alcuni servizi e tasks PITRE che utilizzano i servizi SOAP/REST di BackEnd devono essere aggiornati.
Nota: Alcuni servizi e tasks che accedono ai web services di BackEnd necessitano di parametri di accesso a PITRE tra cui utente e password con determinati diritti di accesso ai documenti. Questi parametri sono contenuti in chiaro in un file di configurazione .config violando una fondamentale regola di sicurezza. Per ovviare a questo problema si può cifrare il file di configurazione tramite procedura che verrà descritta in apposita issue.
PITRE BackEnd
I web services del BackEnd PITRE sono installati su servers dedicati che comunicano tramite una sottorete dedicata. Il traffico verso i servers di BackEnd è gestito da un bilanciatore configurato in modalità sticky session che garantisca il mantenimento della sessione tra frontend/altri sistemi e server di BackEnd.
Nel caso di multi istanza il BackEnd può essere installato su batterie di servers dedicati attestati su sottoreti diverse.
PITRE FrontEnd
Le web application FrontEnd ed AdminTool di PITRE sono installati su servers dedicati che comunicano tramite una sottorete dedicata. Il traffico verso i servers di FrontEnd è gestito da un bilanciatore configurato in modalità sticky session che garantisca il mantenimento della sessione tra le work station e server di FrontEnd.
Accessso remoto (SmartWorking)
La modalità più comune per accedere a PITRE da remoto è quella di avviare una connessione VPN alla intranet.
Una seconda modalità è quella di utilizzare Azure Tenant AD authentication che consente al proprio account Microsoft AD di accedere a PITRE in modalità windows autentication (senza richiesta di credenziali PITRE).