Considera (scenario abituale) Sei il proprietario di un sito web del carrello acquisti e sei ospitato su Internet, ora la tua società di hosting ti fornisce un database per memorizzare i tuoi dati. Se parliamo di sicurezza, ne abbiamo bisogno per:
- Protezione di file e cartelle sul server (autorizzazioni di accesso).
- Database: protezione del database con password.
- Programmazione: protezione del carrello acquisti (protezione dell'applicazione Web).
- Dati in transito: protezione dei dati in transito quali (registrazione utente, pagamenti, fatture, ecc.) quando il client invia al server e quando il server invia risposte al client (moduli, cronologia ordini, profilo utente, ecc.)
La grande domanda: come garantire l'integrità?
- Determinare l'accesso non autorizzato che ha modificato o provato a modificare i dati?
- Determinazione dell'accesso autorizzato che ha provato o ha fatto azioni non autorizzate?
- Determinazione dell'integrità dell'intero sistema
DB Ad esempio, i dati salvati in database come MySQL e MSSQL non sono crittografati, sono considerati sicuri sul server DB, anche per le righe di hug, la crittografia diminuisce le prestazioni e se l'hacker ottiene accesso al server DB, può anche ottenere la chiave privata.
File e cartelle Consideriamo che abbiamo crittografato tutti i file che eseguono azioni critiche (come controllo degli accessi, salvataggio dei dati, ecc.), Ora, in ogni caso, se l'attaccante ha accesso al server, può aggiungere una riga per inviare tutto ($ _POST, $ _SESSION, $ _COOKIE e $ _GET) a un'email.
Dati in transito Si consideri che SSL è implementato, ma l'attacco man-in-the-middle può ottenere una copia del traffico (questo è possibile). Quante reti tra me e stackexchange.com ora? migliaia! Io - > Il mio ISP (Client - > Core - > Border Routers - > Foreign ISP - > Foreign ISP - > Stackexchange Data Center - > Some Cluster o qualsiasi altro modello - > Stackexchange) Come possiamo garantire che i dati tra queste reti non vengano modificati?
Vedi questa immagine! che attualmente disponibile non è solo un'idea:
A questo punto: sto chiedendo c'è qualche meccanismo per una migliore sicurezza per le applicazioni Web che dipende sempre dai dati in Transit? Spero di ottenere delle risposte che mi facciano passare in questa tristezza per la sicurezza: (