Oggi, in questo mio nuovo post, voglio ritornare a trattare l’argomento della sicurezza aziendale, portandovi qualche piccola regola che tutti dovrebbero seguire, per sviluppare un’applicazione decente e che sia sufficientemente sicura.
Con il mio lavoro mi è capitato diverse volte di andare da piccole aziende (come tecnico esterno) a sistemare dei computer o a verificare che una loro applicazione, magari usata per la gestione dei dati, sia sufficientemente sicura. E ogni volta mi rendo conto che la maggior parte delle piccole aziende (ora non so se tutto questo avviene anche nelle grandi aziende, ma spero vivamente di no per loro), prende la questione sicurezza, sia per la gestione, che per lo sviluppo di un’applicazione, in modo veramente poco serio. Quasi come se fosse un optional. Un qualcosa in più che forse deve essere implementata successivamente. Della serie: sviluppiamo l’applicazione, poi se rimangono fondi e se lo riteniamo opportuno, pensiamo anche al fattore sicurezza.
Detto questo, senza perdere ulteriore tempo, vediamo insieme gli errori più comuni e da questi traiamo le regole fondamentali per sviluppare e gestire un’applicazione in totale sicurezza.
- Infrastruttura sicura: Per prima cosa è necessario che l’applicazione venga sviluppata e poi vada in funzione su un’infrastruttura sicura. Sia che è un’applicazione desktop, o un’applicazione server, in entrambi i casi deve essere sviluppata e poi messa in funzione su un’infrastruttura sicura. Se per esempio è un’applicazione server side, il server deve essere aggiornato e configurato in modo corretto. Anche se l’applicazione è client side, il client stesso deve essere configurato in modo corretto. Dico questo in quanto negli ultimi mesi sto notando che molte aziende fanno girare i loro programmi che servono per la loro contabilità o gestione dati, su server configurati in modo veramente sbagliato (e totalmente poco sicuro), che per penetrare tali infrastrutture ci vuole un niente.
- Un buon protocollo SSL: Se si devono gestire dei pagamenti o dei dati personali di persone, è obbligatorio avere un protocollo SSL VALIDO. Sottolineo valido in quanto non è la prima volta che vedo protocolli ssl non validi, installati a mano nei server senza alcuna certificazione oppure protocolli non più aggiornati da anni. Un buon protocollo ssl deve essere aggiornato costantemente dalla società che lo rilascia.
- Prevenire attacchi SQL Injection: In un’applicazione qualsiasi, che memorizza dei dati in un database, deve essere sviluppata in modo da prevenire, tramite diversi tipi di controlli, che tramite form o altri metodi di input, si possa effettuare dell’sql injection. Ti consiglio di leggere questo mio precedente post per comprendere meglio l’argomento.
- Informazioni di contatto sicure: Molte volte si commette l’errore di gestire i propri contatti in modo poco sicuro, ricevendo quindi moltissime email spam o comunque avendo grandi problemi. Ho visto, in piccole aziende, contatti email usati per ricevere documenti dai clienti o per inviare fatture, protetti da una password veramente ridicola. I miei consigli per risolvere questo tipo di problema sono: impostare una password sicura nei propri contatti email e aggiornarla costantemente e non inserire il contatto email nel proprio sito. Nel proprio sito / applicazione, nella pagina delle informazioni di contatto. E’ consigliabile impostare una contact form con magari un controllo recaptcha, per prevenire messaggi spam
- Gestione degli accessi: In molte applicazioni che gestiscono degli utenti, soprattutto nelle aziende, è necessario che ogni utente abbia un account sicuro. Altrimenti, succede che un malintenzionato possa violare un account per poi iniziare a scalare i privilegi di amministrazione, fino a controllare e avere accesso ai dati dell’azienda stessa. Per evitare tutto ciò si dovrebbero implementare dei controlli che obbligano ogni utente ad inserire una password forte e che magari obbligano gli stessi utenti ad aggiornarla ogni tot tempo.
In conclusione
Questi sono dei punti che ogni sviluppatore ed ogni azienda dovrebbe tenere conto, per favorire al meglio una sicurezza informatica di base. Poi ovvio che per incrementare ulteriormente la sicurezza bisogna fare molto altro. Ma già questo è un buon punto di partenza.
Spero che questo post ti sia stato di aiuto e spero che ti abbia interessato.
Con questo è tutto… alla prossima!