Protezione del database dell'assistenza sanitaria

21

Sto facendo un progetto minore sulla sicurezza delle informazioni in cui sto implementando le tecniche elencate di seguito per proteggere un database HEALTH CARE .

  • Prevenzione dell'iniezione SQL (utilizzando istruzioni preparate, convalida, utilizzando un algoritmo di tokenizzazione)
  • Prevenzione dell'attacco CSRF (inserimento di un token nascosto nel modulo)
  • Prevenire l'attacco Brute Force (blocco dell'account dopo 5 tentativi falliti)
  • Prevenzione di XSS
  • Convalida di ogni input
  • Avvio della sessione solo sui cookie
  • Implementazione del database negativo. ( link )
  • Crittografia delle informazioni riservate
  • privilegio limitato per ogni utente

Modifica Sto anche implementando questi punti che non postare prima bcz ho pensato che siano meno importanti. ma le risposte qui mostrano chiaramente l'importanza di questi punti:

  • Registro di controllo
  • Password complessa
  • Connessione protetta usando session_set_cookie_params
  • Controllo di accesso

Così ora la mia domanda è- C'è rimasto qualcosa che mi dimentico ?? conosco alcuni di loro come la sicurezza sul livello di rete ecc. Sto facendo funzionare il mio progetto su localhost quindi penso di non poter fai qualsiasi cosa sul livello di rete.

    
posta Shubham Gupta 11.05.2014 - 18:50
fonte

4 risposte

16
  1. Connessione SSL al server in modo che nessuno possa annusare passphrase o dati attraverso la rete.
  2. Non dimenticare il tuo backup: dovrebbe essere crittografato . La chiave deve essere archiviata in modo indipendente, quindi se qualcuno accede al backup non può utilizzare i dati.
  3. A seconda del tuo Paese di residenza, possono esserci requisiti legali per la protezione dei dati sanitari.
  4. Gestisci le autorizzazioni di accesso : assicurati che se qualcuno perde le autorizzazioni di accesso, l'account viene annullato.
  5. Limita l'accesso a determinati indirizzi IP . Nel caso ideale la rete locale. È piuttosto improbabile che qualcuno di un altro continente abbia bisogno di accesso, quindi non aver paura di bloccare interi paesi.
  6. Blocca password troppo semplici . Password123 e simili non dovrebbero essere possibili! Se un utente malintenzionato si impossessa di un numero sufficiente di nomi utente, qualcuno avrà una password debole. Usando più IP / una botnet un utente malintenzionato può eludere la protezione della forza bruta.
risposta data 11.05.2014 - 23:00
fonte
6

Vorrei aggiungere un controllo di accesso a grana fine. Hai bisogno di un livello in cima al tuo database che controlli chi può accedere a quale cartella clinica. Il NIST definisce quale controllo di accesso a grana fine implica qui .

Dopo averlo installato, devi anche una tecnica per registrare tutti gli accessi e tutte le informazioni di recupero in modo che gli utenti possano essere ritenuti responsabili.

Entrambe queste tecniche sono necessarie per implementare la privacy dei dati che è particolarmente importante nel settore medico.

Dai un'occhiata al sito web Privacy che avrà anche dei buoni suggerimenti.

    
risposta data 11.05.2014 - 22:36
fonte
4

Hai una buona lista di ciò che deve essere fatto per proteggere e rafforzare un'applicazione, ciò che manca è il reporting. La sicurezza non riguarda solo la protezione, riguarda la gestione. Aggiungo al tuo elenco un sistema di segnalazione che può fornirti alcune statistiche di gestione sugli accessi non riusciti, i tentativi di violare la sicurezza, ecc.

    
risposta data 11.05.2014 - 21:01
fonte
0

Buone risposte qui.

Vorrei approfondire i 4 punti che hai menzionato:

  • Crittografia delle informazioni riservate
  • Privilegi limitati per ogni utente
  • Registro di controllo
  • Controllo di accesso

Li sto osservando separatamente perché sono quelli che sono particolarmente importanti quando gestisci dati personali / confidenziali come i dati relativi alla sanità. Altri, come SQL Injection, vengono solitamente trattati sul livello dell'applicazione (utilizzando ad esempio un firewall per applicazioni Web).

Ora torniamo ai nostri 4 punti, avrete bisogno di una soluzione di crittografia DB completa che abbia tutte le 4 funzionalità.

In un caso come il tuo, potresti voler controllare una soluzione di crittografia basata su colonne come D'Amo o MyDiamo se stai utilizzando DBMS open source. Le cosiddette "soluzioni di crittografia trasparente" che crittografano i dati a livello di file non ti proteggeranno da qualcuno che ruba fisicamente il tuo disco rigido DB, ma sono poco più che inutili se hai bisogno di un controllo di accesso strong basato su utenti, applicazioni, IP indirizzi, ora del giorno, ecc.

Un altro ovvio vantaggio che si ottiene con le colonne in un caso come il tuo è che non dovrai crittografare tutti i dati. Puoi scegliere di crittografare colonne specifiche che contengono informazioni riservate e definire criteri diversi e chiavi di crittografia enc / dec per colonna.

La gestione delle chiavi sarà ovviamente un altro problema separato dall'ambito di questa discussione.

Spero che questo aiuti.

Divulgazione: sono un consulente per i prodotti sopra menzionati.

    
risposta data 06.12.2016 - 04:05
fonte

Leggi altre domande sui tag