Ho sviluppato una piccola applicazione CRUDish Ruby on Rails nel mio tempo libero per un'organizzazione non-profit. L'app è già in esecuzione su piccola scala in Heroku.
Ultimamente ho pensato all'open sourcing dell'applicazione. Ci sono molti professionisti per questo, ad es. Conosco già un paio di possibili contributori e anche il mio datore di lavoro ha mostrato interesse a sostenere il progetto in un paio di modi, se fosse open source.
Normalmente non esiterei con questo tipo di possibilità, ma il problema qui è che l'applicazione memorizza almeno in qualche modo informazioni sensibili sulle persone che la usano. Ho paura che, dato che il progetto è piccolo, e dopo tutto avrà sempre una quantità limitata di tempo e risorse per gli sviluppatori, l'open sourcing attirerebbe più hacker malintenzionati rispetto ai contributori effettivi. Non voglio fare del male a nessuno, e soprattutto non agli utenti target dell'app, quindi anche il leggero aumento di probabilità di perdita di dati mi preoccupa.
Quando penso in modo ragionevole, capisco che
- Dato che l'app è molto piccola, c'è una possibilità molto limitata che qualcuno possa effettivamente tentare di attaccarlo
- RoR mi offre un ambiente abbastanza buono e testato dalla vita reale da costruire sopra
- La sicurezza attraverso l'oscurità è per lo più considerata come non senso
- I professionisti IMHO di open sourcing sovrappesano gli svantaggi
Non voglio che diventi un'altra discussione su Open Source vs Closed Sistemi di origine . Tuttavia, per alleviare la mia mente, mi piacerebbe sapere cosa posso realisticamente fare per minimizzare la possibilità di un attacco . Finora almeno queste cose mi sono venute in mente:
- Utilizza la versione più recente di Rails e applica tutte le correzioni per la sicurezza il più rapidamente possibile
- Acquista un certificato SSL e applica le connessioni HTTPS in modo che tutti i dati inseriti dagli utenti vengano trasferiti crittografati
- Crittografa i dati nel database con una chiave memorizzata in Heroku config vars. Comunque non sono così sicuro di questo, perché dopotutto, devo fidarmi di Heroku, e per quanto ho capito, questo sarebbe d'aiuto solo nei casi in cui il vero database sarebbe stato compromesso. O mi sbaglio qui?
- Invita alcune società di sicurezza a effettuare gratuitamente un controllo sull'applicazione (in quanto non è coinvolto $ $$)
Che altro potrei / dovrei fare?