2012-06-18 7 views
5

Lo chiedo mentre gestisco un piccolo sito Web per un gruppo di persone abbastanza isolato (non più di 80). Attualmente ha una semplice funzione di accesso (e-mail, password) ei dati che sono "protetti" sono semplicemente informazioni di contatto per i nostri membri (telefono, indirizzo, e-mail). Il sito web è scritto in PHP e usa My SQL.Quanta sicurezza è davvero necessaria su un sito web "privato"?

In questi ultimi due giorni, ho letto i forum e altri siti sulla sicurezza del sito Web, poiché vorrei migliorarlo sul nostro sito. In questo momento la sicurezza consiste nella protezione dell'iniezione SQL e nelle password con hash MD5 memorizzate in un database. Questo sembra un po 'inadeguato, ma sento anche che è facile prenderlo troppo lontano. Voglio dire che qui non sono esattamente i codici di lancio nucleari, ma le persone di dati di solito si sentono abitabili da mostrare online. Il sito stesso è ospitato da un host web abbastanza rinomato.

L'unica minaccia che posso vedere in questo momento sono burloni che inciampano nel sito e provano alcuni dei loro concorsi fatti in casa?

Quindi pensavo che da qualche parte nel mezzo sarebbe stato sufficiente. Come

  • protezione SQL-injection (migliorare se necessario) il metodo di hash
  • forte con sale
  • XSS-protezione
  • DDoS protezione
  • SSL quando si accede nell'area membri

Cosa ne pensi delle persone più esperte?

Aggiornamento: Vorrei aggiungere che faccio tutto da solo e che non esiste un budget per l'acquisto di fantastiche tecniche crittografiche o l'assunzione di programmatori professionisti.

+0

_Il sito stesso è ospitato da un host web piuttosto rinomato _... non più privato! –

+0

Usa bcrypt per hash le tue password, non è solo per siti ad alta sicurezza, e usarlo può essere facile, come usare un hash md5. Ci sono librerie come [phpass] (http://www.openwall.com/phpass/), e se vuoi capire come funziona, puoi leggere questo [articolo] (http://www.martinstoeckli.ch/ php/php.html # ssl_bcrypt). – martinstoeckli

+0

I tuoi elementi critici saranno la protezione dell'iniezione SQL, la complessità della password minima per gli account utente, una password complessa sul tuo account SSH/amministratore (o disabilita completamente la password auth e l'autenticazione della chiave pubblica per l'account amministratore), la protezione dell'encoder di file remoto, XSS protezione e isolamento dell'utente per il tuo processo httpd. Sarebbe bello avere SSL per i contenuti post-auth. In questo caso non è necessario migliorare l'hashing della password nel database, la protezione DDoS e la protezione CSRF. Non c'è niente di sbagliato nell'avere quelli, ma a meno che tu non abbia un attaccante preso di mira, non ne avrai bisogno. – aroth

risposta

3

per migliorare la sicurezza per l'iniezione SQL , si deve vedere:

Si direbbe di utilizzare PDO, query con parametri.

per conoscere problemi di sicurezza generali, vedi questo post, che copre un sacco:

Audit tuo sito in termini di sicurezza utilizzando:

E

phpSec è una libreria di sicurezza PHP open-source che si prende cura delle compiti di sicurezza comuni a facce web developer.

+0

Ciò richiederebbe l'installazione? Perché non ho accesso al server poiché si tratta di un host condiviso. – Sandokan

+0

@Sandokan: Sì, ma non preoccuparti. Leggi la guida alla sicurezza e poi codice considerando quei punti. – Sarfraz

1

aggiungere la protezione delle vulnerabilità CSRF alla tua lista di sicurezza

Problemi correlati