Seguridad en la instalación y configuración de una Base de Datos en Oracle 11g

Activación de la configuración de seguridad predeterminada



Cuando crear una base de datos nueva o modificar una base de datos existente, puede utilizar la ventana de Configuración de seguridad en el Asistente de Configuración de Base de Datos (DBCA) para activar o desactivar la configuración de seguridad predeterminada. Oracle recomienda que habilite esta configuración. Esta configuración permite la configuración predeterminada de seguridad siguientes:
  • Permite la configuración predeterminada de auditoría. Vea "Uso de auditoría por defecto para relevantes para la seguridad sentencias SQL y privilegios" para obtener información detallada.
  • Crea fuertes refuerzos para las contraseñas nuevas o modificadas. "Requisitos para la creación de contraseñas" describe los requisitos de la nueva contraseña.
  • Elimina el privilegio Crear tarea externa de la función pública. Para mayor seguridad, otorgar el trabajo crean EXTERNA privilegio sólo a SYS , los administradores de bases de datos, y los usuarios que lo necesiten.
  • Modifica la inicialización y configuración del perfil de los parámetros. Tabla 2-1 enumera los valores de los parámetros modificados.
    Tabla 2-1 Configuración de seguridad predeterminada para los parámetros de inicialización y de perfil
    Ajuste10 g por defecto11 g por defecto
    AUDIT_TRAILNINGUNODB
    O7_DICTIONARY_ACCESSIBILITYFALSOFALSO
    PASSWORD_GRACE_TIMEILIMITADO7
    PASSWORD_LOCK_TIMEILIMITADO1
    FAILED_LOGIN_ATTEMPTS1010
    PASSWORD_LIFE_TIMEILIMITADO180
    PASSWORD_REUSE_MAXILIMITADOILIMITADO
    PASSWORD_REUSE_TIMEILIMITADOILIMITADO
    REMOTE_OS_ROLESFALSOFALSO
Para habilitar la configuración del perfil por defecto de seguridad de bases de datos con el Asistente de configuración:
  1. Inicio Asistente de base de datos de configuración:
    • UNIX : Escriba el siguiente comando en una ventana de terminal:
      dbca
      
      Por lo general, dbca está en el $ ORACLE_HOME / bin del directorio.
    • Windows : Desde el inicio del menú, haga clic en Todos los programas . A continuación, haga clic en Oracle - ORACLE_HOME , a continuación,Herramientas de configuración y migración , a continuación, Asistente de configuración de base de datos .
      Alternativamente, usted puede comenzar a asistente de configuración de bases de datos en un símbolo del sistema:
      dbca
      
      Al igual que con UNIX, por lo general, dbca se encuentra en el ORACLE_BASE \ ORACLE_HOME \ bin directorio.
  2. En la ventana de bienvenida, haga clic en Siguiente .
    La ventana de Operaciones aparece.
  3. Seleccione Opciones de configuración de bases de datos , a continuación, haga clic en Siguiente .
    La ventana Base de datos.
  4. Seleccione la base de datos que desea configurar y, a continuación, haga clic en Siguiente .
    La ventana de Configuración de seguridad.
  5. Seleccione el Mantenga la mejor configuración de 11g de seguridad por defecto (recomendado). Estos ajustes incluyen la auditoría de habilitación y una contraseña por defecto nuevo perfil de opción.
  6. Haga clic en Siguiente .
    La ventana Base de datos de componentes aparece.
  7. Seleccione cualquier otra opción, a continuación, haga clic en Siguiente . Responder a las preguntas restantes según sea necesario.
  8. Haga clic en Finalizar .

Asegurar el Diccionario de Datos Oracle

En esta sección se describe cómo se puede asegurar el diccionario de datos. El diccionario de datos es un conjunto de tablas de bases de datos que proporcionan información sobre la base de datos, tales como las definiciones de esquema o valores por defecto.
Esta sección contiene:

Sobre el diccionario de datos Oracle

El diccionario de datos de Oracle es un conjunto de tablas de bases de datos que proporciona información sobre la base de datos. Un diccionario de datos tiene el siguiente contenido:
  • Las definiciones de todos los objetos de esquema en la base de datos (tablas, vistas, índices, clusters, sinónimos, secuencias, procedimientos, funciones, paquetes, triggers, etc)
  • La cantidad de espacio asignado para, y es utilizado actualmente por los objetos de esquema
  • Los valores por defecto de las columnas
  • Restricción de integridad de la información
  • Los nombres de los usuarios de bases de datos Oracle
  • Privilegios y las funciones otorgadas a cada usuario
  • Auditoría de la información, tales como que ha tenido acceso o actualizar varios objetos de esquema
  • Otra información de bases de datos generales
Las tablas del diccionario de datos y puntos de vista para una determinada base de datos se almacenan en el Sistema de tablas de la base de datos. El diccionario de datos se estructura en las tablas y vistas, al igual que los datos de otra base de datos. Todas las tablas del diccionario de datos y puntos de vista para una determinada base de datos son propiedad del usuario SYS. La conexión a la base de datos con el SYSDBA privilegio proporciona acceso total al diccionario de datos. Oracle recomienda limitar el acceso a los privilegios SYSDBA sólo a las operaciones necesarias, tales como parches y otras operaciones administrativas. El diccionario de datos central para cada base de datos Oracle.
Puede utilizar instrucciones SQL para acceder al diccionario de datos. Debido a que el diccionario de datos es de sólo lectura si no se conectan con el SYSDBAprivilegios, puede realizar consultas sólo ( SELECCIONAR declaraciones) en contra de sus tablas y vistas. Tenga en cuenta que no todos los objetos en el diccionario de datos están expuestos a los usuarios. Un subconjunto de los objetos del diccionario de datos, tales como aquellos que comienzan con % usuario_se exponen como de sólo lectura a todos los usuarios de bases de datos. Referencia de Base de Datos Oracle proporciona una lista de puntos de vista de base de datos que puede consultar para encontrar información sobre el diccionario de datos.
Ejemplo 2-1 muestra cómo se puede encontrar una lista de puntos de vista de base de datos específica para el diccionario de datos mediante la consulta delDICCIONARIO vista.
Ejemplo 2-1 dictámenes que consideran que pertenecen al Diccionario de Datos
SISTEMA SQLPLUS Palabra clave: contraseña 
Conectado. SQL> SELECT TABLE_NAME DE DICCIONARIO;

Activación de Protección de Datos Diccionario

Usted puede proteger el diccionario de datos, permitiendo la O7_DICTIONARY_ACCESSIBILITY parámetro de inicialización. Este parámetro evita que los usuarios que tienen elCUALQUIER privilegio del sistema del uso de esos privilegios en el diccionario de datos, es decir, en los objetos en el SYS esquema.
Base de datos Oracle ofrece privilegios altamente granular. Un privilegio, comúnmente conocida como la CUALQUIER privilegio, es generalmente concedido a los propietarios de aplicaciones y administradores individuales sólo la base de datos. Por ejemplo, puede otorgar el DROP ANY DE LA MESA privilegio de un propietario de la aplicación. Usted puede proteger el diccionario de datos de Oracle de uso accidental o maliciosa de los CUALQUIER privilegio de encender la07_DICTIONARY_ACCESSIBILITY parámetro de inicialización.
Para activar la protección de datos diccionario:
  1. Comienzo Oracle Enterprise Manager Database Control (Control de bases de datos).
    Ver base de datos Oracle DBA 2 día para obtener instrucciones sobre cómo iniciar Database Control.
  2. Inicie una sesión como SYS y conectar con la SYSDBA privilegio.
    • Nombre de usuario : introduzca el nombre de un usuario con privilegios administrativos. En este caso, se introduce SYS.
    • Contraseña : Introduzca la contraseña del usuario.
    • Conectar como : En la lista, seleccione SYSDBA , SYSOPER , o normal . En este caso, seleccione SYSDBA .
    La base de datos Oracle Enterprise Manager página de inicio (página de base de datos principal) aparece.
  3. Haga clic en servidor para mostrar la subpágina Server.
  4. En la sección Configuración de la base de datos, haga clic en Parámetros de inicialización .
    La página de inicialización Parámetros.
  5. En la lista, la búsqueda de O7_DICTIONARY_ACCESSIBILITY .
    En el Nombre , introduzca O7_ (la letra O ) y haga clic en Ir . Puede introducir los primeros caracteres de un nombre de parámetro. En este caso, O7_muestra el O7_DICTIONARY_ACCESSIBILTY parámetro.
    En función del parámetro, es posible que tenga que modificar el valor de la subpágina SPFile. Haga clic en la SFFile ficha para mostrar la subpágina SPFile.
  6. Establecer el valor de O7_DICTIONARY_ACCESSIBILTY a FALSO .
  7. Haga clic en Aplicar .
  8. Reiniciar la instancia de base de datos Oracle.
    1. Haga clic en la instancia de base de datos enlace.
    2. Haga clic en Inicio para mostrar la base de datos de control de tu página de inicio.
    3. En General, haga clic en Apagar .
    4. En la página de inicio / apagado de Credenciales, escriba sus credenciales.
      Ver base de datos Oracle DBA 2 Día para más información.
    5. Después de la parada completa, haga clic en Inicio .
Después de establecer la O7_DICTIONARY_ACCESSIBILTY parámetro FALSO usuarios únicos que tienen laSeleccione Cualquier DICCIONARIO privilegio y los usuarios autorizados para hacer DBA privilegiados (por ejemplo, CONNECT / AS SYSDBA ) las conexiones se pueden utilizar las CUALQUIER privilegio del sistema en el diccionario de datos. Si el O7_DICTIONARY_ACCESSIBILITY parámetro no está establecido en falso , cualquier usuario con unDROP ANY DE LA MESA (por ejemplo) el privilegio del sistema puede eliminar las partes del diccionario de datos.
Nota:

Directrices para asegurar el acceso del sistema operativo para Oracle Database

Usted puede asegurar el acceso a la base de datos de Oracle en el nivel del sistema operativo siguiendo las siguientes pautas:
  • Limitar el número de usuarios del sistema operativo.
  • Limitar los privilegios de las cuentas del sistema operativo (administrativo, la raíz de privilegiados, o DBA) en el host de la base de datos Oracle (equipo físico). Sólo otorga al usuario el menor número de privilegios necesarios para realizar sus tareas.
  • Restringir la capacidad de modificar el archivo por defecto y permisos de directorio para el hogar Base de Datos Oracle (instalación) de directorio o de su contenido. Incluso los usuarios con privilegios del sistema operativo y el dueño de Oracle no debería modificar estos permisos, a menos que se indique lo contrario por parte de Oracle.
  • Restringir los enlaces simbólicos. Asegúrese de que cuando se proporciona una ruta o un archivo a la base de datos, ni los autos ni cualquier parte de la ruta se puede modificar por un usuario de confianza. El archivo y todos los componentes de la ruta debe ser propiedad del administrador de base de datos o alguna cuenta de confianza, como la raíz .
    Esta recomendación se aplica a todos los tipos de archivos: los archivos de datos, archivos de registro, archivos de traza, tablas externas, BFILE, y así sucesivamente.

Guía para la concesión de permisos para instalaciones en tiempo de ejecución

Muchos de los productos de bases de datos Oracle utiliza el tiempo de ejecución de instalaciones tales como Oracle Java Virtual Máquina (OJVM). No asignar todos los permisos a una base de datos en tiempo de ejecución la instalación. En su lugar, conceder permisos específicos a la raíz del documento explícitolas rutas de archivos para las instalaciones que pueden ejecutar los archivos y paquetes fuera de la base de datos.
He aquí un ejemplo de un vulnerables en tiempo de ejecución de llamadas, en el que los archivos individuales se especifican:
dbms_java.grant_permission call ('WSMITH "," SYS: java.io.FilePermission', ' nombre de archivo "," leer ");
El siguiente ejemplo es una mejor (más seguro) en tiempo de ejecución de llamadas, que especifica una ruta de directorio (en negrita tipo de letra) en su lugar.
dbms_java.grant_permission call ('WSMITH "," SYS: java.io.FilePermission', ' DIRECTORY_PATH "," leer ");

Parámetros de inicialización utilizado para la instalación y configuración de seguridad

Tabla 2-2 las listas de parámetros de inicialización que se pueden establecer para garantizar una mejor instalación de bases de datos Oracle y la configuración.
Tabla 2.2 Parámetros de inicialización utilizado para la instalación y configuración de seguridad
Inicialización de parámetrosConfiguración por defectoDescripción
SEC_RETURN_SERVER_RELEASE_BANNERFALSOControla la visualización de la información de versión del producto, tales como el número de versión, en una conexión de cliente. Un intruso podría utilizar el número de versión de base de datos para encontrar información sobre las vulnerabilidades de seguridad que puedan estar presentes en el software de base de datos. Puede activar o desactivar la visualización de productos de versión detallada de este parámetro.
Ver base de datos Oracle Guía de seguridad para obtener más información sobre los parámetros de esta y otras similares.Referencia de la base de datos Oracle describe este parámetro en detalle.
O7_DICTIONARY_ACCESSIBILITYFALSOControles de restricciones a SISTEMA privilegios. Vea "Activación de Protección Diccionario de Datos" para obtener más información acerca de este parámetro. Oracle de base de datos de referencia describe este parámetro en detalle.
Ver también:
Oracle de base de datos de referencia para obtener más información acerca de los parámetros de inicialización

Modificación del valor de un parámetro de inicialización

En esta sección se explica cómo utilizar el control de la base de datos para modificar el valor de un parámetro de inicialización. Para encontrar información detallada sobre los parámetros de inicialización disponibles, consulte Referencia de Oracle Database .
Para modificar el valor de un parámetro de inicialización:
  1. Inicia el control de la base de datos.
  2. Regístrese como usuario SYS con la SYSDBA privilegio.
    • Nombre de usuario : SYS
    • Contraseña : Introduzca la contraseña.
    • Conectar como : SYSDBA
  3. Haga clic en servidor para mostrar la subpágina Server.
  4. En la sección Configuración de la base de datos, haga clic en Parámetros de inicialización .
    La página de inicialización Parámetros.
  5. En el Nombre de campo, escriba el nombre del parámetro que desee cambiar y haga clic en Ir .
    Puede introducir las primeras letras del parámetro, por ejemplo, SEC_RETURN si usted está buscando para el SEC_RETURN_SERVER_RELEASE_NUMBERparámetro. Como alternativa, puede desplazarse por la lista de parámetros para encontrar el parámetro que desea cambiar.
    En función del parámetro, es posible que tenga que modificar el valor de la subpágina SPFile. Haga clic en la SFFile ficha para mostrar la subpágina SPFile.
  6. En el valor de campo, introduzca el nuevo valor o si se presenta una lista, seleccione de la lista.
  7. Haga clic en Aplicar .
  8. Si el parámetro es estático, reinicie la instancia de base de datos Oracle.
    Para saber si un parámetro de inicialización es estática, consulte la descripción de referencia de base de datos Oracle . Si el ajuste modificables en su tabla de resumen muestra No, entonces usted debe reiniciar la instancia de base de datos.
    1. Haga clic en la instancia de base de datos enlace.
    2. Haga clic en Inicio para mostrar la base de datos de control de tu página de inicio.
    3. En General, haga clic en Apagar .
    4. En la página de inicio / apagado de Credenciales, escriba sus credenciales.
      Ver base de datos Oracle DBA 2 Día para más información.
    5. Después de la parada completa, haga clic en Inicio