viernes, 21 de marzo de 2014

AUDITORIA

AUDITORIA

            Cuando se habla de auditoría se dice que es un proceso que se lleva a cabo por profesionales especialmente capacitados, que consiste en recoger, agrupar y evaluar evidencias para determinar si un sistema de información salvaguarda sus activos, mantiene la integridad de los datos, lleva a cabo eficazmente los fines de la organización.. Además de Permitir detectar de forma sistemática el uso de los recursos y los flujos de información dentro de una organización y determinar qué información es crítica para el cumplimiento de su misión y objetivos, identificando necesidades, valor y barreras, que obstaculizan flujos de información eficientes. Por lo que la auditoria informática tiene 2 tipos las cuales son: AUDITORIA INTERNA: es aquella que se hace dentro de la empresa; sin contratar a personas de afuera. AUDITORIA EXTERNA: como su nombre lo dice es aquella en la cual la empresa contrata a personas de afuera para que haga la auditoria en su empresa. Teniendo en cuenta que auditar principalmente es estudiar los mecanismos de control que están implantados en una empresa u organización, determinando si los mismos son adecuados y cumplen  determinados objetivos o estrategias, estableciendo los cambios que se deberían realizar para la consecución de los mismos.
            Es preciso tener en cuenta que todos los factores que pueden amenazar la privacidad no solamente son los intencionados. Desde el punto de vista de los usuarios, los peligros derivados de los incidentes del entorno o de errores humanos que alteren la información pueden ser tan costosos como los ataques intencionados. Es imprescindible que la seguridad de la información sea tomada en cuenta como la capacidad que tienen los sistemas de información para resistir   los accidentes o acciones malintencionadas, que pongan en peligro la disponibilidad, autenticidad, integridad y confidencialidad de los datos almacenados o transmitidos.
            Por lo que vale destacar la importancia del cumplimiento los objetivos de la auditoría Informática  debido a que son mecanismos para optimizar el análisis en  la eficiencia de los Sistemas Informáticos por medio de la verificación y del cumplimiento de la normas de revisión de gestión de los recursos informáticos. Sin dejar de mencionar la implicación que tienen los informes en la auditoria ya que por medio del mismo se puede desarrollar el proceso de captación y tratamiento de la información  obtenida del sistema auditado.
            De acuerdo a lo antes mencionado  se puede decir, que la aplicación de  la auditoria tiene beneficios muy relevantes ya que trae consigo una mejor confianza en los usuarios sobre la seguridad y control de los servicios de información, disminuyendo los costos de la mala calidad de los procesos, generando un balance de los riesgos en los activos, Realizando un control de la inversión en un entorno de seguridad.

jueves, 12 de septiembre de 2013

SISTEMAS GESTORES DE BASE DE DATOS (SGBD)


Para dar una definición de un Sistema Gestor de Bases de Datos es necesario tener claro lo que es una base de datos, la cual se puede definir como una colección de datos almacenados ordenadamente bajo ciertas restricciones, las cuales permiten una fácil inserción de datos así como el rápido acceso a los mismos, poder modificarlos y su eliminación de forma apropiada y sencilla. Las restricciones y estructura de una base de datos están hechas a partir de la problemática que se quiere resolver o a la situación que se presenta. Para crear una base de datos que tenga la estructura que se desea tener y se puedan incluir las restricciones que resuelvan la problemática es necesario un software especializado en realizar esta labor, es entonces que se crean los SGDB (Sistemas Gestores de Bases de Datos).

. Ayuda a realizar las siguientes acciones:
  • Definición de los datos
  • Mantenimiento de la integridad de los datos dentro de la base de datos
  • Control de la seguridad y privacidad de los datos
  • Manipulación de los datos

Un sistema gestor de base de datos está compuesto de:

El gestor de la base de datos

Se trata de un conjunto de programas no visibles al usuario final que se encargan de la privacidad, la integridad, la seguridad de los datos y la interacción con el sistema operativo. Proporciona una interfaz entre los datos, los programas que los manejan y los usuarios finales.
Cualquier operación que el usuario hace contra la base de datos está controlada por el gestor.

El gestor almacena una descripción de datos en lo que llamamos diccionario de datos, así como los usuarios permitidos y los permisos.
Tiene que haber un usuario administrador encargado de centralizar todas estas tareas.

Diccionario de datos

Es una base de datos donde se guardan todas las propiedades de la base de datos, descripción de la estructura, relaciones entre los datos, etc.
El diccionario debe contener:
  • La descripción externa, conceptual e interna de la base de datos
  • Las restricciones sobre los datos
  • El acceso a los datos
  • Las descripciones de las cuentas de usuario
  • Los permisos de los usuarios
  • Los esquemas externos de cada programa

El administrador de la base de datos

Es una persona o grupo de personas responsables del control del sistema gestor de base de datos.
Las principales tareas de un administrador son:
  • La definición del esquema lógico y físico de la base de datos
  • La definición de las vistas de usuario
  • La asignación y edición de permisos para los usuarios
  • Mantenimiento y seguimiento de la seguridad en la base de datos
  • Mantenimiento general del sistema gestor de base de datos
Seguridad y respaldo
Seguridad
     Vegas (1998)  señala que   la información dicen que es poder, y como las BD son un almacén de información también almacenan poder, por lo que han sido objeto de intentos de acceso no autorizados desde su nacimiento. Por eso, las BD se han dotado de unos mecanismos que hacen posible la gestión de la seguridad en el acceso a la información que almacenan.

           Roles del Sistema
                Los roles se pueden utilizar para gestionar los comandos de sistema disponibles para los usuarios. Estos incluyen comandos como CREATE TABLE o SELECT ANY TABLE. Todos los usuarios que quieran acceder a la BD deben tener el rol CONNECT; aquellos que necesiten crear segmentos necesitaran el rol RESOURCE. Un usuario con el rol DBA tiene derecho para ver y manejar todos los datos de la BD. En Oracle CONNECT, RESOURCE y DBA son roles de sistema. Las acciones contra cada tipo de objeto son autorizadas por privilegios separados. Así, un usuario puede tener concedido el privilegio CREATE TABLE, pero no el ALTER TABLE.
           Implementación de Seguridad
                No se podrá acceder a la BD a menos que se acceda primero al servidor en el que la BD está ejecutándose. El primer paso en la seguridad de la BD es asegurar la plataforma en la que reside. Una vez que esto ha sido conseguido, se debe considerar la seguridad del sistema operativo. Oracle utiliza una serie de ficheros a los que los usuarios no tienen por qué acceder de manera directa. Por ejemplo, los ficheros de datos o los de redo log son escritos y leídos sólo por los procesos Oracle. Así, sólo los DBAs que han creado estos ficheros necesitan acceder directamente a ellos a nivel del sistema operativo.

Respaldo de Base de Datos

¿Qué es realizar un respaldo? Un respaldo, backup, en base de datos, es el proceso de una copia de seguridad de toda la información contenida en una base de datos, con el fin de que estas copias adicionales puedan utilizarse para restaurar el original después de una eventual pérdida de datos


Que es un respaldo en caliente y en frió? 

  Respaldo en frió: un respaldo en frió se realiza deteniendo el uso de la base de datos o aplicaciones que trabajen ella, de forma que solo se respaldara la información sobre la que se tiene conciencia el gestor de bases de datos.

Respaldo en caliente: un respaldo en caliente se realiza mientras la base de datos esta en uso y generar archivos REDO LOG los cuales guardara todo sobre el respaldo hasta que este sea parado

Una de las tareas al administrar es permitir el acceso a bases de datos y asignar permisos sobre los objetos que conforman una base de datos.
Para conectarnos con un servidor necesitamos de un modo de acceso que incluya los permisos que dispondremos  durante la conexión; estos permisos se definen a partir  de un nombre de usuario.
Un usuario: es un identificador necesario para acceder a una base de datos.
Un usuario es un conjunto de permisos que se aplican a una conexión de base de datos.
Un usuario es además propietario de ciertos objetos.
Los privilegios (permisos) especifican que operaciones puede realizar un usuario y sobre que objetos de la base de datos tiene autorización, es decir, que tarea puede realizar con esos objetos y si puede emitir  determinadas instrucciones. Estas operaciones pueden ser de dos tipos: de sistema y sobre objeto.

Un rol de base de datos es una agrupación de permisos de sistema y de objeto.
Un rol (roles) es un grupo de usuarios; permite agrupar usuarios para aplicarles permisos; así, al agregar un nuevo usuario a la base de datos,  no es necesario concederle  permiso para cada objeto, sino que lo agregamos a un rol;  cuando asignamos permisos sobre un objeto al rol, automáticamente el permiso afectara a los usuarios que pertenezcan a tal rol. 
Los permisos controlan el acceso a los distintos objetos de una base de datos; pueden concederse a nivel de usuario (individualmente o a nivel de rol a todos los usuarios de un grupo).
Los permisos que un usuario tiene en una base de datos dependen de los permisos  de usuario y de los roles al que pertenezcan dicho usuario.
Usuario, roles y permisos son la base de los mecanismos de seguridad


 Los SGDB deben tener ciertas características indispensables para administrar una base de datos, alguna de ellas son las siguientes:
·         Manipulación de los datos, lo cual quiere decir que se puedan realizar las acciones de inserción, actualización y eliminación de los datos, esto de una manera sencilla tanto para el usuario como para el programador.
·         Control de la privacidad de los datos, es decir que se mantengan seguros mientras están almacenados y sus relaciones entre sí no se afecten al manipularlos.
·         Copia de seguridad y recuperación: es necesario que si llegasen a presentarse fallos en el sistema los datos anteriores al momento del fallo se mantengan intactos así como tener la posibilidad de generar copias de seguridad.
·         Implantación de la integridad, cuando insertemos o actualicemos los datos estos deben cumplir con las restricciones que se han fijado al crear la base de datos, de lo contrario sería posible almacenar un dato cuya longitud o tipo de dato no es el que se fijó al crear la base de datos.
·         Que sea posible definir los niveles de abstracción de una base de datos (físico, lógico y vistas).
·         Control de concurrencia, debe de ser posible que varios usuarios actualicen la base de datos de manera concurrente sin perder parte de los datos o su organización.
Posterior a la aparición de los lenguajes de programación orientados a objetos los SGBD se especializan más y se crean los Sistemas de Gestión de Bases de Datos Relacionales (SGBDR) y los Sistemas de Gestión de Bases de Datos Documentales (SGBDD), esto para adaptarse a la nueva forma de estructurar los datos almacenados y a los lenguajes de programación orientados a objetos.
Ejemplos de SGBD son Oracle, SQL Server, Sybase, DB2, MySQL, PostgreSQL, SQLite y muchos otros más. Los cuales pueden soportar grandes cantidades de datos o pequeñas adaptando así a las necesidades de los usuarios, por ejemplo no es lo mismo un SGBD de un dispositivo móvil al que requiere una empresa para administrar su información.



¿QUÉ ES Oracle?
      Es un manejador de base de datos relacional que hace uso de los recursos del sistema informático en todas las arquitecturas de hardwarec además Es el mayor y más usado Sistema Manejador de Base de Dato Relacional (RDBMS) en el mundo. La Corporación Oracle ofrece este RDBMS como un producto incorporado a la línea de producción. Además incluye cuatro generaciones de desarrollo de aplicación, herramientas de reportes y utilitarios. Y  corre en computadoras personales (PC), microcomputadoras, mainframes y computadoras con procesamiento paralelo masivo

SE CARACTERIZA POR: 
  • Soporte de transacciones 
  •   Estabilidad 
  •   Escalabilidad 
  • Soporte multiplataforma. 
  •  Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas.

¿QUÉ ES SQL server?

Microsoft SQL Server es una plataforma de base de datos que se utiliza en el procesamiento de transacciones en línea a gran escala, el almacenamiento de datos y las aplicaciones de comercio electrónico; es también una plataforma de Business Intelligence para soluciones de integración, análisis y creación de informes de datos .

SE CARACTERIZA POR:
  • Soporte de transacciones.
  •  Escalabilidad, estabilidad y seguridad. 
  •   Soporta procedimientos almacenados. 
  •  Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente. 
  • Permite trabajar en modo cliente-servidor, donde la información y datos se alojan en el servidor y los terminales o clientes de la red sólo acceden a la información. 
  •   Además permite administrar información de otros servidores de datos.

¿QUE ES POSTgreSQL?
 Es un sistema de gestión de bases de datos objeto-relacional de Código fuente disponible libremente. Además PostgreSQL utiliza un modelo cliente/servidor y Usa multiprocesos en vez de multihilos. 

SE CARACTERIZA POR
  • Es una base de datos ACID 
  • Integridad referencial 
  •  Implementación del estándar SQL92/SQL99. 
  •  Implementa el uso de rollback's, subconsultas y transacciones. 
  • Se pueden realizar  varias operaciones al mismo tiempo sobre la misma tabla. 
  • Licencia BSD 
  • Soporta un subconjunto de SQL92 MAYOR que el que soporta MySQL. Ademas, tiene ciertas caracteristicas orientadas a objetos. 
  • Gestión de usuarios y passwords, manteniendo un muy buen nivel de seguridad en los datos.

¿QUE ES MSQL?

MySQL es un sistema de gestión de base de datos relacional. Capaz de almacenar una enorme cantidad de datos de gran variedad utiliza el lenguaje de consulta estructurado (SQL). Incluye un motor de almacenamiento InnoDb  y ACID. Además dispone de storeprocedures, triggers, vistas.es GPL (General PublicLicence) no tiene costo, en lo que gana la empresa es en el soporte y entrenamiento.  Y Al ser una empresa que maneja sus códigos con el tipo de licencia GPL reduce los costos de desarrollo, administración.

SE CARACTERIZA POR:
  •  Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos. 
  • Uso de multihilos mediante hilos del kernel. 
  • Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice 
  • Tablas hash en memoria temporales 
  • El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL 
  • Completo soporte para operadores y funciones en cláusulas select y where. 
  •  Completo soporte para cláusulas groupby y orderby, soporte de funciones de agrupación 
  •  Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.

         ¿QUE ES Microsoft Access?

       Microsoft Access es un sistema de gestión de base de datos. Por medio de Microsoft Access, puede administrar toda la información desde un único archivo de base de datos. Dentro del archivo, puede utilizar: Tablas para almacenar los datos.Consultas para buscar y recuperar únicamente los datos que necesita.

¿Qué es una base de datos?
Es un conjunto de registros organizados para un uso determinado. Su extensión es .MDB (motor de la base de datos). Almacena y trata la información utilizando una gestión de bases de datos relacional, se la denomina como tal porque puede tener más de una tabla con relaciones entre ella.
¿Cómo se compone?
• Tablas: son el "corazón" de la Base de datos y aparecen en una hoja electrónica formada por filas (informes) y columnas (campos).
• Consultas: son "herramientas" que sirven para "eliminar" todos los datos que no interesan haciendo aparecer únicamente aquellos que interesan.
• Formularios: permiten la visualización y la gestión de los datos contenidos en las tablas y en las consultas.
• Informes: recopilan los datos de las tablas o consultas para permitir su impresión o análisis, facilitando la individualización de los datos más importantes.
• Macros: automatizan las funciones de la base de datos.
• Módulos: registran de Access Basic (programación).

¿QUE ES DB2?
DB2  es un sistema de gestión de base de datos relacionales completamente habilitado para la web que se puede escalar, desde procesadores simples hasta multiprocesadores simétricos y agrupamientos paralelos masivos.

SE CARACTERIZA POR:
Permite el manejo de objetos grandes (hasta 2 GB), la definición de datos y funciones por parte del usuario, el chequeo de integridad referencial, SQL recursivo, soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases, backup/recuperación on−line y offline.
Además cuenta con un monitor gráfico de performance el cual posibilita observar el tiempo de ejecución de una sentencia SQL y corregir detalles para aumentar el rendimiento.
Mediante los extensores se realiza el manejo de los datos no tradicionales, por ejemplo si tengo un donde tengo almacenados los curriculums de varias personas, mediante este puedo realizar búsquedas documentos con los datos que me interesen sin tener que ver los CV uno por uno.
Esta capacidad se utiliza en sistemas de búsqueda de personas por huellas digitales, en sistemas información geográfica, etc.
Internet es siempre la gran estrella, con DB2 es posible acceder a los datos usando JDBC (tan potente como escribir directamente C contra la base de datos), Java y SQL (tanto el SQL estático, como complementa el SQL dinámico).