Principios utilizados en la seguridad de base de datos y de redes

Todos sabemos que se debe considerar, la seguridad de la base de datos como lo más importante en el proceso de implementar soluciones que interactuen con información sensible, es decir, si los sistemas de administración base de datos(RDBMS) en la que todos confiamos implícitamente, para llevar guardar nuestra data sensible, no son seguras, el impacto en nuestras vidas, y en general en nuestra sociedad podrían ser devastadores.  En este post vamos a tratar este tema de una perspectiva "inside" (profundo) y a la vez social.

Entonces, si podría decirse que existe dinero en cualquier parte de una red, esa parte es el servidor de la base de datos. Cuando decimos que las economías modernas son confiadas en las computadoras, lo que realmente significa es que las economías modernas son confiadas en los RDBMS (Relational Database Management System). Las bases de datos están detrás de los sistemas que afectan casi cada aspecto de nuestras vidas - nuestras cuentas bancarias, expedientes médicos, pensiones, expedientes de empleo, expedientes del teléfono, expedientes de impuesto, detalles del registro del coche, compras del supermercado - casi cada trozo de información útil en nuestras vidas se almacenan en un Sistema Moderno de Administración de Base de Datos Relacional (RDBMS), como SQL Server, Oracle, DB2, Informix, MySQL, SyBase ASE, PostgreSQL, etc.  En fin, estas son las razones por las cuales se debe considerar la seguridad de la base de datos como algo muy importante e imprescindible.

Bien se sabe que, existen muchos métodos para atacar bases de datos que son desconocidos por la gran parte de administradores de base de datos, profesionales de la seguridad, de los auditores de redes, y cuyas consecuencias se ponen de manifiesto al no saber defender  sus sistemas frente a múltiples variaciones de ataques, o no saber cómo otros los atacan. Por el contrario, que pasaría si supieran cómo podrían ser atacados por otros?, entonces se "defenderian" (y hasta ya no fuera necesario defenderse) debidamente porque entenderían completamente cómo otros podrían atacar sus bases de datos y redes, y esto lo usarían para implementar la seguridad en sus sistemas. Lastimosamente esto no suele suceder en la mayoría de casos, por  otro lado, curiosamente, lo que hace la mayoría de los vendedores de software(como Microsoft, Oracle, DB2, etc), una vez que algún gurú haya encontrado y reportado un bug de seguridad a la empresa, ellos al poco siempo suelen (como siempre, lo cual no es malo) entregarte un hotfix o parches para solucionar el problema. Qué pasaría si a estos gurús no se les pegara la gana de reportar dichos bugs?, entonces la empresa nunca liberaría hotfix o service packs(parches), he aquí nace la pregunta, ¿Cómo cuidas la seguridad de tu servidor de base de datos?. Creo que la mejor manera de defender tu servidor bases de datos y en general, toda tu red contra estos bugs desconocidos - es entendiendo detalladamente los mecanismos de generación de bugs y procurando crear configuraciones que frustren o eviten esto. Claro, esto es muchísimo mejor que simplemente parchar y esperar que nadie ataque tu sistema. No seas un DBA Holgazán!, muchos intrusos se aprovechan de esto!.

Casi siempre, asegurar una base de datos es una cuestión de aplicar los principios tried-and-tested (intentar y testear) que se han utilizado en la seguridad de redes y base de datos por décadas como forzar el privilegio mínimo que reduzca la superficie del ataque removiendo funcionalidad innecesaria (SQL Server 2005 ya es seguro por defecto), siendo estrictos en la autentificación y los controles de acceso, separando bloques de funcionalidad en áreas distintas, implementando enforce encryption, y así, muchos principios más. Entonces, la verdadera y única diferencia es que en una base de datos, todos estos mecanismos funcionan dentro del "pequeño" mundo de la misma.

Seguramente usted sea uno de aquellos que se pone a leer toda la documentación referente a seguridad y quedará contento con conocer una tremenda lista de medidas de seguridad que será su instrumento moderno para mantener segura su base de datos. Esto es bueno y propio de todo administrador responsable, sin embargo pueda que muchas veces, al leer dicha documentación usted se vea confundido con tanta teoría y complicándose la cuestión. Este asunto sería más fácil si usted, como buen DBA, entendiera (lo que más arriba ya mencioné) que casi todos los sistemas de administración de base de datos tienen cierta noción e implementación del manejo de privilegios, de controles de acceso, etc. y que éstos son implementados para luego competir por certificaciones de seguridad que prueban que han puesto apropiadamente estos mecanismos en ejecución. El problema es que aunque estas certificaciones son importantes, son solamente una parte de la historia, y de ninguna manera la parte más importante, ejemplo: los estudios de que RDBMS es más seguro?, algunos de estos dicen que SQL Server es más seguro que Oracle y viceversa. Que rollo!.

En fin, sea cual sea el RDBMS que esté usted usando, si éste viola los mecanismos, principios o standares de seguridad, entonces las evaluaciones y las acreditaciones no estarán trabajando como debería de ser. En todo caso, usted ya sabe que debe atacar el problema raíz frustrando la generación de bug mediante una configuración adecuada. Ahora, juraría, que la seguridad es lo último en lo que usted pone atención!. Claro, no olvidemos que las empresas de hoy en día no invierten en seguridad porque creen que nadie podria atacarlos, no toman consciencia al respecto. He aquí el gran problema más de caracter social que de...

Saludos,

Percy Reyes,

Published 19/9/2007 11:05 por Percy Reyes
Comparte este post:
http://geeks.ms/blogs/ozonicco/pages/principios-utilizados-en-la-seguridad-de-base-de-datos-y-de-redes.aspx

Comentarios

# Principios utilizados en la seguridad de base de datos y de redes

Todos sabemos que se debe considerar, la seguridad de la base de datos como lo más importante en el proceso

Wednesday, September 19, 2007 5:09 PM por SQL Insight by Percy Reyes

# Principios utilizados en la seguridad de base de datos y de redes

Todos sabemos que se debe considerar, la seguridad de la base de datos como lo más importante en el proceso

Monday, November 05, 2007 9:01 AM por Percy Reyes's SQLWebLog @ ComunidadesAndinas.com