In questo momento sto configurando un'API, da consumare sul lato client per configurare un sito di directory. Mi sto chiedendo quali sono i passaggi extra che devo fare solo per evitare che le persone ottengano l'accesso in scrittura ai dati.
Alcune note:
- L'API / database non ha informazioni private. Tutte le informazioni sono disponibili e nessuna di esse è PII ecc. Non sarebbe un problema per me se qualcuno leggesse tutti i dati.
- Attualmente l'API è un'app Sinatra e ha metodi di scrittura in modo da poter aggiungere dati, protetti da HTTP Auth.
- Sarà ospitato su Heroku e servito solo tramite HTTPS.
- I dati non cambieranno di frequente.
- I dati verranno sottoposti regolarmente a backup in modo tale che persino un'effrazione distruttiva non sia la cosa peggiore al mondo.
Le mie domande:
- Ci sono aree specifiche che dovrei leggere in merito alla sicurezza in questa situazione?
- Spostare i metodi di scrittura dell'API (e l'amministratore) in un'app completamente diversa e quindi semplicemente sincronizzare il database a gestire la maggior parte dei problemi di sicurezza?
- L'autenticazione HTTP è sufficientemente sicura con un nome utente e una password lunghi oppure esiste un metodo migliore dell'autorizzazione HTTP per autorizzarmi nell'amministratore?
(Nota: ho cercato domande correlate e ho trovato questo: È sicuro BASIC-Auth se eseguito su HTTPS? , ma non è chiaro se esiste un'opzione o un metodo migliori che non aprano ancora più implicazioni sulla sicurezza)
- Qualche altro consiglio o idea?
Al momento sono un po 'fuori dal mio elemento e voglio far spedire questo progetto, piuttosto che soffermarmi troppo a lungo. Sono sicuro che non ci sarà alcun rimpiazzo per un corretto addestramento sulla sicurezza delle applicazioni, ma spero che a causa della natura pubblica dei dati, posso ignorare la maggior parte delle situazioni di sicurezza per iniziare e impiegare più tempo per apprenderle in seguito.
Saluti, Anders