¿Por qué es importante la seguridad en una base de datos?
La seguridad en una base de datos no solo es importante desde un aspecto técnico, donde se previene corrupción de datos, que la información no este disponible durante un periodo de tiempo sino que también significa mantener a salvo las actividades operativas y la rentabilidad financiera de una organización frente a sus competidores. Ahora no solo decimos que quien tiene la información tiene el poder, sino que reluce un aspecto que es como se utilizará esa información y que fin tendrá. Por ello un ataque a nuestro servicio, no solo duplicaría información para terceros, podría dejarnos con el sistema fuera de línea, se tomarían decisiones erradas basadas en información que perdió su integridad y donde no se supo quien fue el responsable de dicha acción (Auditorías) o sencillamente se le daría información a personas que no les corresponde saberla y en temas legales eso es muy perjudicial para un DBA y la empresa en que labora.
¿A qué niveles se puede implementar seguridad en una base de datos?
Se puede implementar a nivel de sistema operativo donde se instala el producto de base de datos. A nivel de usuarios y roles cuando se crean los esquemas en base de datos, TENIENDO EN CUENTA también los objetos y permisos administrativos que se denegan desde el SYS y el SYSDBA A nivel funciones, procedimientos y disparadores para generar auditorìa de las transacciones hechas en la base de datos. A nivel de hardware donde corre la base de datos y el almacenamiento que se distribuye. También en copias secundarias para futuras restauraciones y generación de backup para conservar un histórico de la data. A nivel de aplicación con el número de sesiones y transacciones de I/0 permitidas. Expiración de la contraseña y bloqueos de cuenta. ¿Enuncie 3 estrategias de seguridad que recomendaría en una base de datos? La seguridad responde a tres objetivos: Confiabilidad - Integridad y Disponibilidad. Confiabilidad indica que se debe entregar información solo a quien debe visualizarla, por lo que se maneja con autenticación de usuarios, contraseñas seguras y cifradas en base de datos, GRANT y REVOKE tanto sobre vistas y tablas del sistemas como visualización sobre las operaciones DML que puede realizar un esquema. Por ella se determina si tiene solo perfilación de usuario final o desarrollo. En principio operaciòn DDL y DELETE no son permitidos, por lo que la asignación de privilegios (connect) o roles (conjunto de privilegios - SELECT - UPDATE - INSERT-) son muy importantes. Integridad de la información: Indica que sepamos quien modificó un dato, por ejemplo una solicitud de inmovilización de un vehículo de VIGENTE a CANCELADO para evitar temas de corrupción recurrimos a auditorias hechas con procedimientos y disparadores sobre el usuario, maquina, IP, MAC, detalle del cambio hecho, fechas que realizaron el cambio del estado de la tupla. Esto previene además el NO REPUDIO de las acciones hechas en el sistema generando trazabilidad. Disponibilidad: Una base de datos es segura en ambiente productivo si se encuentra en clúster, manteniendo la alta disponibilidad respecto del hardware donde se encuentra implementada, en caso que se generen errores en las máquinas o por temas de cuello de botella que puedan detonar en una denegación de servicios. Otra buena práctica para mantener segura la base de datos radica en el almacenamiento, pues la agrupación de discos que se genere para almacenar producción debe ser distinta de la usada para ambientes de desarrollo por temas de degradación y rendimiento del hardware. A nivel lògico se puede realizar al asignar la Quota y los tablespaces donde se escribiràn los datos y se ejecutaràn los objetos. ¿Qué tipo de sentencias se usan para implementar seguridad en base de datos? CREATE USER SALUD IDENTIFIED BY SENA DEFAULT TABLESPACE USERS ; GRANT CONNECT, RESOURCE TO SALUD; BEFORE INSERT ON tipoafiliado FOR EACH ROW -- En caso de usar disparadores ACCOUNT LOCK - UNLOCK ¿Que es un trigger y para que se utilizar? Un disparador o trigger es un objeto de base de datos que se activa cuando sucede una transacción, se puede indicar que tipo de operación DML queremos auditar, esto se usa para tener trazabilidad de las operaciones que hacemos sin afectar o sobrepoblar las tablas transaccionales. Además permite optimizar operaciones en la capa media o de aplicación si se trata de escribir o actualizar en las tablas. Dejo los siguientes enlaces para revisar más a fondo el tema de seguridad en ORACLE http://www.monografias.com/trabajos908/oracle/oracle2.shtml https://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html Quedo atento Jheyner