Requisitos principales para proteger mi aplicación en cualquier función relacionada con la base de datos

1

Tengo una aplicación que está alojada en un servidor de Windows en el que existe una base de datos SQL. Este servidor se comunica con los clientes y agentes instalados en las PC host a través de conexiones TCP / IP y SSL. Actualmente me estoy enfocando en cualquier característica de seguridad relacionada con la Base de Datos. ¿Cuáles son los principales requisitos necesarios para poder lograr un entorno seguro en el nivel de la base de datos? Los principales factores que podría pensar son los siguientes:

  1. Cuenta utilizada por la aplicación para acceder a la base de datos (cuenta de usuario con privilegios mínimos).
  2. Base de datos cifrada.
  3. Controle los derechos de acceso en la base de datos.
  4. Los datos en la base de datos deben estar ocultos.
  5. Controle los derechos de acceso en el servidor.
pregunta Optimus Prime 25.09.2013 - 10:53
fuente

2 respuestas

1

Además de lo que ya ha enumerado, debe validar todos los datos pasados a la base de datos. La entrada no validada puede llevar a secuencias de comandos de sitios cruzados persistentes o inyección de SQL.

Cómo validar la entrada pasada a la base de datos:

  • Identificar las entradas de la aplicación
  • Identificar puntos de entrada de la base de datos
  • Crea y usa validadores
  • Utilice parámetros de seguridad de tipos en las sentencias de SQL (procedimientos almacenados y consultas parametrizadas)

El registro y monitoreo es otra mejora. Puede actuar en caso de cualquier comportamiento anormal. Por ejemplo, puede aplicar un conjunto de reglas para responder cuando su aplicación tenga un comportamiento sospechoso. Existen herramientas / productos que activan la base de datos de montiros y los protegen con un conjunto de defensas preconfiguradas, y lo ayudan a crear una política de seguridad personalizada para su entorno. Puedes buscar en la web si no quieres construirte tú mismo.

Además, puede usar un sistema de detección de intrusiones basado en host como OSSEC para el análisis de registros, la verificación de la integridad de los archivos, el monitoreo de políticas, Alerta en tiempo real y respuesta activa.

    
respondido por el Kerim Oguzcan Yenidunya 25.09.2013 - 16:52
fuente
0

Si puede, una práctica recomendada es manejar toda la lógica de la base de datos con procedimientos almacenados y otorgar a la cuenta que accede a la base de datos solo los procedimientos almacenados, esto ayudará a evitar que un pirata informático que obtiene acceso a la aplicación acceda directamente a las tablas. . Mover la lógica empresarial a los procedimientos almacenados también puede mejorar el rendimiento si reduce el número de llamadas que la aplicación tiene que hacer a la base de datos. Nunca use sql dinámico, de nuevo, eso lo abre a la inyección de SQL y también perjudica el rendimiento porque no aprovecha los planes de consulta en caché. También es una buena práctica cifrar los procedimientos almacenados.

    
respondido por el user17510 25.09.2013 - 17:12
fuente

Lea otras preguntas en las etiquetas