Quali standard di sicurezza dovrebbero essere implementati in una semplice applicazione web [chiusa]

4

Sto creando un'applicazione web che legge / scrive / aggiorna in modo sostanziale le informazioni da e verso un database su un server. Sono esperto nella programmazione di computer, ma mentre cerco gli standard di sicurezza, non riesco a trovare in che modo determinare quali standard esaminare. Quale approccio dovrei prendere nel determinare alcuni standard di sicurezza di base?

    
posta user1268690 14.03.2012 - 12:36
fonte

4 risposte

7

A seconda dei dati che si stanno gestendo potrebbero esserci diversi minimi di sicurezza (crittografia dei dati nel database). Ti consiglio caldamente di iniziare la ricerca su Apri Webapplication Security Project (OWASP).

    
risposta data 14.03.2012 - 14:24
fonte
2

Come minimo:

  1. Autenticazione utente (un / pw + sali memorizzati con crittografia avanzata nel DB come minimo).
  2. Protezione dell'iniezione SQL.

Come ha sottolineato Graham, dipende dal tipo di dati che stai gestendo e dalle minacce ad esso.

    
risposta data 14.03.2012 - 16:00
fonte
2

se prendi input da un utente, convalida tale input e assicurati che il web server funzioni con il minimo privilegio e controlli anche OWASP top 10, controlla anche questi link che ti aiuteranno

scrittura di applicazioni web sicure

Sans on Distribuzione sicura di app Web

Microsoft migliora la sicurezza delle applicazioni Web

    
risposta data 27.03.2012 - 14:01
fonte
0

Lavoro nella professione di IT Security come revisore IT. Nel tuo caso, dovresti proteggere entrambe le informazioni a riposo mentre sono archiviate nel database e durante il transito, mentre i dati vengono scritti nel database dall'applicazione. Inoltre, è necessario difendersi dagli attacchi comuni contro le applicazioni Web.

Protecting data in transit

Seguendo il principio riservatezza della triade di sicurezza, vorresti crittografare i dati per proteggerli dagli attacchi MITM. Assicurati di utilizzare un metodo di crittografia strong come TLS versione 1.2 con algoritmo di crittografia AES e lunghezza della chiave di almeno 128.

Protecting data at rest

I dati, a seconda della classificazione o del valore, dovrebbero essere encrpyted at rest mentre sono memorizzati nel database. Se nel database sono presenti credenziali, tali credenziali devono essere sottoposte a hash utilizzando un algoritmo di hash strong. Non utilizzare SHA 1 perché è insicuro.

Defending against attacks aimed at web applications

Oltre a proteggere i dati in transito e a riposo, devi anche difenderti da attacchi comuni basati sul web come

SQL injection, XSS, cross site request forgery (CSRF / session riding), and attacks on sessions like fixation.

La difesa principale per l'iniezione SQL e gli attacchi XSS è convalida dell'input dell'utente sul tuo sito tramite l'escape di input pericolosi (es: SELECT * FROM) e l'uso di parametri funzioni. Per gli attacchi di fissazione delle sessioni, la difesa principale è non consentire ID di sessione nelle istruzioni POST e rigenerare l'ID di sessione su ogni richiesta dal client. Per CSRF, la protezione principale utilizza dati aggiuntivi nella richiesta di autenticazione del client che consente al server di rilevare e negare le richieste provenienti dall'esterno della sessione stabilita.

    
risposta data 30.03.2017 - 05:43
fonte

Leggi altre domande sui tag