¿La sabiduría de exponer un servidor de base de datos en Internet?

¿La sabiduría de exponer un servidor de base de datos en Internet?

El liderazgo de la pequeña empresa para la que trabajo se ha entusiasmado mucho con SaaS y está impulsando nuestro producto a una implementación SaaS. Esto me preocupa porque parte de la funcionalidad del producto se basa en que los usuarios puedan utilizar la inteligencia empresarial. herramientas para escribir informes en la base de datos subyacente de la aplicación.

Cuando pregunto cómo planeamos proporcionar esa funcionalidad en el modelo SaaS, me reciben miradas en blanco y la respuesta es simplemente que expondremos el servidor de la base de datos en Internet y permitiremos que las personas consulten la base de datos como si se estuviera ejecutando en Internet. su red corporativa.

Esto me asusta muchísimo, pero no sé si simplemente estoy siendo paranoico o si hay motivos importantes para estar preocupado.

Entonces mi pregunta es: ¿es posible reforzar adecuadamente la seguridad de un servidor de base de datos Oracle para que no tengamos que preocuparnos por el hecho de que quedará expuesto en Internet? Y si es así, ¿qué recursos debería investigar para aprender a hacer esto? La base de datos almacenará información patentada que nuestros clientes no querrían exponer al mundo y, sin embargo, se ha rechazado rotundamente una propuesta para poner esta funcionalidad detrás de una VPN.

Mis búsquedas sobre cómo fortalecer una base de datos Oracle han incluido prácticamente todas declaraciones como "Nunca hagas un agujero en tu firewall", por lo que podría ser que la respuesta correcta aquí sea "Actualiza tu currículum lo más rápido posible", pero Agradezco cualquier consejo que puedas dar.

Respuesta1

Exponer una base de datos no es realmente unagiganteproblema en comparación con algunos de los otros servicios que a menudo están expuestos a world+dog... excepto que es un sistema complicado con muchas vulnerabilidades potenciales, incluida la escalada de permisos. Me aseguraría de no exponer la base de datos a consultas públicas y ejecutarla con SSL requerido, etc. Yo diría que es posible, pero sí, debería ser paranoico y debería mantener una instalación de base de datos separada para la pública. Si su empresa no está dispuesta a pagar los costos de la licencia por eso, sí, no lo haga.

Desde el punto de vista del cliente/soporte, conectarse directamente a la base de datos puede ser un problema si el ISP del cliente bloquea ciertos tipos de puertos o tráfico.

En un modelo SaaS, lo que generalmente querrás que hagan tus programadores es escribir una API que pueda consultarse desde la aplicación. Las API de esta naturaleza normalmente operan a través de https y proporcionan datos a la aplicación en la respuesta HTTP. Bonificación adicional: funciona desde cualquier lugar donde funcione la web, es MUY fácil almacenar en caché conjuntos de resultados usando memcached u otras tecnologías de almacenamiento en caché para reducir la carga en el servidor de base de datos, y la autenticación http está bastante bien respaldada y probada.

Respuesta2

Configuraría un segundo servidor de base de datos en la DMZ, importaría volcados a esa base de datos y pondría a disposición la publicidad de esa base de datos.

Respuesta3

Como estoy seguro de que estará de acuerdo, prácticamente, por definición, el acceso y la seguridad son compensaciones. Y usted tiene la tarea de hacer que los datos confidenciales sean accesibles.

La respuesta corta es que puede mitigar gran parte del riesgo con trucos de firewall, una arquitectura de red sólida, conjuntos de parches actualizados, auditoría de acceso y abundantes copias de seguridad.

La administración de contraseñas también viene a la mente como algo complicado de lograr, a menudo las cuentas de aplicaciones tienen contraseñas que nunca caducan y se implementan controles de acceso físico/de red para garantizar que los ex empleados con conocimiento de contraseñas no puedan acceder a los datos. Si su servidor de base de datos está expuesto a todo Internet, esto parece algo difícil de hacer.

Probablemente también querrás definir un 'hemos sido comprometidos, ¿qué hacemos ahora?' estrategia, para que puedas establecer expectativas para todos los involucrados y tener un plan de acción para cuando se te acabe la suerte.

Respuesta4

SaaS es un bien.

Exponer un servidor de base de datos a Internet no es tan bueno.

¿Por qué lo necesitan expuesto? ¿Es por RPC y no quieren usar puertos RPC estáticos?

Pero existen algunos firewalls de aplicaciones excelentes y si bloquea el puerto endmapper de la base de datos y luego lo corta con un firewall, puede hacer algunas cosas buenas con ACL, restricciones de IP, etc.

Y necesitará auditar los registros de eventos, el análisis de vulnerabilidades, etc.

información relacionada