proteger ciertos datos en mi servidor web

1

He desarrollado un sitio web donde las personas agregan sus datos confidenciales. No tarjetas de crédito, pero digamos que comparten cosas sobre sí mismos que son privadas y no sería bueno si otras personas vieran esa información. Algunos de los datos son privados, otros son públicos.

Quiero mantener la privacidad de los datos privados como en ... Si alguien irrumpe en el servidor, quiero que puedan extraer versiones cifradas, en lugar de texto plano sobre las cuentas de mis usuarios.

Lo que he pensado hasta ahora es lo siguiente. 1. Certificado SSL (no protege realmente los datos en el servidor, pero la conexión) 2. los datos que se comercializan de forma privada se cifran mediante una serie de algoritmos (me imagino que serían pesados en el servidor) 3. cifrar las funciones php que codifican / decodifican los datos.

No estoy muy bien preparado para esto, así que me gustaría saber qué se considera la mejor práctica para mi situación. ¿Estoy complicando demasiado el proceso?

El problema es que la aplicación no genera ningún ingreso, por lo que no puedo pagar un administrador de sistema, ni puedo cuidar el tráfico las 24 horas, los 7 días de la semana. Estoy buscando una solución que cuide por sí sola. Tampoco puedo gastar $$$ en software sofisticado que haría el trabajo. Estoy mirando para arrancar la aplicación tanto como sea posible. Puedo pagar el certificado SSL pero no un Zend Guard de 600 $, por ejemplo.

PS. He usado codeigniter hasta ahora para escribir mi código php si eso importa.

Sugerencias?

    
pregunta Ando 12.04.2013 - 19:48
fuente

2 respuestas

2

La mayoría de las veces, estos allanamientos ocurren a través de la propia aplicación. Si su cifrado es transparente para la aplicación, o para la parte de la aplicación a través de la cual se produce la interrupción (es decir, el cifrado ocurre en una función llamada para cualquier entrada / salida de datos), entonces no está agregando ninguna seguridad.

Al mismo tiempo, si sus funciones de cifrado solo se usan explícitamente en unas pocas páginas, entonces, digamos, la inyección de SQL de otra forma hará que el atacante solo cifre los datos.

En resumen, limite la accesibilidad de los datos sin cifrar en toda la aplicación y verifique los pocos lugares restantes para al menos la inyección de SQL (use declaraciones preparadas). No es necesario cifrar el PHP en sí mismo, no va a ayudar mucho contra un atacante determinado.

    
respondido por el Vitaly Osipov 13.04.2013 - 07:51
fuente
1

codeigniter tiene rutinas de cifrado que podrían usarse para almacenar información confidencial. Se debe tener en cuenta que el cifrado es solo una falla en la planificación. La raíz del problema es tener vulnerabilidades en su aplicación web que le permiten a un atacante tener acceso a sus datos. Inyección de SQL, XSS y CSRF deben abordarse primero. Es posible que se pueda usar una simple vulnerabilidad de XSS para leer información sensible a texto sin formato, independientemente del uso del cifrado.

Asegúrese de dominar el Top 10 de OWASP .

    
respondido por el rook 12.04.2013 - 19:53
fuente

Lea otras preguntas en las etiquetas