2012-06-18 13 views
5

Pregunto esto porque tengo un sitio web pequeño para un grupo de personas bastante aislado (no más de 80). Actualmente tiene una función de inicio de sesión simple (correo electrónico, contraseña) y los datos que están "protegidos" son meramente información de contacto para nuestros miembros (teléfono, dirección, correo electrónico). El sitio web está escrito en PHP y usa My SQL.¿Cuánta seguridad realmente se necesita en un sitio web "privado"?

Estos últimos días, he estado leyendo los foros y otros sitios sobre seguridad del sitio web, ya que me gustaría mejorarlo en nuestro sitio. En este momento, la seguridad consiste en protección de inyección SQL y contraseñas con hash MD5 almacenadas en una base de datos. Esto parece bastante inadecuado, pero también siento que es fácil llevarlo demasiado lejos. Me refiero a que aquí no se trata exactamente de códigos de lanzamiento nuclear, pero los datos que las personas suelen sentirse incómodos de mostrar en línea. El sitio en sí está alojado por un servidor web bastante conocido.

La única amenaza que puedo ver en este momento es que los bromistas tropiezan con el sitio y prueban algo de su concotión casera.

Así que pensé que en algún lugar en el medio sería suficiente. Al igual que

  • protección de inyección SQL (mejorar si es necesario) el método de hash
  • fuerte con sal
  • de protección contra XSS
  • DDoS protección
  • SSL al acceder al área de miembros

¿Qué piensan las personas más experimentadas?

Actualización: Me gustaría añadir que yo hago todo yo mismo y no hay un presupuesto para comprar técnicas de criptografía sofisticadas o contratar programadores profesionales.

+0

_El sitio está alojado por un servidor web bastante conocido _... ¡ya no es privado! –

+0

Use bcrypt para descifrar sus contraseñas, no es solo para sitios de alta seguridad, y usarlo puede ser tan fácil como usar un hash md5. Hay bibliotecas como [phpass] (http://www.openwall.com/phpass/), y si quiere entender cómo funciona, puede leer este [artículo] (http://www.martinstoeckli.ch/ php/php.html # ssl_bcrypt). – martinstoeckli

+0

Sus puntos críticos serán protección de inyección SQL, complejidad mínima de contraseña para cuentas de usuario, una contraseña segura en su cuenta SSH/administrador (o desactivar contraseña completamente y usar autenticación de clave pública para la cuenta de administrador), protección de inclusión de archivos remotos, XSS protección y aislamiento del usuario para su proceso httpd. Es bueno tener SSL para el contenido posterior a la autenticación. En este caso, no se requiere un hashing de contraseñas mejorado en la base de datos, protección DDoS y protección CSRF. No tiene nada de malo tenerlos, pero a menos que obtenga un atacante específico, no los necesitará. – aroth

Respuesta

3

para mejorar la seguridad para la inyección de SQL , debe ver:

Sería le recomiende utilizar PDO, consultas con parámetros.

para aprender sobre problemas de seguridad generales, ver este post, que abarca una gran cantidad:

Auditoría su sitio en términos de seguridad usando:

Y

phpSec es una biblioteca de seguridad de PHP de código abierto que se encarga de las tareas de seguridad comunes que enfrenta un desarrollador web.

+0

¿Eso requeriría instalación? Porque no tengo acceso al servidor porque es un host compartido. – Sandokan

+0

@Sandokan: Sí, pero no se preocupe. Lea la guía de seguridad y luego codifique teniendo en cuenta esos puntos. – Sarfraz

1

Agregar protección de vulnerabilidades CSRF a su lista de seguridad

Cuestiones relacionadas