Sesion4 Seguridad en Base de Datos
Sesion4 Seguridad en Base de Datos
Sesion4 Seguridad en Base de Datos
base de Datos
2 de 57
Metodología del Curso
La materia del curso se entrega como:
3 de 57
Unidad 4
Fundamentos de seguridad en base de datos
4 de 57
Listener
5 de 57
¿Qué es el listener?
6 de 57
¿Cual es su función?
7 de 57
¿Qué es Oracle Net Service?
Application RDBMS
8 de 57
¿Qué es Oracle Net listener?
Oracle Net
configuration files
<ORACLE_HOME>/network/admin/listener.ora
./sqlnet.ora
9 de 57
Conexión de red de oracle
Names resolution
10 de 57
Resolución de nombres
CONNECT jsmith/jspass@finflowers
Name resolution
finflowers =(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=flowers-server)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=finance.us.flowers.com)))
LISTENER
port 1521 finance
flowers-server
11 de 57
Sesiones de usuarios
Server
process
User process
Listener
12 de 57
Nomenclatura
Client/application server
Oracle Net
Oracle Net
15 de 57 configuration files
Directory Naming
• Requiere LDAP con la Red de Oracle información de nombres resolución
cargado :
• Oracle Internet Directory
• Microsoft Active Directory Services
• Soporta todos los protocolos de Red de Oracle
• Soporta opciones de conexión avanzadas
LDAP directory
SQL> CONNECT hr/hr@orcl
Oracle Net
configuration files
16 de 57
External naming
• Utiliza un servicio de nombres no compatibles Oracle incluye:
• Red de Servicios de Información (SNI ) de nombres externo
• Distributed Computing Environment ( DCE) de servicios de directorio de la
célula ( CDS )
Non-Oracle
naming
service
Oracle Net
17 de 57
Herramientas de Configuración ONS
• Página Administrador de Red de Servicios de Administración de la empresa
• Oracle Net Manager
• Oracle Net Configuration Assistant
• Utilidad de control de escucha
18 de 57
Herramientas de Configuración ONS
Component Description File
20 de 57
Oracle Net Manager
21 de 57
Como utilizar los comandos Listener
22 de 57
Seguridad en Listener
• Una de las opciones de seguridad es agregar una contraseña. ¿Como se
hace? Editando el fichero listener.ora y escribiendo la siguiente línea:
PASSWORDS_LISTENER = orapass
lsnrctl> change_password
24 de 57
Bloqueo de acceso al listener
• En caso de no tener un firewall para bloquear el acceso de ciertas IP a una
base de datos lo podemos realizar a través del sqlnet.ora.
• El “secreto” para bloquear o restringir el acceso por IP a la base de datos
se realiza en el archivo sqlnet.ora. Este archivo lo podemos encontrar en el
directorio $ORACLE_HOME/network/admin junto con los archivos
tnsnames.ora y listener.ora
• Editamos el archivo sqlnet.ora y añadimos las siguientes líneas:
tcp.validnode_checking = yes
26 de 57
Que es el archivo SQLNET
27 de 57
Parámetros de configuración
• El directorio donde se encuentra este archivo es:
$ORACLE_HOME/network/admin
28 de 57
Parámetros de configuración
• El directorio donde se encuentra este archivo es:
$ORACLE_HOME/network/admin
29 de 57
Bloquear conexiones inseguras
• Para evitar conexiones inseguras de otros sistemas legasis u otros
$TNS_ADMIN
Vi sqlnet.ora
30 de 57
Bloquear conexiones inseguras
• Una vez ingresen al archivo deben comentar las líneas:
#SQLNET.ALLOWED_VERSION=8
#SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
#SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
31 de 57
Bloquear conexiones inseguras
• Otra forma agregar métodos de autenticación, esto se logra agregando la
siguiente linea.
SQLNET.AUTHENTICATION_SERVICES = (NTS)
32 de 57
Bloquear conexiones inseguras
• Otros valores.
tcp.validnode_checking = yes
33 de 57
Modificar puerto de conexión a base de datos
34 de 57
Puerto de base de datos
• Para conectarse a una base de datos es necesario que exista un puerto
“CTP” de conexión, sin este puerto no podríamos realizar una conexión a
una instancia de base de datos.
• Por defecto las instalaciones de base de datos quedan con el puerto 1521.
Vi $TNS_ADMIN/listener.ora
35 de 57
Cambiar el puerto de conexión
• Para cambiar el puerto de conexión se debe ejecutar lo siguiente:
alter system set
local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=OEL7)(PORT=1538))'
sid=‘USACH' ;
36 de 57
Agregar un nuevo entorno grafico
• Para utilizar esta opción es necesario que el servidor Linux tenga las
librerías para ejecutar opciones graficas también, se recomienda tener un
software en el equipo local que levante una ventana JAVA (Xming)
cd $ORACLE_HOME/bin/
NETCA
37 de 57
Agregar un nuevo puerto con entorno grafico
38 de 57
Agregar un nuevo puerto con entorno grafico
39 de 57
Agregar un nuevo puerto con entorno grafico
40 de 57
Agregar un nuevo puerto con entorno grafico
41 de 57
Agregar un nuevo puerto con entorno grafico
42 de 57
Configuración de contraseñas
43 de 57
Definir fecha de expiración
44 de 57
Definir fecha de expiración
45 de 57
Auditoria de datos (Habilitar la auditoria)
46 de 57
Oracle audit
47 de 57
Oracle audit
49 de 57
Last Login Time
50 de 57
Log’s
51 de 57
Alert log
52 de 57
Archivos TRC
• El archivo TRC es un Oracle Trace File desarrollado por Oracle. Un archivo TRC
es un archivo de seguimiento
• Las trace de ejecución de oracle sirven para mostrar las sentencias SQL y su
plan de ejecución de programas que acceden a bases de datos Oracle. No es
necesario disponer del código fuente ni de la sentencia SQL para saber qué y
cómo se ejecutado
53 de 57
Archivos ADR
54 de 57
jorge.vasconcelos@usach.cl
55 de 57
Gracias !!
56 de 57