Máxima seguridad en aplicación Web

Voy a desarrollar un proyecto en PHP con programación propia y base de datos PostgreSQL. En este proyecto es super importante la seguridad porque voy almacenar datos de vital importancia (tarjetas de bancos, datos de clientes, direcciones, teléfonos, móviles, etc)
Como medida preventivas he decidimo montar la siguiente estructura:
1. Servidor físico e instalar VMware ESXi o XenServer
2. Tres VPS: VPS 1. Servidor Web (Cpanel+Apache+PHP 5+FW CSF+Modsecurity+SSL)  VPS . DMZ/Firewall VPS3: Base de datos (PostgreSQL+FW CSF)
¿Qué medidas podemos integrar para darle más seguridad? ¿Es una estructura correcta? ¿Qué otra alternativa podemos utilizar o herramientas/hardware?
Respuesta
1
En principio me parece bien la estructura que planteas, aunque desconozco el entorno físico sobre el que va a estar montado (no sé si tienes zonas diferenciadas como un Intranet, Internet, VPN´s, etc.). Si tuvieras zonas diferenciadas como las que acabo de citar es posible que necesitaras más de un servidor.
Lo que sí que me parece acertado es el entorno de virtualización: VMware es na excelente elección que te dará unas posibilidades enormes para que configures tu entorno.
En cuanto a productos o medidas a integrar, y puesto que necesitas unas medidas de seguridad altas, yo te aconsejaría montar uno (o varios) IDS (Sistemas de Detección de Intrusos). Esta no es una medida que tengas que tomar de inmediato, puesto que al principio estará muy liado con la configuración y corrección de algunos detalles, pero es algo que no debe faltar. Muchas veces nos centramos es una seguridad física fuerte para prevenir ataques del exterior y olvidamos que los ataque pueden venir del interior. Con unas herramientas de monitorización situadas estratégicamente podemos detectar y analizar cualquier ataque (o intento) que suframos, venga de donde venga. La única pega que tiene montar un IDS es que necesita supervisión (en ocasiones de distintos niveles); no sé cómo andarás de recursos humanos, pero creo que merece la pena añadirlo como parte del proyecto (como digo, no necesariamente al inicio pero sí a corto/medio plazo). Si te interesa, puedes mirar este enlace sobre formación en este aspecto.
Por último (y ya acabo esta parrafada), debes tener en cuenta que un punto tan importante como todo lo anterior es una correcta configuración de los productos, actualizándolos constantemente para corregir las vulnerabilidades que surgirán inevitablemente. Además, has de ser cuidadoso en la programación evitando, por ejemplo, mostrar al usuario mensajes de error del servidor o tratando todos los campos en los que el usuario pueda introducir datos.
Espero que todo el rollo te haya servido de algo!

1 respuesta más de otro experto

Respuesta
1
La verdad yo lo instalaría con Open Suse ya que el kerner de linux es mejor considero yo.
Mmm bueno otra cosa que podrías usar seria información incriptada para tus bases de datos, que el algoritmo solo los tenga tu software, en tu caso tu webpage, pero encriptada también para que nadie lo pueda ver y que solo se pueda acceder a tu información por medio de tu algoritmo!
También creo que tus tablas deben de tener rutas o datos privados, creo que si pueden programar con objetos y cosas privadas, seria mucho mejor para que solo por medio de tu aplicación puedan entrar a estos datos
Saludos, cualquier duda o comentario estoy para servirte !

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas