Distribuire un’applicazione tramite il web è la modalità più utilizzata e più funzionale degli ultimi 10 anni. Questo perché una soluzione client/server genera un numero importante di limitazioni e di complicazioni per l’utente, sia nella fase di installazione e primo accesso, sia durante i futuri aggiornamenti, che necessitano troppo spesso dell’intervento di un tecnico.
Poter utilizzare il browser come unica interfaccia di accesso per i clienti, rende la nostra applicazione più fruibile per i gli utenti, in quanto molto spesso URL e credenziali costituiscono gli unici parametri di accesso richiesti.
Siamo pronti a vedere le nostre applicazioni web attaccate o compromesse?
Non è questione di uccello del malaugurio o della mitologica Cassandra: la sicurezza informatica non è un optional. Che si parli di aziende piccole o grandi, di infrastrutture on premise, in cloud o ibride, il 2020 ed ora il 2021 sono stati, e sono tuttora segnati, da un imponente ondata di attacchi, tanto da ritenere che tutti siamo a rischio.
Il problema non è se accadrà, ma quando accadrà.
La strategia per proteggere i dati deve cominciare dall’analisi della propria infrastruttura e delle applicazioni esposte: delineiamo i punti principali.
Motore dell’application server
L’analisi dettagliata della piattaforma su cui si basa la nostra applicazione è il punto di partenza dell’analisi.
Valutiamo le situazioni:
1) Aggiornamenti di sicurezza costanti
I nostri sistemi hanno un livello costante e frequente di aggiornamento? Siamo efficaci nell’applicazione delle patch relative a problematiche zero day?
Il web server, così come il motore dell’applicazione e il linguaggio utilizzato per l’applicazione, è un sistema da tenere monitorato. Se scoppia una falla su uno di questi sistemi, dobbiamo essere pronti a correggerla o almeno a limitare gli attacchi.
2) Vecchie applicazioni che non possiamo dismettere
Abbiamo ancora vecchie applicazioni che non vengono più aggiornate, ma dobbiamo mantenerle per qualsiasi ragione? In questo caso dobbiamo limitarne l’accesso ed isolare questi sistemi in tutti i modi possibili. Se ci accorgiamo di una criticità, dobbiamo separarla dal resto dell’infrastruttura. Manteniamo l’accesso “esterno” gestito da sistemi moderni ed aggiornati per poi essere ridirezionati verso i sistemi datati.
3) Modalità di accesso alla web application
Url disponibili al mondo e accesso tramite credenziali: massima facilità per i nostri utenti, massima facilità per gli hacker.
Rispondiamo a qualche semplice domanda e tariamo opportunamente le nostre configurazioni.
I nostri utenti sono un insieme predeterminato o raccogliamo nuovi utenti dal web?
L’operazione di registrazione utente è molto delicata e va gestita e monitorata con attenzione. Da un lato dobbiamo garantire all’utente la possibilità di gestire in completa autonomia la modifica delle credenziali e il reset della password dimenticata; dall’altro lato vanno esclusi in tutti i modi gli accessi da parte di sistemi automatici e fraudolenti. Captcha e autenticazione a due fattori sono oggi una scelta obbligata. Cerchiamo quelli meno complicati per l’utente ma pur sempre funzionali.
Se la nostra applicazione è aperta solo ai dipendenti aziendali, valutiamo un accesso condizionato da certificati inviati sul pc dell’utente e limitiamo l’accesso ai dispositivi aziendali
La nostra web application è aperta veramente a tutto il mondo?
Se la nostra applicazione non offre un servizio per tutti gli utenti del mondo, ragioniamo su una modalità per limitare l’accesso geografico al sistema. Non è una limitazione in contro tendenza ai dogmi del web, ma occorre una valutazione realistica del mercato a cui stiamo offrendo il nostro sevizio.
Questo ragionamento va preso in considerazione soprattutto se la nostra applicazione è aperta solo ai dipendenti dell’azienda e non abbiamo sedi all’estero. In questo modo abbiamo già una base di partenza importante per limitare fortemente l’accesso e proteggere il sistema.
Troppe password
Se l’applicazione permette un accesso mobile, i sistemi biometrici come i lettori di impronte, rappresentano un sistema semplice per l’utente ed efficace per il sistemista.
Applicazione client/server, ma senza applicazione web?
Integra può realizzazione un’infrastruttura sia on premise presso il cliente, sia totalmente in cloud, in modo da permettere l’accesso web ad una applicazione client/server. VPN e desktop remoto sono una soluzione, ma in tempi di Covid non sempre sono efficaci in termini di sicurezza e prestazioni.