Cuando nos referimos a la información que se encuentra en
bases de datos públicas lo primero que pensamos es que podemos acceder sin
mayores restricciones a toda la información que ésta contiene; o pensar también
que porque un organismo es público toda la información de éste es de carácter
público también; sin embargo, no necesariamente es así.
Los organismos dueños de información pública deben pasar por
un proceso para determinar qué tipo de información es realmente pública y cuál
no, cuáles van a ser los datos que estarán en bases de datos públicas y cuáles
no, y cuáles serán los datos que deben ser asegurados y cuáles no, todo esto
basado en una serie de análisis que involucrarán a las personas, a los procesos
y por supuesto a la tecnología.
Se debe trabajar en un análisis de riesgos que permita identificar
primero cuáles son efectivamente estos datos que debemos asegurar; ya que los
organismos, empresas, entidades como las quisiéramos denominar no sólo tienen
datos que podrían ser públicos; sino que tienen información de todo tipo; es
decir, información pública, información privada o información confidencial y con
esta clasificación hemos contestado la primera y más importante pregunta: “¿Qué
información dentro de mi organización, es realmente un dato público?”
La siguiente pregunta a responder sería “¿Dónde están mis
datos públicos?”, podrían estar almacenados en medios físicos como, por
ejemplo: documentos impresos, reportes, etc. o en medios informáticos como por
ejemplo en archivos office (Word, Excel, PowerPoint, etc.) o en bases de datos
de aplicaciones más complejas. Y junto con esto tendremos que definir el lugar
donde mis datos públicos van a estar efectivamente expuestos para acceso público;
es decir, debemos conocer o definir el medio de exposición; si es a través de la
página web de la organización, o redes sociales, o quioscos de información, o
la intranet de la organización, o simplemente una repisa a la entrada del
edificio donde cualquiera que pasa puede tomar la información impresa.
Pero vamos a centrarnos en lo siguiente: ¿Qué hacer si mis
datos públicos están en las bases de datos de los sistemas de aplicación de mi
organización?, con lo que surge la siguiente pregunta que sería: ¿Estas bases
de datos solo contienen información pública?
La respuesta a esta segunda pregunta es muy probablemente: “No, las
bases de datos contienen la información de la organización, parte de la cual es
efectivamente pública y el resto no”.
Aquí comienza el trabajo de definir “¿Cómo vamos a asegurar la
información en mis bases de datos?”. La información que efectivamente es
pública, “¿Tenemos que asegurarla de alguna manera?” A lo que la respuesta a esta segunda pregunta
sería: “Si, tenemos que asegurarla de alguna manera porque la seguridad de la
información se basa en tres premisas que son: confidencialidad, integridad y
disponibilidad, así que, si bien la información no es confidencial, tenemos que
asegurarnos que la información pública sea íntegra o confiable y esté
disponible cada vez que se lo requiera por quien la requiera.
Para responder el cómo existen varios niveles donde la
seguridad de la información debe ser establecida y la primera gran
clasificación sería la seguridad física y la seguridad lógica.
Al mencionar la seguridad física nos referimos a la
seguridad de los equipos, el hardware, los equipos servidores en donde residen
las bases de datos; hoy en día ya no necesitamos tener nuestro centro de
cómputo en el mismo edificio donde trabajamos; tenemos el cloud computing o la nube,
donde la seguridad de nuestros datos depende del tipo de nube y son tres. “Nubes públicas”, todos los servicios están
en servidores externos propiedad del proveedor o dueño de la nube, la
información de muchas empresas está mezclada en los servidores, la seguridad de
los datos recae totalmente en el proveedor o dueño de la nube. “Nubes privadas”,
todos los servicios están en servidores propios dentro de las instalaciones y
todo pertenece solo a la organización, la seguridad depende exclusivamente del
personal de TI de la organización; por lo que se las considera las más
seguras. “Nubes híbridas”, combinan los
dos modelos anteriores; la seguridad de los datos es compartida con el
proveedor de la nube pública. Aquí la
seguridad de la información se basa en que sin importar donde físicamente se
encuentren nuestras bases de datos, éstas deben estar siempre “disponibles”
para lo cual se debe implementar procesos de respaldos de la información,
creación de discos espejos, servidores alternos de backup, monitoreo continuo
del performance de los equipos, entre otros.
Cuando nos referimos a seguridad lógica el espectro a
considerar es mucho más amplio, ya que para implementar la seguridad de los
datos en las bases de datos debemos tener en cuenta también la seguridad en el
sistema operativo donde se encuentra instalada la base de datos y las
seguridades en el sistema de aplicación al que pertenece la base de datos; con
estas consideraciones la “integridad” o “confiabilidad” de los datos se verá
resguardada.
Los puntos claves para establecer la seguridad en los sistemas
operativos; sin importar si es un Windows, Unix, o cualquier otro, reside en la
importancia que se les da a los usuarios administradores que vienen por default
en el momento de instalar el sistema operativo o los que son creados para el
personal de TI. Buenas prácticas en este
sentido son, por ejemplo: cambiar las claves que vienen por default en los
usuarios “admin”, “administrador”, “root”, etc. de los sistemas operativos,
asignar la responsabilidad de administrador a una sola persona del área de TI, no
crear usuarios con permisos de administrador para usuarios que no son el
administrador, cambiar periódicamente las claves por cada usuario,
parametrización de complejidad de claves, definiciones de acceso remoto solo
para el personal técnico autorizado, habilitar exclusivamente los puertos
necesarios, entre las principales; mientras más usuarios existan a nivel de
sistema operativo mayores parametrizaciones de seguridad se deben implementar.
Tenemos también que establecer la seguridad a nivel de la
base de datos, existe una diversidad de bases de datos que se utilizan como por
ejemplo Oracle, MS SQL, MySQL, Sybase, Hana, etc. que al igual que los sistemas
operativos, en el momento de instalarla se crean por default usuarios
administradores y no administradores que debemos parametrizar de forma correcta;
es decir la administración de los usuarios en la base de datos es
primordial. Además, para garantizar la
integridad y confiabilidad de los datos que van a residir en ella se deben
considerar los permisos a los recursos compartidos que podrían existir y
también, una buena práctica es el establecimiento del monitoreo a través de
logs que deben ser revisados en forma periódica por personal independiente de
los administradores; ya que ellos también deben formar parte de los usuarios a ser
monitoreados.
Luego tenemos la seguridad a nivel del sistema de
aplicación, donde establecer la seguridad a este nivel depende de algunas
aristas como son:
Accesos por usuario, cuya seguridad se define dependiendo
del perfil del usuario o rol dentro de la aplicación de acuerdo a sus funciones
dentro de la organización; con esto correctamente definido podemos decir que el
personal podrá realizar en el sistema aplicativo solo lo que está autorizado
hacer de acuerdo a sus funciones y así la información que ingresa, cambia o
elimina será la que efectivamente debe administrar.
Parametrización de contraseñas, las buenas prácticas a
aplicar son muy parecidas a las que se aplican a nivel de sistema operativo y
bases de datos.
Tipo de aplicación e interfaces, si la aplicación es
centralizada, distribuida, en entorno web, en nube, mobile, si se integra o no
con otras aplicaciones, según todo esto la definición de las seguridades para
los datos se verá afectada también.
Un punto adicional es asegurarse contra ataques de inyección
SQL ya que éstos lo que buscan es burlar las restricciones de acceso a las
bases de datos en aplicaciones web; estos ataques se evitan a través del uso
adecuado de sentencias sql en los lenguajes de programación que desarrollan
aplicaciones web como por ejemplo: Java, C#, Php.
Y por último y no menos importante está la seguridad en la
red donde reside la base de datos la misma que sin importar si es una red LAN,
WAN, VLAN, o Wireless; lo más importante
son los permisos de accesos a los usuarios autorizados, los puertos que deben
estar habilitados o no y el monitoreo continuo de éstos.
Como conclusiones podemos decir que una base de datos
pública debe ser asegurada para minimizar el riesgo de sufrir incidentes
como: ataques externos (integridad),
caídas o fallos sea de hardware o software (disponibilidad) y acceso por
usuarios no autorizados (confidencialidad) estableciendo niveles de protección desde
las capas más básicas del sistema que deben ser monitoreados en forma
permanente.