uso de funcionalidad del proxy de usuario

Upload: ivaniablandino

Post on 11-Oct-2015

26 views

Category:

Documents


0 download

TRANSCRIPT

Making use of the Proxy User functionality

Making use of the Proxy User functionalityAutenticacin Proxy

Detecta y autentica a los usuarios conectndose a travs de una aplicacin de capa media.DBAs de Oracle tienen diferentes reas de responsabilidad y rendicin de cuentas en la base de datos que mantienen. Con muchas aplicaciones que utilizan conexiones de nivel medio, los administradores de bases se enfrentan a un reto interesante para limitar el acceso y actividades de los usuarios finales de auditora. Oracle ofrece una opcin denominada autenticacin de proxy que puede ayudar a hacer frente a estos desafos.Uno de los aspectos principales de la seguridad es el control de acceso de usuarios a la base de datos. El control de acceso de usuario se puede dividir en tres componentes principales. Primero, debe haber un mtodo para la identificacin de los usuarios. Segundo, debe haber mtodos para limitar el acceso a los objetos y las actividades dentro de la base de datos para los usuarios. Tercero, la capacidad de auditar las actividades del usuario es un requisito comn.

Un mtodo de identificacin de los usuarios sera la creacin de cuentas de usuario especficas en la base de datos para todos y cada usuario finales en el sistema. El DBA determinara entonces que actividades el usuario final debe realizar y (por lo general a travs de los roles) concederles los privilegios adecuados para hacer esas tareas especficas.Sin embargo, en muchos casos con bases de datos de Oracle y las aplicaciones asociadas al usuario final verdadero es capturado por la aplicacin de nivel intermedio, que luego se conecta a la base de datos y acta en nombre del usuario final. En este caso, el nivel medio autentica el usuario en lugar de la base de datos en s y el nivel medio tiene que ser capaz de invocar funciones y los privilegios especficos necesarios para actuar en nombre del usuario final. En esencia, esto es de lo se trata la autenticacin de proxy.

Este enfoque a travs de la tpica capa intermedia, si bien tiene muchas ventajas administrativas, puede hacer que algunos aspectos de la seguridad sean un poco ms difciles. En concreto, hay tres desafos que enfrentar; cmo identificar realmente el usuario final "real", cmo autenticar a este usuario final en la base de datos y cmo restringir los privilegios del nivel medio slo a lo que realmente se requiere para el usuario final.Si todo control de autenticacin y el acceso slo se realiza a travs de la capa media, lo cual puede ser costoso, significa que todas las aplicaciones deben hacer cumplir la seguridad y cualquier cdigo que se utiliza para gestionar la seguridad debe aparecer en cada una de las aplicaciones, por ende esto puede significar un gran aumento en el mantenimiento siempre que sean necesarios cambios en la seguridad. Adems, debe haber una metodologa para asegurar que nicamente los usuarios finales tienen que llegar a la base de datos es a travs de la capa media. La auditora de base de datos de las actividades especficas de los usuarios tambin puede ser especialmente difcil si la base de datos en s no tiene informacin sobre el usuario final verdadero. Generalmente, la auditora requiere que el sistema sea capaz de diferenciar entre algo hecho por un usuario final, y una actividad realizada por una aplicacin en nombre de un usuario.Enfoques de conexin de Capa intermedia

Existen varios enfoques comnmente utilizados para las conexiones de nivel medio a una base de datos Oracle.

Primero-> se conoce como pass-through, cuando el usuario final es conocido por la base de datos. Esencialmente, la aplicacin solicita las credenciales del usuario y los enva directamente a la base de datos para la autenticacin. Este mtodo requerira que los usuarios tienen su propia cuenta en la base de datos. La aplicacin no es realmente responsable de hacer ningn tipo de autenticacin de usuario o el control de acceso. La base de datos es fcilmente capaz de auditar las actividades de los usuarios finales en este modelo.

Segundo-> implica tener el nivel intermedio responsable de todos los aspectos de la seguridad del usuario en la base de datos. La cuenta de usuario de la aplicacin tiene todos los privilegios necesarios para todos los usuarios del sistema. Este enfoque va ms del 100% en contra del principio de seguridad importante de "privilegios mnimos". La auditora sera muy difcil en este modelo a menos que la aplicacin est escrita o diseada para capturar o mantener informacin de asignacin de que se le pregunt para que las acciones que se llevaron a cabo fueran la respuesta.

Tercero-> sera volver a autenticar al usuario a la base de datos. En esencia, esto significa que la aplicacin va a remitir informacin de acceso a la base de datos para la autenticacin; sin embargo, puede no ser la misma que la informacin de inicio de sesin utilizado por el usuario final para acceder a la aplicacin en primer lugar.Esto generalmente utilizan una configuracin tal como LDAP lightweight directory access protocols) o inicio de sesin nico con el fin de mantener actualizada la informacin de credenciales de usuario almacenada de forma segura en el sistema.

Cuarto-> otro enfoque podra implicar la transmisin de informacin a travs de algn tipo de seal, la cual asigna el usuario final a una sesin. El usuario final verdadero todava no se conoce a la base de datos, sin embargo, la base de datos puede utilizar la informacin de la ficha para hacer cualquier tipo de control del usuario final. La aplicacin podra utilizar los siguientes paquetes y procedimientos para establecer la informacin de identificacion de cliente: DBMS_APPLICTION_INFO.SET_CLIENT_IDENTIFIER o DBMS_SESSION.SET_IDENTIFIER.

Quinto-> Autenticacin del proxy es el quinto mtodo que se puede usar en bases de datos de Oracle para ayudar a lidiar con algunos de los posibles problemas en torno conexiones de nivel medio.

Opciones de autentificacin Oracle Proxy

Si tenemos un usuario que puede ser, un usuario de base de datos o un usuario de la empresa(mantenido a travs de Oracle Internet Directory con un nombre distinguido) a continuacin, Oracle ofrece una solucin basada en el hecho de que el usuario final conoce realmente a la base de datos. En cualquiera de estos casos, un enfoque de paso a travs o enfoque de re-autenticacin se puede utilizar.

Oracle tambin tiene un mtodo proxy que se puede utilizar en situaciones en que el usuario final slo se conoce en la aplicacin y no directamente a la base de datos.

Este mtodo se conoce como un modelo de usuario de la aplicacin. En este caso, al usuario se le realiza un seguimiento a travs de un identificador asignado y las actividades se puede auditar con ese identificador en lugar de la informacin del usuario final.Autenticacin Proxy para usuarios finales o los usuarios de la empresa

Tanto OCI (Oracle Call Interface) y JDBC (Java Database Connectivity) permiten un nivel medio para establecer una sola conexin de base de datos que, en ltima instancia apoya una serie de sesiones de los usuarios, donde cada uno identifica especficamente el usuario final que se conecta a esa sesin en particular.

Las actividades paso a paso que se producen durante este tipo de autenticacin son

1) El cliente se autentica en el nivel medio

2) El nivel intermedio se conecta a la base de datos como un usuario de base de datos

3) El nivel intermedio crea una sesin utilizando OCI o JDBC

Si el usuario es un usuario de base de datos a continuacin, la sesin debe incluir el nombre de usuario y en funcin de los requisitos de la base de datos, tambin puede incluir una contrasea. Funciones de base de un requisito opcional se pueden incluir. Si el usuario es un usuario de la empresa el nivel medio puede proporcionar un nombre o certificado distinguido, que la base de datos utiliza para buscar en el OID para obtener la informacin especfica del usuario y recuperar informacin sobre las funciones. Si el usuario es un usuario autenticado con una contrasea en la empresa el nivel medio proporciona un nombre nico global para el usuario, que utiliza la base de datos para comprobar el OID y recuperar la informacin de funciones.

4) Si el usuario es un usuario de base de datos, se comprueba en la base de datos para garantizar que el nivel intermedio tiene los privilegios necesarios para crear una sesin en nombre del usuario de base de datos con la funcin de la informacin proporcionada.

El DBA debe utilizar el comando ALTER USER para indicar que un usuario de la base de datos ser autenticada por un proceso de nivel medio.ALTER USER karen GRANT CONNECT THROUGH midtier; Este comando se puede utilizar si el nivel medio es de confianza para llevar a cabo la autenticacin del usuario final y el usuario final no tiene que proporcionar una contrasea para el nivel medio. Este mtodo se puede utilizar si el nivel medio es en una ubicacin de confianza, tales como detrs de un firewall. La sesin se comportar como si karen se ha conectado normalmente a la base de datos.ALTER USER karen GRANT CONNECT THROUGH midtier AUTHENTICATION REQUIRED PASSWORD; Este mtodo requiere que el usuario final proporciona una contrasea para el nivel medio a utilizar para autenticarse en la base de datos, esta opcin es la mejor opcin si la aplicacin de nivel medio se encuentra fuera del cortafuegos.Si el usuario es un usuario de empresa, el nivel medio se supone que es un sistema de confianza y el nivel medio ya se ha autenticado el usuario y puede proporcionar un nombre completo o certificado como parte de la informacin a la base de datosALTER USER karen GRANT CONNECT THROUGH midtier AUTHENTICATED USING DISTINGUISHED NAME; En este caso, el nombre completo del servidor OID o LDAP se utiliza en lugar de una contrasea. El nombre completo es recuperada por la aplicacin de nivel medio. La aplicacin deberia utilizar el OCIAttrSet () con el atributo OCI_ATTR_DISTINGUISHED_NAMEALTER USER karen GRANT CONNECT THROUGH midtier AUTHENTICATED USING CERTIFICATE TYPE 'X.509' VERSION '3';El OCIAttrSet () con el OCI_ATTR_CERTIFICATE se utiliza para recuperar y transmitir la informacin del certificado a la base de datos. El tipo de certificado por defecto es X.509 y la versin por defecto es 3. Hay que sealar, sin embargo, el mtodo certificado no se recomienda ya que Oracle podra no apoyar este mtodo de autenticacin en el futuro.

Conexiones de usuario basadas Proxy tambin se pueden hacer a travs de SQL * PLUS y la sintaxis es ligeramente diferente dependiendo de si el usuario final es un usuario de base de datos o no.

CONNECT midtier[karen]/midtier_pwd;

Esta opcin sera utilizada si el usuario Karen es conocido en la base de datos. En este caso el usuario karen est conectado al esquema karen y midtier puede tener los privilegios para invocar una parte o la totalidad de las funciones asignadas al usuario karen.

CONNECT karen [midtier] / midtier_pwd

En este caso, karen es un usuario de la empresa y no directamente sabe de la base de datos. En esta situacin, el usuario es midtier y slo tiene roles y privilegios asignados a midtier.

CONNECT karen[midtier]/karen_pwd;

Esto permite que karen sea autenticado a travs del OID. Todos los permisos de proxy se mantienen a travs de la OID. En este caso el usuario realmente conectado a la base de datos es midtier, sin embargo, la autenticacin se realiza en la empresa con Karen a travs del OID.

El DBA tambin puede configurar una cuenta de usuario que puede ser utilizado por cualquier usuario de la empresa para conectarse a la base de datos.

ALTER USER acct_mgr GRANT CONNECT THROUGH ENTERPRISE USERS;

Si los usuarios de la empresa karen y ron son los dos gerentes de cuentas y necesitan ser capaz de iniciar sesin con los privilegios del usuario acct_mgr (esencialmente un enfoque de esquema compartido), entonces la creacin de una cuenta de proxy atada a cuentas de usuario de la empresa puede ser una solucin para los administradores de bases. Slo las cuentas de usuario de base de datos locales pueden tener la opcin CONNECT THROUGH ENTERPRISE USERS y las funciones de aplicacin seguridad pueden utilizarse tanto para karen o ron cuando requieren acceso con un rol adicional/diferente en la base de datos. Los pasos especficos implicados en el establecimiento de esto son los siguientes:

1) Crear un permiso de proxy en la base de datos

2) Asignar a los usuarios karen y ron la autorizacin de proxy

3) Asignar al usuario de base de datos acct_mgr la autorizacin de proxy

4) Cambiar el usuario acct_mgr para que acepte CONNECT THROUGH ENTERPRISE USERS 5) karen o ron pueden conectarse CONNECT karen[acct_mgr]/pwd@database

As como la autenticacin de proxy puede ser concedida, tambin puede ser revocado si es necesario.

ALTER USER karen REVOKE CONNECT THROUGH midtier;Vistas del Diccionario para la autenticacin del proxy

DBA_PROXIES Todas las conexiones de proxy

USER_PROXIES Conexiones del usuario actual con conexiones proxy

PROXY_USERS usuarios que pueden hacer conexiones proxy

V$SESSION_CONNECT_INFO Informacin de conexin de Red

V$SESSION PROGRAM/MODULE muestra proxy-userAuditora de Actividades proxy

Las medidas adoptadas por proxy connections pueden ser auditadas con los comandos estndar de auditora de base de datos como los siguientes:

AUDIT SELECT TABLE ON customers BY midtier ON BEHALF OF karen; AUDIT SELECT TABLE ON customers by acct_mgr ON BEHALF OF all;

En cualquiera de estos casos, la informacin sobre el proxy est incluido en las visitas de seguimiento de auditora.