Sto valutando la sicurezza per la mia applicazione web. Poiché sto usando Spring nella mia applicazione web, vorrei sfruttare il framework Spring Security. Ho cercato più informazioni sulla sicurezza web e ho incontrato la community OWASP e la lista dei 10 migliori attacchi. Quindi la mia domanda è; sarebbe sufficiente configurare Spring Security per proteggere la mia applicazione? Quali sono tutte le minacce alla sicurezza di OWASP top 10 (2013) gestite da Spring Security Framework?OWASP primi dieci attacchi e Spring Security
risposta
Costruire applicazioni sicure è un compito impegnativo e non esiste un prodotto "proiettile d'argento" che renderebbe l'applicazione automaticamente sicura per voi. Pertanto il semplice utilizzo di Spring Security non significa automaticamente che la tua applicazione sia sicura! Spring Security è un ottimo strumento che aiuta con molti aspetti della creazione di applicazioni sicure, ma come con qualsiasi strumento è necessario sapere come usarlo correttamente.
Primavera di sicurezza può aiutare a risolvere almeno i seguenti aspetti OWASP TOP10:
- A2-rotto autenticazione e la gestione della sessione - prevedendo meccanismi per l'autenticazione sicura ed efficiente e la gestione delle sessioni
- A4 -Insecure Direct Object References - fornendo meccanismi di autorizzazione all'interno dell'applicazione
- A6-Sensitive Exposure dati - modulo crypto di Primavera di sicurezza fornisce funzionalità di crittografia necessarie
- Access Control A7-mancante Livello Funzione - fornendo i mezzi per l'autorizzazione a UI e lato server
- A8-Cross-Site Request Forgery (CSRF) - fornendo supporto per generazione e convalida di token mitiganti attacchi CSRF
Si può provare HDIV che ha il supporto per più framework.
Si consiglia di utilizzare un'architettura di sicurezza a livelli. Voglio dire, è possibile creare un'applicazione sicura a mano ma è estremamente difficile da implementare. Alcune funzioni di sicurezza quali come autenticazione e controllo di accesso di base (livello URL o livello componente GUI) sono relativamente facili da implementare ma requisiti come sicurezza a livello di istanza (specialmente con database legacy), Sql Injection e XSS sono più difficili.
Si consiglia di utilizzare Spring Security e di implementare il più possibile le convalide personalizzate. In aggiunta a ciò, raccomando di utilizzare HDIV per aggiungere un ulteriore livello di sicurezza che potrebbe consentire a di evitare lo sfruttamento dei rischi non coperti dalle convalide personalizzate. In particolare le funzionalità offerte da HDIV sono:
A1- iniezione: per quanto riguarda i valori e gli URL parametri HTTP HDIV ridurre il rischio di questa vulnerabilità per solo i dati che provengono da campi di testo all'interno di forme, applicando le convalide di integrità (assicura che il valore ricevuto sia lo stesso generato sul lato server) per il resto dei dati che provengono dal lato client. Per i campi di testo inclusi nei moduli, HDIV offre convalide generiche (whitelist e lista nera) per evitare attacchi di iniezione.
A2-rotto autenticazione e la gestione della sessione: HDIV non offre funzionalità per questo rischio web.
A3-XSS: lo stesso di A1 ma in tal caso evitare i rischi XSS.
A4-insicura Oggetto Diretto Riferimenti: HDIV controlla tutti i dati generati ad lato server assicurare l'integrità dei dati e evitare questa vulnerabilità.
A5-Security configurazione errata: HDIV non include funzionalità specifiche per questo, ma non consente l'accesso alle risorse non inviati dal server in precedenza, evitando lo sfruttamento dei comportamenti imprevisti o l'accesso a risorse private.
A6-sensibili esposizione dei dati: HDIV offre funzionalità di riservatezza per nascondere i valori dei parametri HTTP.
A7-mancante Livello di funzione di controllo di accesso: grazie alle convalide integrità implementato da HDIV, evita lo sfruttamento di questa vulnerabilità e limitare l'utente ad eseguire azioni legali e il mantenimento del contratto originale (GUI o API) offerti dall'applicazione
.A8-Cross-Site Request Forgery (CSRF): HDIV aggiunge gettoni aleatorie a evitano questa vulnerabilità
A9-utilizzo di componenti con vulnerabilità note: HDIV non include funzionalità specifiche per questo ma grazie all'interazione le limitazioni applicate all'utente in molti casi non è possibile a sfruttare la vulnerabilità.
reindirizzamenti A10-Unvalidated e indietro: Questa vulnerabilità è principalmente legati alla manipolazione dei dati non modificabili o dati generati precedentemente lato server. HDIV controlla tutti i dati inviati dal server e non consente il reindirizzamento a siti Web dannosi .
Oltre a queste funzionalità per proteggere dalle prime dieci rischi web OWASP, HDIV genera anche registri correlati all'attività dannoso o attacchi contro il vostro sito web, tra cui tutte le informazioni circa l'attacco e il nome utente all'interno di siti web autenticati .
saluti,
Roberto Velasco (squadra HDIV)
- 1. Spring Session e Spring Security
- 2. Scipy.sparse.csr_matrix: come ottenere i primi dieci valori e indici?
- 3. Spring Security: Differenza tra/** e/* url pattern in Spring-Security
- 4. Integrazione Spring Security OAuth2 e Spring Social
- 5. Spring MockMVC, Spring security e Mockito
- 6. Spring Security, Spring MVC e Login Sessions
- 7. Configurazione Spring-Boot e Spring-Security
- 8. Spring Security e integrazione CAS
- 9. Uso programmatico di Spring Security
- 10. Spring-Security con X509?
- 11. Spring Security Encrypt MD5
- 12. Spring Security: setUserPrincipal manualmente
- 13. Spring Security: custom userdetails
- 14. AuthenticationSuccessHandler Spring Security
- 15. Invalidate spring security session
- 16. Spring 3 Security j_spring_security_check
- 17. spring security 403 error
- 18. Spring Security 3.1
- 19. Spring-security, Tomcat e SPNEGO - approccio migliore
- 20. Come implementare Openid connect e Spring Security
- 21. Spring security 3.1.4 e ShaPasswordEncoder deprecazione
- 22. Filtro CORS Tomcat e Spring Security
- 23. Grails 3 e Spring Security Plugin
- 24. Spring Security e OpenID Connect (OIDC)
- 25. Spring Security NoClassDefFoundError
- 26. Spring Security Accesso Ajax
- 27. Spring Security @AuthenticationPrincipal
- 28. Spring SAML Extension e Spring Security Conflitto di protezione CSRF
- 29. Come proteggere l'API REST con Spring Boot e Spring Security?
- 30. Autenticazione con Spring Security + Spring data + MongoDB
Primavera di sicurezza gestisce solo gli URL che fissano e ti dà un quadro di accesso, se il meccanismo di autenticazione sottostante è ancora debole, avrai ancora un potenziale violazione della sicurezza . Spring Security fornisce un meccanismo per forzare SSL sugli URL, ma è comunque necessario un certificato SSL.Quindi, in breve, Spring Security non è sufficiente per soddisfare l'OWASP top 10. –