Ho quasi finito un'applicazione web. Devo testarlo e trovare i problemi di sicurezza prima del rilascio. Esistono metodi/linee guida per eseguire questo tipo di test? O ci sono strumenti per aiutarmi a controllare che la mia applicazione sia pronta per andare online? Grazie.Cosa devo controllare prima di rilasciare un'applicazione Web?
risposta
direi:
- verificare che non vi siano avvisi o errori anche in modalità rigorosa (rapporto di errore).
- Se si memorizzano dati sensibili (come password, carte di credito, ecc.) Assicurarsi che siano crittografati con algoritmi non standard. Usa SSL e cerca di essere in qualche modo paranoico con esso.
- Imposta il tuo database con accessi specifici per azione e host e non utilizzare l'account di root.
- Eseguire test esaustivi (utilizzare il test dell'unità quando possibile). Coinvolgi quante più persone puoi.
- Provalo sotto i principali browser (Firefox, Chrome, Opera, Safari, IE) e se hai tempo in altri.
- Convalida tutti i tuoi HTML/CSS rispetto agli standard (W3C). (raccomandabile)
- A seconda della piattaforma che si sta utilizzando, ci sono profiler che possono aiutarti a identificare i colli di bottiglia nel codice. (può essere fatto in fasi successive).
- Regola le impostazioni per il tuo server web/linguaggio di script.
- Assicurarsi che sia adatto ai motori di ricerca.
- Pregate una volta è in linea :)
Questo non è un elenco completo in quanto dipende in:
- quale server lingua/platform/web che si sta utilizzando.
- quale tipo di applicazione hai sviluppato (sociale, finanziario, di gestione, ecc.)
- chi utilizzerà quell'applicazione (il mondo intero, un'azienda specifica, la tua famiglia o solo te).
- hai intenzione di venderlo? allora devi avere almeno la maggior parte dei punti precedenti.
- L'applicazione utilizza informazioni molto sensibili (come carte di credito)? se sì, dovresti pagare per un professionista (azienda?) per verificare il tuo codice, le impostazioni e i metodi.
Questa è solo la mia opinione, prendila così com'è. Mi piacerebbe anche sentire cosa gli altri suggeriscono.
Good Luck
Oltre a ciò che è già stato suggerito, a seconda del tipo di applicazione è, è possibile utilizzare un vulnerability scanner per eseguire la scansione del domanda di eventuali vulnerabilità che potrebbero portare agli hacker l'ammissione.
Ci sono alcuni buoni scanner là fuori, ma si noti quando li si utilizza che i risultati possono essere o meno del 100%. È difficile da dire.
Per un elenco degli scanner, commerciali e libero, vedi: http://projects.webappsec.org/Web-Application-Security-Scanner-List
Per ulteriori informazioni su scanner: http://en.wikipedia.org/wiki/Web_Application_Security_Scanner
Buona fortuna.
Qui trovi una lista di controllo pratico da usare prima di lanciare un sito web
http://launchlist.net/
Ed ecco un elenco di tutte le cose si è dimenticato di testare
http://www.thebraidytester.com/downloads/YouAreNotDoneYet.pdf
- 1. Cosa devo controllare prima che il mio sito web Ruby on Rails venga pubblicato?
- 2. Devo controllare se ProgressBar isShowing prima di chiuderlo?
- 3. Devo controllare Debugger.IsAttached prima di Debugger.Break o Debug.WriteLine?
- 4. Devo controllare boost :: shared_ptr o std :: shared_ptr prima di usarlo?
- 5. Devo rilasciare l'indice sulla tabella temporanea?
- 6. Devo rilasciare CGColorSpaceRef sotto ARC?
- 7. Devo rilasciare un oggetto NSError restituito?
- 8. Devo rilasciare un NSObjects copiato - Objective-c
- 9. Devo removeTarget prima addTarget
- 10. Cosa devo fare prima - annullare ScheduledFuture o shutdown ScheduledExecutorService?
- 11. Devo controllare i file * .mo?
- 12. Devo imparare C prima di imparare Javascript?
- 13. prestazioni log4net: devo controllare il livello di registro prima di provare a registrare?
- 14. Creazione di un AuthorizeAttribute - cosa devo sapere?
- 15. Devo sempre rilasciare self per metodi init falliti?
- 16. Cosa devo fare esattamente in viewDidUnload?
- 17. Devo controllare se un articolo è già in un set prima di aggiungerlo?
- 18. Devo controllare un vincolo univoco con php?
- 19. Controllare l'URL prima di reindirizzare symfony2
- 20. Devo chiamare Stop prima di leggere ElapsedMilliseconds?
- 21. Devo imparare AWT prima di imparare Swing?
- 22. Devo chiamare File.Exists prima di chiamare File.Delete?
- 23. Devo usare "hasClass" prima di "addClass"?
- 24. Devo chiamare MessageDigest.reset() prima di usarlo?
- 25. Cosa devo fare prima di eliminare elementi in un vettore di puntatori agli oggetti allocati dinamicamente?
- 26. Cosa devo fare se la sessione ASP.NET corrente è nullo?
- 27. Per prima cosa, la prima cosa in HashMap?
- 28. com.apple.eawt - cosa esattamente devo installare
- 29. Cosa devo mettere su imeActionId?
- 30. jquery - Controllare l'estensione del file prima di caricare
Vedi http: // StackOverflow. it/questions/2059337/practice-while-releasing-the-python-ruby-script-based-web-applications-on-produc, –
possibile duplicato di [Rilasciando la tua applicazione web in the wild] (http: // stackoverflow. com/domande/515.168/rilasciando-your-web-application-in-the-wild) –