Loading
Apuntes
Study Reminders
Support
Text Version

Prácticas recomendadas para la explotación y la seguridad de Oracle

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

En esta serie de lecciones que vamos a ver en la base de datos de oracle primero vamos a analizar el proceso de instalación para configurar nuestro laboratorio y vamos a hablar de la arquitectura de la base de datos oracle en sí, entonces vamos a caminar a través de formas de comprometer potencialmente la base de datos oracle de auditoría de la base de datos de oracle y luego finalmente vamos a wal a través de las mejores prácticas de som en relación con el bloqueo de la base de datos y cómo podemos garantizar que como administradores de red y administradores de base de datos que estamos protegiendo nuestra base de datos utilizando las mejores prácticas por lo que lo primero que voy a hacer es seguir adelante y descargar el oracle database express edition so as usual i'm running ubuntu 14.04 now let me make a comment here um the oracle database is not nativamente supported on ubuntu okay so tipicamente the distributions are red hat based as far as support and linux so i'm going to do a little bit of trickery here and do some emulation and create some bymbolic links and add some additional libraries and modify some paths to allow this to run on ubuntu so you don't have to run this on ubuntu for your lab you don't necessally have to go through these steps but if you do want to run it on ubuntu i'm including some of these steps here for you so in order para conseguir que se ejecute en ubuntu voy a instalar alien y algunos otros paquetes y voy a configurar aquellos para que realmente vamos a emular un entorno que el instalador está buscando y que incluye cosas como parámetros del kernel y parámetros de configuración de la memoria queremos que parezca una configuración soportada aunque técnicamente no es oracle como una base de datos quiere instalar generalmente en red hat a he mencionado antes así que le mostraré estos pasos aquí en breve así que el primer paso es ejecutar el comando alienígena y generar algunos scripts de las rpm y por supuesto rpm es el formato del instalador specific to red hat we are running ubuntu which is a debian derivative and so you notice that we've generated the debian installer now so we realmente have an installer native to the format that we've created and so now that we've got that out of the way we want to modify the configure file and some of these config files are going to outline things like kernel parameters and other configurations that the installer is going to be looking and pasting in a config file here in this config filter it's doing several things but some of what it's doing is just creating an environment that is just creating an environment that is emuling a supported enviroinment por lo que estoy creando un archivo de configuración adicional aquí que está estableciendo algunas de las variables min y max para el kernel desde un punto de vista de memoria todo el derecho de modo que hemos validado que algunos de los cambios de parámetro de cernel han hecho efecto por lo que también tenemos que crear algunos enlaces simbólicos para algunas de las vías de acceso porque los caminos para las herramientas que me gusta dijo y awk en uibuntu son diferentes caminos de lo que serán nativamente en rojo sombrero por lo que ahora vamos a seguir adelante y ejecutar el instalador vamos a instalar el aviso de base de datos de oracle xe que estamos utilizando el paquete debian que hemos creado utilizando la herramienta alienígena por lo que ahora vamos a ejecutar el comando configure en la base de datos y esto configura cosas como el servidor express de la aplicación oracle que para nuestros propósitos no vamos a utilizar, así como el escucha de la base de datos que vamos a utilizar vamos a configurar la contraseña para el sistema y la cuenta del sistema y definimos si queremos o no que la base de datos se inicie en el arranque así que vamos a concluir la configuración de la base de datos la barra de puntos configurar aviso de que el escucha se está iniciando y estamos pasando por el proceso de configuración de la base de datos que es sólo la configuración inicial de modo que la configuración completa la instancia está en ejecución el oyente comenzó y ahora tenemos oracle 11g express edición corriendo en un sistema operativo no soportado por lo que para conseguir que funcione correctamente había un paso adicional para montar el sistema de archivos temporal o una configuración de memoria específica del sistema de archivos temporal todo derecho maravilloso sysdba que es el para iniciar la base de datos de oracle ahora que tenemos la base de datos instalada vamos a hablar un poco de la arquitectura de la base de datos para que la base de datos tenga un componente de escucha así que piense en el oyente como la puerta principal a la base de datos el oyente escuchará las solicitudes y las va a direccionar a varios Los servicios o las instancias de id de barra de id de servicio puede tener varios sids que puede tener varias bases de datos y por lo que el escucha es la puerta frontal de tráfico de barra de tráfico para la base de datos como resultado hay una gran cantidad de consideración de seguridad que hay que tener en cuenta porque si usted deja su puerta principal desbloqueada entonces usted está invitando a la actividad que no es necesariamente deseado o garantizado por lo que el comando pequeño o lsnr ctl nos permite ver el estado del oyente e imprimir algo de información sobre la versión del oyente para iniciar el oyente, así como para detener al oyente y así que vale la pena señalar aquí que la base de datos también ha proporcionado mucha información cuando ejecutamos este comando que un atacante podría encontrar particularmente útil por supuesto que estoy ejecutando esto localmente con permisos de root por lo que es por lo que puedo obtener esta información, pero si no está configurado correctamente parte de esta información se puede filtrar la barra descrita de forma remota ahora hay varias configuraciones de seguridad que podemos configurar para el escucha, incluyendo los métodos de autenticación podemos configurar las restricciones de origen y de puerto y de IP y podemos configurar una contraseña para el oyente, así como todo el derecho así como le damos un vistazo a la arquitectura y explorar la instalación de la base de datos para oracle vamos adelante y hacer un examen de los procesos en marcha, así que usted encontrará que una vez que instale una base de datos de oracle que hay un montón de procesos allí que se instalan y que están funcionando tan múltiples procesos múltiples procesos y por lo que es definitivamente una base de datos de la clase empresarial, pero con la clase de empresa viene la empresa bloat podría decirse que no necesariamente necesitamos todos estos servicios en funcionamiento y así que es donde un examen de la arquitectura es importante por lo que tenemos algunos servicios funcionando incluyendo piemont esmond el escritor de la base de datos el registro Los servicios de control y recuperación del escritor ahora son servicios muy requeridos y son servicios básicos específicos de la base de datos oracle y la arquitectura de base de datos oracle, pero hay otros componentes que no necesariamente queremos tener habilitados en función de lo que estamos haciendo y llegaremos a eso un poco más tarde en la sección de endurecimiento así que quiero dirigir nuestra atención a la autenticación y autorización para la base de datos de modo que oracle soporta el sistema operativo y la autenticación de nivel de usuario de base de datos así que vamos adelante y echar un vistazo a los usuarios por defecto que están instalados en la base de datos de oracle sólo como parte de la instalación básica por lo que necesitamos ejecutar sql más bien sql plus como sysdba ahora voy a tratar de ejecutar una selección, pero esto no va a trabajar la razón por la que no va a trabajar a un lado de la sintaxis es el hecho de que la base de datos no se ha iniciado todavía así que asegúrese de que usted va a través del proceso de inicio y que la base de datos se ha iniciado por lo que el inicio es muy simple si estamos conectados con el usuario correcto sysdba ejecutar inicio se puede ver que los búfers se han llenado la base de datos se ha montado y se ha abierto con esa determinada declaración de selección tenemos la oportunidad de mirar a los usuarios que se han instalado sólo como parte de la instalación básica y los hashes de sus contraseñas esto en realidad no son obviamente las contraseñas reales por lo que tenemos un usuario xdb y vamos a centrarnos en que uno aquí en un minuto que es la base de datos xml y como he mencionado antes de que algunos servicios se instalan que es posible que no utilizar o necesidad y de forma proporcional a los servicios que normalmente van a tener cuentas de servicio de algún tipo que se instalaron podríamos querer bloquear esas cuentas o desactivarlas o incluso caducarlas de modo que el siguiente paso es seguir adelante y mirar cuál de estas cuentas tienen privilegios elevados sólo porque han sido instalados no significa que tienen un montón de privilegios que estamos muy preocupados con las cuentas que tienen altos niveles de privilegio en particular los privilegios de administrador de base de datos por lo que si ejecutamos una selección distinta de un nombre de sysuser tipo de un largo comando aquí podemos agarrar esa información como a usted sabe que una de las cuentas de que estamos mirando son altamente privilegiados por lo que una vez que entramos en que de forma incorrecta se puede ver muy simplemente es sólo sistema y sys por lo menos sabemos que todas esas otras cuentas no son muy privilegiados ahora que no significa que no queremos bloquear a los abajo o potencialmente eliminarlas porque probablemente hacemos al analizar la arquitectura de seguridad de la base de datos de oracle es importante entender que oracle define dos niveles fundamentales de privilegios y esos son privilegios amplios de base de datos y luego privilegios de nivel de objeto por lo que un privilegio amplio de base de datos sería otorgado a como el nombre sugiere toda la base de datos cualquier base de datos cualquier esquema dentro de esa instalación un privilegio de nivel de objeto sería específico para decir una tabla dada por lo que es mucho más granular en la naturaleza lo primero que quiero explorar aquí es o son privilegios específicos al sistema que son de todo el sistema esto es una consulta de todos los privilegios que están disponibles en el nivel del sistema, así que hay un poco aquí usted puede ver caer cualquier tabla de caída de la biblioteca crear cualquier tabla estos privilegios una vez que son asignados a un usuario en el nivel del sistema permitirá que la actividad se lleve a cabo en toda la instalación de modo que si usted asigna a alguien usuario drop que no es algo que podemos encontrar a un objeto que es un privilegio de todo el sistema la capacidad de crear una vista es un privilegio de todo el sistema para que pueda ver esta versión de la base de datos de oracle 11gr2 tiene 208 privilegios de usuario distintos que son de todo el sistema en la naturaleza para que usted pueda ver que la asignación de privilegios puede obtener bastante complejo y bastante granular rápidamente y un poco más tarde hablaremos de maneras de gestionar que hay varios privilegios que son específicos del objeto no del todo, pero hay 26 y el 11gr2 se puede ver cosas como seleccionar lectura y estos son los privilegios de tipo tabla relacionados con la tabla de barras y no de todo el sistema en la naturaleza por lo que hemos hablado de la autenticación y la autorización por lo que ahora es el momento de la tercera a en aaa que el triple a es la autorización de autenticación y la auditoría y por lo que la tercera a es auditoría, mientras que la autenticación y ayuda a proteger la puerta principal y mantener a los chicos malos de conseguir en auditoría nos permite saber si ha pasado o no, por lo que es importante tener una auditoría configurada y como vamos a averiguar hay muchos niveles diferentes de granularidad por la que configurar o puede configurar la auditoría en la base de datos de oracle ahora siempre recordar que cuando se establece la auditoría hay un impacto potencial en el rendimiento en relación con el uso de memoria de uso de la CPU, pero también que podemos estar comiendo espacio en disco así que asegúrese de que en una capacidad de producción que planea en consecuencia todo el derecho así que al configurar la auditoría hay algo básico configuraciones en el archivo init.aura que es el archivo de inicialización para la base de datos de oracle que podemos iniciar sesión en un archivo también podemos iniciar sesión en una base de datos, pero iniciar sesión en archivos bastante estándar y muchos administradores como para tomar esta información agregarla y correlacionarla en digamos un servidor de syslog común para la correlación de auditoría centralizada así que vamos adelante y modificar el init o al menos mirarlo desde un punto de vista de auditoría por lo que hay un montón de parámetros en aquí, pero los que nos importa ahora mismo son específicos de la auditoría para que usted pueda ver que el destino de autoarchivo es la barra de administración de barra de administración de barra inclinada oracle una ruta de volcado y nuestra audit trail es un seguimiento de auditoría de la base de datos así que siga adelante y vaya a esa carpeta que se describe en el archivo init.ora que necesitamos para asegurarnos de que estamos utilizando los privilegios apropiados que podemos ver que hay un montón de archivos impares de archivos de auditoría de aud que podemos abrir y echar un vistazo a ellos y aquí vemos que hubo un cierre emitido el privilegio que se utilizó para emitir el cierre, así como la fecha y el sello de tiempo y por lo que estos son registros de auditoría por defecto no he hecho nada en particular para configurar lo que se está auditando a un lado de la configuración de instalación por defecto así que antes de mover cualquier adicional quiero instalar alguna muestra Y usaremos nuestro viejo amigo scott y el usuario scott slash tiger schema para instalar una base de datos de ejemplo que vamos a utilizar para ilustrar algunos de los ejemplos de configuración de seguridad así que he instalado o configurado un usuario scott y el comando es crear scott de usuario identificado por Tiger, lo que significa que su contraseña será Tiger y le he concedido un privilegio de nivel de todo el sistema que es dba y le he otorgado privilegios de conexión a ese sistema, así que vamos a entrar en tigre como su contraseña en función de cómo lo configuramos correctamente, así que estamos conectados como el esquema scott y lo siguiente que quiero hacer es ejecutar un script sql que es Vamos a llenar y crear una base de datos de datos de ejemplo que vamos a utilizar para fines de prueba de seguridad y una de las cosas que quiero hacer con algunas de estas tablas que se crean es que quiero configurar permisos no sólo en el nivel del sistema que hemos hecho ya, sino a nivel de objeto, así que mostrar cómo configurar los permisos digamos en el nivel de la tabla para un usuario particular por lo que necesitamos encontrar el camino que vamos a utilizar el en el identificador de toda la derecha tenemos la ruta correcta tenemos la tabla de demostración dem creado y así tenemos algunas tablas de ejemplo para trabajar con ahora así que vamos a ver las tablas que componen el esquema de scott así que hay un Tabla de bonos y en la tabla de bonos podemos ver que hay columnas para el nombre de la comisión del salario del trabajo y hay algunas otras tablas que se han instalado, así que el siguiente es la tabla de empleados por lo que es bueno e interesante, pero quiero dirigir nuestra atención a los privilegios y en cierta medida el contenido de la tabla por lo que vimos la estructura de la tabla ahora podemos ver el contenido de algunas de las tablas en términos de registros individuales por lo que se obtiene la idea de modo que ahora vamos a seguir adelante y habilitar algunas auditorías en la base de datos y para estas tablas y en los objetos particulares por defecto no estamos auditando cosas como simple sql las consultas que estamos auditando nivel de objeto o disculpen que estamos auditando actividades de nivel del sistema, pero no necesariamente estamos auditando consultas sql individuales así que primero vamos adelante y habilitar una configuración de auditoría de nivel de base de datos en todo el sistema lo que hicimos es que hemos habilitado la auditoría de la selección de inserción y actualización en la tabla de auditoría sys ahora esta es una mejor práctica ahora esto no está incorporando ninguna de las tablas que acabamos de instalar, pero lo que esto hace es que se asegura de que sabemos.
Si el um la tabla de auditoría la tabla de auditoría del sistema en sí misma ha sido modificada por uno de los usuarios de cualquier manera que desee proteger sus datos de auditoría porque la información es sólo tan buena como la integridad que tenemos en el lugar para que los datos de un punto de vista de control de seguridad todo lo correcto, así que ahora en alguna seguridad a nivel de objeto que usted puede como he mencionado antes de auditar fundamentalmente las declaraciones de ddl y dml de modo que el lenguaje de descripción de datos y lenguaje de manipulación de datos de modo que el lenguaje de descripción de datos es más orientado al esquema actividades de tipo como la creación y la eliminación de tablas donde las actividades de dml son cosas como sql Las sentencias insert y crud type operations all right so here i have enabled auditing for select statements on the scott punto emp table so what this means is is that if i issue a select or anyone issues a select we should be able to see that from an audit perspective a show parameter command will show us the parameters for audit config within the database which we just there a look at to further enable the audit we need to alter the system and set the audit sys operations parameter to true and make the scope of that to be the sp file so we're going to leave that set as a database audit trail that is extended which will Nos permite auditar información adicional ahora después de establecer esos parámetros que necesitamos para cerrar la base de datos y reiniciarla para que pueda recoger las nuevas configuraciones para la configuración de auditoría de acuerdo que hemos reiniciado la base de datos y se puede ver que nuestros nuevos parámetros de auditoría se han tomado en vigor el seguimiento de auditoría ahora se establece en db bajo subrayado ampliado, así que voy a añadir algunas configuraciones de auditoría adicionales aquí uno es crear cualquier tabla gota cualquier mesa y voy a hacer que específico para scott así que si scott crea una tabla o gotas una tabla entonces queremos saber acerca de ello para probar esto vamos a salir adelante e iniciar sesión como scott y conectaremos al esquema de scot y trataremos de crear un alright de mesa así que scott's creó una tabla y idealmente por nuestra configuración de auditoría que la actividad sería auditada y sólo para realizar una prueba adicional también vamos a ejecutar una declaración de inserción y vamos a tratar de insertar algunos datos en la tabla imp y hay algunas restricciones para una de las columnas la columna de número de departamento así que tengo que asegurarse de entrar un número que se encuentra dentro de las restricciones definidas en la tabla por lo que hemos emitido un inserto hemos creado una fila de barra de registro dentro de esa tabla que es otro evento que debe ser auditado y luego vamos a redondearlo con una prueba de un Eliminar objeto y vamos a eliminar un registro de empleado no hay empleados con el registro 1300 así que está bien y luego queremos comprometer esos cambios todo el derecho de modo que nuestro siguiente paso es volver y probar que parte de esto ha sido auditado por lo que vamos a querer volver a iniciar sesión como sysdba así que a continuación queremos ver si la auditoría fue exitosa o no en otras palabras fueron capaces de auditar las operaciones de inserción y eliminación que fueron emitidas por scott en la pista de auditoría todo bien aquí podemos ver que él hizo crear una mesa creada una mesa creada una tabla de colas fue uno de los eventos. Así que, de hecho, capturamos una operación de auditoría que era específica de la creación de la tabla ahora que era una configuración de auditoría de todo el sistema por lo que ahora que entendemos cómo instalar la base de datos de sql y configurar algunos contenidos de ejemplo y tenemos la clase de nuestro laboratorio configurado y hemos caminado a través de alguna de la arquitectura de la base de datos de oracle vamos a hablar a través del proceso de ataque de barra de auditoría de la base de datos así que primero es importante saber qué versión está ejecutando porque la mayoría de estas vulnerabilidades y sus ataques asociados se basan en la versión que usted está ejecutando y así cuando hice un Comando de servicios o alquiler de un comando de servicios vi que estoy ejecutando 11202 así que puedo mirar en la base de datos de alertas oracle cve y realmente lo que quiero hacer es encontrar alertas que son para versiones después de 11 202 no es tanto 11 202 que me preocupa por lo que he encontrado uno aquí y um esto es una especie de un conocido bug en el escucha tns ahora el punto de este ejercicio no es necesariamente para que usted salga y ejecutar este hack o barra de auditoría en su sistema, pero es realmente para ilustrar la metodología por la cual usted auditaría sus sistemas ahora típicamente lo que vamos a hacer es que vamos a entrar y vamos a ejecutar una vulnerabilidad escaner y vamos a averiguar dónde están nuestras brechas y luego si queríamos hacer algún nivel de prueba de pluma que es donde buscaríamos potenciales exploits disponibles y utilizar una herramienta tal vez como metasploit a la vulnerabilidad ya sea pasiva o activamente explotada ahora esta instalación 11202 en su versión actual tiene una explotación conocida que se define aquí en la base de datos de exploit-db y por lo que muchas veces te mostrarán cómo hacer una prueba de concepto en el exploit así que he descargado y compilado algunas de las pruebas de código de código de concepto para la explotación hay varios archivos python aquí y lo que esto es es una explotación que establece un escucha de proxy y enviará algunos contenidos binarios al escucha en un intento de inyectar y potencialmente usted sabe ganar control sobre la base de datos de modo que ahora vamos a redondear esta sesión y vamos a hablar a través de bloqueo y endurecimiento de la base de datos de oracle por lo que hemos hablado a través del proceso de instalación que hemos hablado de la arquitectura de seguridad de la base de datos de oracle que incluso hemos hablado de cómo se va a explotar la base de datos y así que redondeamos esto con una discusión en torno a las mejores prácticas para endurecer nuestras instancias de base de datos de oracle.
Ahora como he mencionado inicialmente el oyente sirve como la puerta principal a la base de datos por lo que lo primero que tenemos que hacer es bloquear la puerta frontal y metafóricamente hablando que puede significar un montón de cosas diferentes cuando se trata de la escucha una de las primeras cosas que vamos a hacer aquí es configurar una contraseña para el oyente y le mostraré cómo hacer ese alright así que vamos a ejecutar el comando cambiar contraseña de subrayado desde una solicitud de escucha ctl y hemos verificado que ese archivo de parámetros se ha modificado ahora se da cuenta de que creó un archivo de copia de seguridad y también cuando miramos el contenido del archivo usted verá que la contraseña que nosotros introducido ha sido cifrado hash que sin duda no querríamos que esa variable a ser establecida en texto claro y usted sabe como un probador de penetración de barra de seguridad de evaluación de seguridad i ver más veces que no escenarios donde tiene archivos de texto con contraseñas sin cifrar así que vamos adelante y navegar en ese archivo de configuración y lo que quiero hacer es que quiero comprobar para la contraseña asegúrese de que se ha establecido en el oyente ora y no sólo asegúrese de que se ha establecido, pero asegúrese de que se ha cifrado la barra hash, ya que he mencionado que hay dos versiones del archivo que queremos ver en la nueva versión de la versión antigua tiene un punto la extensión posterior cuando nos fijamos en la versión antigua deberíamos ver que no hay contraseñas establecidas necesito hacer eso con los privilegios correctos de modo que no hay ningún juego de contraseñas y eso es justo lo que esperamos ahora vamos a salir del listener.back y vamos a entrar en el nuevo listener.ora y validar que ha habido una contraseña cifrada para la nueva versión del oyente todo el derecho de modo que navegamos hasta la parte inferior y se puede ver añadido por tns contraseñas de escucha de subrayado y luego vemos nuestra información de contraseña hash así que de hecho se ha añadido así que ahora esta no es la única manera de configurar el escucha que hay adicionales controles o bloqueos que podemos poner en la puerta principal de la base de datos específica para la autenticación y los parámetros de dirección ip así que vamos a explorar algunos de ellos también y también tener en cuenta que algunos de estos controles que estamos implementando sólo afectan a las solicitudes remotas que es donde la noción de defensa y profundidad entra en juego cualquier persona que tiene acceso al sistema operativo local puede aprovechar eso como un peldaño para acceder a la base de datos por lo que hemos navegado de nuevo en el archivo listener.ora y hay parámetros adicionales que podemos añadir que puede bloquear más el escucha por lo que hemos añadido algunos administrativos restricciones para asegurarse de que los comandos administrativos sólo se pueden ejecutar localmente para que también pueda ver aquí que desde el punto de vista de la configuración de seguridad tenemos contraseña o la autenticación del sistema operativo local todo justo a continuación vamos a seguir adelante y habilitar la comprobación de nodos válidos tcp y aquí es donde vamos a implementar algunos ajustes de tipo de cortafuegos y reglas para asegurarse de que sólo ciertos hosts se pueden conectar a nuestro escucha por lo que si usted piensa en esto por un minuto en una implementación de base de datos típica que probablemente va a tener un servidor de aplicaciones que podría estar en un dmz o en otro lugar y es probable que sólo queremos esa aplicación o las direcciones IP de unos pocos servidores de aplicaciones tal vez que se equilibran la carga para poder acceder a la base de datos también es posible que algunas dbas sean capaces de acceder a ella utilizando herramientas tales como sapo si es el caso que usted necesitará para añadir esas direcciones en consecuencia cuando configuramos esta configuración y podemos configurar esto como una configuración de tipo lista blanca o una configuración de tipo lista negra para la comprobación de nodos tcp así que dependiendo de la versión de la base de datos de oracle que usted está ejecutando esto se configuraría en sqlnet.org, en lugar de protocol.org, por lo que puede ver que aquí en el sqlnet.ora he habilitado la comprobación de nodos válidos y que tengo un nodo excluido y acabo de poner una dirección ip que no es relevante aquí, pero esto es más de una configuración de lista negra que podríamos establecer como nodos incluidos y sólo definir las máquinas que queremos tener acceso para que la sqlnet.ora esté en el directorio de red de la instalación de oracle home así que vamos a utilizar el control de nano para escribir eso por lo que hemos bloqueado la puerta principal ahora que hemos bloqueado la puerta principal que queremos asegurarnos de que caminamos alrededor de la casa y que cerramos o cerramos las ventanas que podrían estar abiertas y se puede pensar en ventanas en esta analogía como servicios a la derecha hay tal vez ciertos servicios que la base de datos está en ejecución que no son necesarios para nuestros propósitos y la base de datos xml es un excelente ejemplo para lo que estoy haciendo un simple acceso a la tabla y no estoy usando la base de datos xml no lo necesito así que me gustaría reducir mi superficie de ataque y puedo hacer eso mediante la modificación del archivo init oracle.ora y estoy haciendo una búsqueda aquí para los asignadores se puede ver que el servicio de oracle xdb se anuncia podemos comentar que fuera y asegurarse de que ese servicio ya no es anunciado por la base de datos así que para que ese parámetro para tomar efecto queremos y vamos a necesitar cerrar la base de datos y reiniciar todo el derecho así que modificado la configuración no sólo bien no puede comentarlo en realidad tiene que borrarlo todo en conjunto por lo que ahora que hemos borrado que en la configuración por completo se puede ver que la base de datos xml ya no se anuncia y ya no está disponible por lo que otra área en la que podemos bloquear la base de datos es la comunicación de red y en particular podemos habilitar el cifrado, pero la capacidad de cifrar el tráfico de red para la base de datos de oracle sólo está disponible en la edición de la empresa de la base de datos y por lo que estamos ejecutando la edición exprés así que no tenemos eso disponible para nosotros si usted tenía una empresa versión edición de la base de datos que ejecutaría el asistente de configuración net o netca y ahí es donde configuraría el cifrado de red sobre tls ssl para sus conexiones de base de datos por lo que hemos buscado asegurar el escucha de tns que también hemos buscado bloquear algunos de los servicios anunciados que el oyente puede mostrarnos o anunciar el siguiente paso es ir a la base de datos en sí y proteger o bien eliminar algunas de estas cuentas que se han instalado de forma predeterminada y recordar nuestro objetivo aquí es reducir nuestra superficie de ataque así que hacemos una consulta podemos ver que tenemos como vimos antes de un buen número de usuarios que son creado por defecto algunos de estos pueden o no ser necesario dependiendo de lo que estamos usando la base de datos para ahora que tenemos la lista de usuarios realmente lo siguiente que queremos hacer es encontrar usuarios que tienen contraseñas predefinidas o contraseñas por defecto porque si tenemos usuarios con contraseñas por defecto entonces obviamente un atacante puede conectarse con esas cuentas sólo usando los valores predeterminados que no es una buena práctica de seguridad así que haremos una selección de dba subrayado usuarios con contraseña definida puede ver que hay bastantes hay 22 usuarios que tienen contraseñas predefinidas por lo que llamaría esa problemática en el Por lo menos no vamos a pasar por ahora y modificar cada uno de ellos, pero sí quiero mostrarle cómo elegir uno de estos y cómo modificarlo en consecuencia, así que aquí está el proceso que vamos a utilizar para cambiar sus contraseñas vamos a emitir un usuario de modificación y vamos a elegir la base de datos xml.
Aquí de nuevo identificado por cualquier contraseña que queramos utilizar debe utilizar una seguridad ahora la base de datos de oracle no le gusta caracteres especiales tan mayúsculas en minúsculas alfanumérica alguna combinación de los mismos, por lo que hemos cambiado la contraseña predeterminada del usuario y usted desea repetir este proceso para todos los demás usuarios que han sido identificados con contraseñas por defecto ahora como una cuestión de buenas prácticas puede utilizar las mismas o las diferentes contraseñas para esto las cuentas de dba, como el sistema de cis sysman y otros, pero en realidad se recomienda que utilice diferentes contraseñas para esas cuentas y para eso Lo ideal es que no tenga gente que inicie sesión en cis porque realmente no puede auditar a los individuos que están utilizando la cuenta si tiene más de un dba todo el próximo vamos a cambiar nuestro enfoque a las cuentas de usuario de base de datos que ejecutamos la consulta podemos ver que hay una buena cantidad de información aquí no es necesariamente formateado muy bien y podríamos formatear las columnas de forma diferente y lo haré aquí para que pueda ver el espacio de tabla por defecto para estos usuarios, así como alguna otra información que tenemos 49 de ellos también puede ver que el usuario scott que he creado antes ahora muchas de estas cuentas están bloqueadas por defecto y usted vio que en virtud de la columna la columna bloqueada y las estrellas y las columnas bloqueadas así que es grande, pero algunos de ellos no son y podemos querer cerrarlos así como seguimos a recoger en nuestra cuenta de xdb vamos a seguir adelante y bloquearlo hemos apagado la publicidad del servicio a través del oyente así que por qué no seguir adelante y bloquear la cuenta, así que no estamos utilizando la base de datos xml de todos modos por lo que esto es sólo un control de seguridad adicional que podemos implementar para asegurarse de que ese servicio no se utiliza o comprometido de ninguna manera algunas de las otras cosas que queremos hacer al prestar atención a la seguridad de la cuenta es establecer parámetros tales como el máximo de intentos fallidos de inicio de sesión y otros parámetros específicos para la seguridad de la cuenta ahora usted puede hacer esto a nivel global en los archivos de configuración también podemos crear lo que se llama perfiles para configurar este tipo de parámetros para grupos de usuarios es similar a un grupo, pero el perfil es realmente sólo un conjunto común de configuraciones um de seguridad orientado para un usuario así que he creado un perfil llamado fuerte perfil de seguridad con límite de duración de la contraseña de 30 días y por lo que cualquier usuario que añado a ese perfil ahora heredaremos esa configuración de seguridad por lo que creamos un usuario fred le hemos añadido a la seguridad fuerte perfil por lo que en virtud de la asociación de perfil su duración de la contraseña es de 30 días.