Vorrei iniziare osservando OWASP Top 10. Naturalmente c'è (molto) più ad esso che semplicemente avere una lista. Potrebbero esserci anche dei regolamenti nel tuo paese che dovrebbero essere considerati. Ti consiglio vivamente di esaminare prima questo.
Hai pensato a quanto segue:
- Autenticazione a due fattori: come hai intenzione di implementarlo? (Elenco token, messaggio SMS, app per telefono, lettore di schede con risposta di prova, basato su certificato)
- Implementazione di un strong meccanismo di autorizzazione. (Considerare l'utilizzo dello stato, anche se molte persone pensano che le API (REST) dovrebbero essere apolidi, non sono affatto d'accordo)
- Comunicare ai sistemi di back-end tramite API. Queste API dovrebbero verificare se un utente è autorizzato a eseguire questa azione (vedere # 2)
- Quali azioni possono eseguire i client dopo aver effettuato l'accesso? (Pensa ad esempio alla funzionalità di caricamento) Esegui la scansione del contenuto per rilevare malware e virus. Se per esempio le foto devono essere caricate (ad esempio una fattura) si può prendere in considerazione la conversione dell'immagine (8 bit) al fine di eliminare possibili "payload".
- I client devono essere sfidati quando si eseguono operazioni sensibili.
- Implementa autenticazione reciproca (anche chiamata autenticazione SSL bidirezionale) dal middle ware ai sistemi back-end.
Questi sono solo alcuni elementi da considerare e l'elenco non è completo. Spero che questo ti dia almeno un inizio.
Si consiglia vivamente di eseguire valutazioni della sicurezza e revisioni del codice protetto su tutto il codice (regolarmente).
Un'altra cosa da considerare è coinvolgere un esperto di sicurezza nelle prime fasi del processo. La mia esperienza personale è che i professionisti della sicurezza sono generalmente invitati a eseguire una valutazione di sicurezza quando vogliono andare in produzione due settimane più tardi.