Cosa è necessario per garantire che le informazioni degli utenti inviate sul mio sito Web siano sicure con l'uso di account di accesso

2

Ho ereditato la responsabilità di gestire il sito web della mia azienda. Ci sono alcuni clienti che sono tenuti a inviare informazioni altamente riservate tramite il sito web utilizzando moduli online. Mi è stato chiesto di sviluppare account utente in modo da poter aggiungere un "altro" livello di sicurezza. Fondamentalmente quello che sto cercando è:

  1. Gli utenti dovrebbero essere in grado di accedere a un account sicuro sul sito web (simile a quelli utilizzati nel banking online)
  2. Le informazioni riservate degli utenti devono essere sicure mentre vengono inviate sul sito web.

Ho bisogno di chiarezza su ciò che è esattamente necessario per raggiungere questi summenzionati - ogni aiuto sarà apprezzato.

    
posta Rika 08.02.2013 - 15:22
fonte

3 risposte

6

Fornisci solo le pagine su HTTPS (la maggior parte dei server richiede un'opzione HTTPS). HTTPS creerà una connessione SSL che proteggerà le informazioni in transito. Sul lato server, ciò che è necessario fare per memorizzare le informazioni dipende molto dal tipo e dalla sensibilità delle informazioni, nonché dal modo in cui dovrà essere utilizzato.

Ad esempio, sono le informazioni che il cliente dovrà essere in grado di recuperare in seguito, sono informazioni finanziarie o PCI (informazioni sulle carte di pagamento)? I dipendenti della tua organizzazione devono essere in grado di accedervi? Le informazioni devono poter essere condivise con altri (selezionati) clienti?

    
risposta data 08.02.2013 - 15:33
fonte
1

La natura della domanda mi porta a credere che questo possa essere il tipo di cosa in cui è opportuno ottenere un aiuto esterno.

Se per qualche motivo non puoi:

  1. La maggior parte dei siti di banking online utilizza la sicurezza che non è appropriata per altri siti. Le banche hanno una lunga storia di affidamento su criteri, assicurazioni ed euristiche delle attività per proteggere il tuo account - vale a dire, il tuo banking online è protetto non dal tuo login, ma dal fatto che la banca non ti riterrà responsabile per il risultati di un hack, fanno affidamento sulla loro assicurazione. Non usarli come il tuo high water mark per accessi sicuri.

    Considera l'acquisto di qualcosa o l'utilizzo di un prodotto come link o link . Se non riesci a fare quello , dai un'occhiata semplicemente all'autenticazione HTTP in modo che il tuo server web e il tuo sistema operativo si occupino del problema dell'autenticazione, anche se questo porta al punto successivo ...

  2. Utilizza https. Acquista un certificato da una CA e forza https (questa dovrebbe essere un'opzione nella tua configurazione del server web). Ciò manterrà i tuoi login di autenticazione HTTP sicuri se questo è quello che usi, ma assicuri anche che i dati siano al sicuro durante il trasporto.

Poiché al momento non disponi di account utente, sfruttando gli strumenti incorporati del sistema operativo, assicurandoti che la sicurezza delle directory sia corretta sul server ed esponendo ciò tramite il tuo server web avrai la sicurezza, la completezza, il tempo necessario e patch (con le normali patch per OS / Web Server) nel minor tempo possibile.

    
risposta data 09.02.2013 - 03:15
fonte
0

SSL è assolutamente il primo suggerimento corretto qui, ma SSL da solo non ti protegge da:

  1. Attacchi diretti come XSS, SQL injection, inclusione di file remoti

    Se la tua app è vulnerabile a un attacco XSS, il codice javascript può essere recapitato tramite la connessione SSL al client, dove può trasferire i dati sensibili a un altro server controllato dagli hacker pur consentendo le normali richieste di accadere tramite SSL link, o potrebbe rubare le credenziali del cliente e accedere come loro. L'iniezione SQL può consentire all'utente malintenzionato di recuperare i dati direttamente dal database o ignorare l'autenticazione e accedere come utente in questione. RFI potrebbe fornire all'attaccante un account di shell sul tuo sistema che consentirebbe uno o tutti i precedenti.

  2. Attacchi fuori banda come keylogger e virus, sia sui sistemi client che sul server.

    Se sul sistema è in esecuzione un servizio vulnerabile non correlato, ad esempio un server di posta obsoleto, un utente malintenzionato potrebbe effettuare il targeting e ottenere un account di shell sul sistema. Un virus sul tuo desktop di lavoro potrebbe rubare le tue credenziali al prossimo accesso al tuo server. Un keylogger sul sistema del client potrebbe rubare le proprie credenziali e, sebbene tecnicamente non sia colpa tua, il cliente ti incolperà comunque e potresti avere difficoltà a dimostrare che non ti è stato rubato.

  3. Attacchi di recente sviluppo contro SSL come BEAST, CRIME e Lucky Thirteen.

    È inevitabile che ci sia un periodo di tempo in cui sei vulnerabile a questo genere di attacchi. Il tuo compito di proteggere i dati del tuo cliente è:

    • Mantieni aggiornati i nuovi attacchi noti che interessano qualsiasi prodotto che utilizzi.
    • Valutare ciascuno al più presto possibile e decidere se continuare a eseguire il servizio interessato o chiuderlo fino a quando non è disponibile una patch. (Potresti essere in grado di delegare questa decisione ai tuoi clienti.)
    • Aggiorna e / o patch il prima possibile.

Sembra che tu sia un amministratore di sistema solitario che si prende cura della sicurezza, piuttosto che un dipendente dedicato esclusivamente alla sicurezza, il che significa che tutto ciò è probabilmente scoraggiante. Un buon modo per avvicinarsi a questo sarebbe quello di classificare ognuno dei suggerimenti che si ricevono in termini di valore e provare ad implementarne uno ogni mese o giù di lì. Imposta un intervallo di tempo realistico e prova ad attenervisi.

  • Verifica del codice / test di penetrazione del codice scritto dalla tua organizzazione.
  • Rilevamento delle intrusioni.
  • Rilevamento anomalo del comportamento del client (indirizzo IP sconosciuto, agente utente sconosciuto, ecc.)
  • Aggiornamenti regolari e rapidi del sistema operativo e del prodotto.
  • Riduci al minimo la superficie di attacco (rimuovi i servizi non necessari dal tuo server).
  • Crittografia dei dati quando vengono archiviati nel database e in qualsiasi backup.
  • Registrazione di qualsiasi tipo di accesso ai dati. Un buon software di database e controlli OS appropriati possono far rispettare questo. Questo può aiutare ad assolvere la colpa se una violazione non è stata colpa tua e rintracciare chi è il colpevole e come sono entrati se è stata colpa tua.
  • Sicurezza pervasiva in tutta la tua organizzazione.

Il PCI-DSS contiene una buona lista di cose che possono migliorare la resistenza generale agli attacchi.

Quale di questi implementa effettivamente dipenderà dall'analisi costi / benefici e di rischio:

  • Quanto vale il dato (o il cliente)?
  • Qual è la probabilità di una violazione?
  • Quanto costa la misura di sicurezza?
  • Quanto riduce la probabilità di una violazione?
risposta data 12.02.2013 - 00:28
fonte

Leggi altre domande sui tag