Practica Seguridad

download Practica Seguridad

If you can't read please download the document

Transcript of Practica Seguridad

  • Instituto Tecnolgico de Lzaro

    Crdenas Michoacn

    PRACTICA DE SEGURIDAD

    MATERIA:

    Taller de base de datos

    ALUMNO:

    Jos Manuel Calleja Zamora

    Luis Francisco Fabela Ramos

    PROFESOR: Daniel Benito Romn

    Ocampo

  • 1. Buscar en la documentacin en lnea y en bd el contenido de las vistas:

    dba_profiles

    DBA_PROFILES muestra todos los perfiles y sus lmites.

    Columna

    Tipo de

    datos NULL Descripcin

    PERFIL VARCHAR2 (30)

    NOT

    NULL Nombre del perfil

    RESOURCE_NAME VARCHAR2 (32)

    NOT

    NULL Nombre de recurso

    Resource_type VARCHAR2 (8)

    Indica si el perfil de recursos es

    un KERNEL o CONTRASEA parmetro

    LMITE VARCHAR2 (40)

    Lmite en este recurso para este perfil

    dba_roles

    DBA_ROLES enumera todos los roles que existen en la base de datos.

    Columna Tipo de datos NULL Descripcin

    PAPEL VARCHAR2 (30)

    NOT

    NULL Nombre de funcin

    Password_required VARCHAR2 (8)

    Indica si la funcin requiere una contrasea

    para ser habilitado

  • dba_users

    DBA_USERS describe todos los usuarios de la base de datos.

    Vista

    USER_USERS describe el usuario actual. Este punto de vista no muestra

    el CONTRASEA , PERFIL , password_versions o EDITIONS_ENABLED columnas.

    Columna

    Tipo de

    datos NULL Descripcin

    NOMBRE DE USUARIO VARCHAR2 (30)

    NOT

    NULL Nombre del usuario

    USER_ID NMERO NOT NULL

    Nmero de identificacin del usuario

    CONTRASEA VARCHAR2 (30)

    Indica si el usuario es autenticado por el

    OID ( GLOBAL ), ni autentificada

    externamente ( EXTERNO ); NULL de

    otro modo

    ACCOUNT_STATUS VARCHAR2 (32)

    NOT

    NULL Estado de cuenta:

    ABIERTO CADUCADO Vencimiento (GRACE) BLOQUEADO (TIEMPO) BLOQUEADO VENCIDO Y BLOQUEADO (TIEMPO) Vencimiento (GRACE) y cerrado

    (TIEMPO) VENCIDO Y BLOQUEADO Vencimiento (GRACE) y

    BLOQUEADO

    LOCK_DATE FECHA Fecha en que la cuenta ha sido

    bloqueada si el estado de cuenta

    seBLOQUEADO

    EXPIRY_DATE FECHA Fecha de caducidad de la cuenta

    DEFAULT_TABLESPACE VARCHAR2 (30)

    NOT

    NULL Espacio de tabla por defecto para los

    datos

  • Columna

    Tipo de

    datos NULL Descripcin

    TEMPORARY_TABLESPACE VARCHAR2 (30)

    NOT

    NULL Nombre del espacio de tabla por

    defecto para las tablas temporales o el

    nombre de un grupo de tablas

    CREADO FECHA NOT NULL

    Fecha de creacin del usuario

    PERFIL VARCHAR2 (30)

    NOT

    NULL Nombre de usuario perfil de recursos

    INITIAL_RSRC_CONSUMER_GROUP VARCHAR2 (30)

    Grupo de consumidores de recursos

    inicial para el usuario

    External_name VARCHAR2 (4000)

    Nombre externo del usuario

    Password_versions VARCHAR2 (8)

    Versin de la base en la que se cre o

    se cambia la contrasea

    EDITIONS_ENABLED VARCHAR2 ( 1)

    Reservado para uso futuro

    dba_role_privs

    DBA_ROLE_PRIVS describe los roles otorgados a todos los usuarios y roles en la

    base de datos.

    Vista USER_ROLE_PRIVS describe los roles concedidos al usuario actual.

    Columna Tipo de datos NULL Descripcin

    CONCESIONARIO VARCHAR2 (30)

    Nombre del usuario o rol beneficiaria de la

    subvencin

    GRANTED_ROLE VARCHAR2 (30)

    NOT

    NULL Nombre de rol concedido

    ADMIN_OPTION VARCHAR2 (3)

    Indica si la subvencin fue con la OPCIN

    ADMIN ( S ) o no ( NO )

    DEFAULT_ROLE VARCHAR2 (3)

    Indica si la funcin ha sido designada como

    una funcin predeterminada para el usuario

    ( S ) o no ( NO )

  • dba_tab_privs

    DBA_TAB_PRIVS describe todas las subvenciones objeto de la base de datos.

    VISTAS

    USER_TAB_PRIVS describe las subvenciones objeto de que el usuario actual es el

    propietario del objeto, concedente o concesionario.

    Columna Tipo de datos NULL Descripcin

    CONCESIONARIO VARCHAR2 (30)

    NOT

    NULL Nombre del usuario al que se le concedi acceso

    PROPIETARIO VARCHAR2 (30)

    NOT

    NULL Propietario del objeto

    TABLE_NAME VARCHAR2 (30)

    NOT

    NULL Nombre del objeto

    CONCEDENTE VARCHAR2 (30)

    NOT

    NULL Nombre del usuario que realiz la donacin

    PRIVILEGE VARCHAR2 (40)

    NOT

    NULL Privilegios sobre el objeto

    Grantable VARCHAR2 (3)

    Indica si el privilegio fue concedido con el GRANT

    OPTION ( S ) o no ( NO )

    JERARQUA VARCHAR2 (3)

    Indica si el privilegio fue concedido con

    la OPCIN JERARQUA ( S ) o no ( NO )

  • dba_sys_privs

    DBA_SYS_PRIVS describe los privilegios del sistema concedidos a usuarios y

    roles. Este punto de vista no muestra el USUARIO columna.

    VISTAS

    USER_SYS_PRIVS describe los privilegios del sistema concedidos al usuario

    actual. Este punto de vista no muestra el CONCESIONARIO columna, sino que muestra

    el USUARIO columna.

    Columna

    Tipo de

    datos NULL Descripcin

    CONCESIONARIO VARCHAR2 (30)

    NOT

    NULL Nombre del Beneficiario, usuario o rol

    beneficiaria de la subvencin

    NOMBRE DE

    USUARIO VARCHAR2

    (30) Nombre del usuario actual

    PRIVILEGE VARCHAR2 (40)

    NOT

    NULL Privilegio de sistema

    ADMIN_OPTION VARCHAR2 (3)

    Grant era el ADMIN opcin

    SQL> DESC DBA_PROFILES

  • SQL> DESC DBA_ROLES

    SQL> DESC DBA_USERS

  • SQL> DESC DBA_ROLE_PRIVS

    SQL> DESC DBA_TAB_PRIVS

  • SQL> DESC DBA_SYS_PRIVS

    2. Conectarse como usuario SYSTEM a la base y crear un usuario llamado

    "tablespace" por defecto USERS y como "tablespace" temporal TEMP; asignar una cuota de 500K en el "tablespace" USERS. SQL> CREATE USER ADMINISTRADOR IDENTIFIED BY ADMIN 2 DEFAULT TABLESPACE USERS 3 TEMPORARY TABLESPACE TEMP 4 QUOTA 500K ON USERS;

  • User created. SQL> SELECT USERNAME FROM DBA_USERS WHERE USERNAME='ADMINISTRADOR';

    3. Abrir una sesin sqlplus e intentar conectarse como usuario

    El usuario ADMINISTRADOR no tiene permiso para conectarse a la base de datos

  • 4. Averiguar qu privilegios de sistema, roles y privilegios sobre objetos tiene

    SQL> select * from dba_role_privs where grantee='ADMINISTRADOR'; no rows selected

    SQL> select * from dba_tab_privs where grantee='ADMINISTRADOR'; no rows selected

  • SQL> select * from dba_sys_privs where grantee='ADMINISTRADOR'; no rows selected

    intentar de nuevo la conexin sqlplus. SQL> grant create session to administrador; Grant succeeded.

  • SQL> connect administrador Enter password: Connected.

    "tablespace" temporal TEMP; asignar una cuota de 0K en el "tablespace" USERS. Es posible hacerlo?.

  • SQL> r 1 create user prueba00 identified by prueba00 2 default tablespace users 3 temporary tablespace temp 4* quota 0k on users create user prueba00 identified by prueba00*

    7. Conect

    SQL> grant create user to administrador; Grant succeeded.

  • SQL> connect administrador Enter password: Connected.

    SQL> create user prueba00 identified by prueba00 2 default tablespace users 3 temporary tablespace temp 4* quota 0k on users User created.

  • 8. Averiguar que usuarios de la base de datos tienen asignado el privilegio

    nsultada?. SQL> desc dba_sys_privs

    SQL> select * from dba_sys_privs where privilege ='CREATE USER';

  • SQL> select * from dba_sys_privs where privilege ='CREATE SESSION';

  • 10. Crear dos "tablespace" llamados NOMINA y ACADEMO, que contendrn datos relativos a las aplicaciones de nomina y datos acadmicos de los empleados de una empresa, segn las siguientes caractersticas: ACADEMO NOMINA Tamao inicial 1M 1M Autoextensible SI SI Extensin 200K 100K Tamao mximo 1400K 1500K Parmetros almacenamiento Initial 16K 16K Next 16K 16K Minextents 1 1 Maxextents 3 3 Localizacin /u02/oradata/ /u02/oradata/ Consulte la ayuda en lnea si no recuerda la sintaxis exacta de la sentencia.

    SQL> create tablespace academo datafile '/oraclexe/oradata/XE/academo01.dbf' size 1M 2 autoextend on next 200k maxsize 1400K 3 default storage (initial 16k next 16k 4 minextents 1 maxextents 3); Tablespace created.

  • SQL> create tablespace nomina datafile '/oraclexe/oradata/XE/nomina01.dbf' size 1M 2 autoextend on next 100K maxsize 1500K 3 default storage (initial 16k next 16k 4 minextents 1 maxextents 3); Tablespace created.

  • 11.Crear dos "tablespace" temporales, manejados de forma local, llamados TEMP_NOMINA y TEMP_ACADEMO con las siguientes caractersticas: TEMP_ACADEMO TEMP_NOMINA Tamao inicial 500K 600K Autoextensible SI SI Extensin 50K 50K Tamao mximo 600K 700K Localizacin /u04/oradata/ /u04/oradata/ SQL> create temporary tablespace temp_academo 2 tempfile '/oraclexe/oradata/XE/temp_academo01.dbf' 3 size 500k autoextend on next 50k maxsize 600k 4 extent management local uniform size 100k; Tablespace created.

  • SQL> create temporary tablespace temp_nomina 2 tempfile '/oraclexe/oradata/XE/temp_nomina01.dbf' 3 size 600k autoextend on next 50k maxsize 700k 4 extent management local uniform size 100k; Tablespace created.

  • 12. ll SQL> connect administrador Enter password: Connected. SQL> create role administrador; create role administrador * ERROR at line 1: ORA-01031: insufficient privileges

  • 13.Idem estando conectado como usuario SYSTEM, qu sucede?, por qu?. SQL> connect system Enter password: Connected. SQL> create role administrador; create role administrador *

    El role administrador no se puede crear debido a que existe un usuario del mismo nombre

  • 14. Comprobar en el diccionario de datos los usuarios o roles que poseen el

    SQL> select * from dba_sys_privs where privilege ='CREATE ROLE'; GRANTEE PRIVILEGE ADM -------------------------------------------------------------------------- DBA CREATE ROLE YES IMP_FULL_DATABASE CREATE ROLE NO

  • 15. Asignarlo al usuario administrador.

    SQL> create role admin; Role created. SQL> grant create session to admin; Grant succeeded.

  • SQL> c.session.user. 1* grant create user to admin SQL> r 1* grant create user to admin Grant succeeded. SQL> c.user.role.

    1* grant create role to admin

    SQL> r 1* grant create role to admin Grant succeeded. SQL> grant admin to administrador; Grant succeeded.

  • 16. Consultar los privilegios de sistema que tiene asignados de forma directa

    SQL> select * from dba_sys_privs where grantee ='ADMINISTRADOR'

    SQL> revoke create session from administrador; Revoke succeeded. SQL> c.session.user. 1* revoke create user from administrador SQL> r 1* revoke create user from administrador Revoke succeeded.

  • SQL> grant admin to administrador; Grant succeeded.

    autenticado por base de datos al que no se le asigne "tablespace" por defecto ni temporal.

    SQL> create user prueba01 identified by prueba01; User created.

  • 18. Consultar en las vistas correspondientes los "tablespaces" y la quota en

    cada uno de ellos que tiene los usuarios

    SYS,SYSTEM, . Qu ha ocurrido

    SQL> select substr(username,1,15) usuario, DEFAULT_TABLESPACE ,

    TEMPORARY_TABLESPACE 2 from dba_users 3 where username in ('SYS','SYSTEM','ADMINISTRADOR','PRUEBA00','PRUEBA01');

    SQL> select substr(username,1,15) usuario, tablespace_name, max_bytes from dba_ts_quotas where username in ('SYS','SYSTEM','ADMINISTRADOR','PRUEBA00','PRUEBA01')

  • asignando como "tablespace" por defecto NOMINA y como "tablespace" temporal TEMP_NOMINA (no se le asignara cuota en NOMINA).

    SQL> create user prueba02 identified by prueba02 2 default tablespace nomina 3 temporary tablespace temp_nomina; User created.

    ce" ACADEMO y TEMP_ACADEMO como "tablespace" de trabajo y temporal respectivamente (sin especificar cuota). SQL> alter user prueba01 temporary tablespace temp_academo; User altered. SQL> alter user prueba01 default tablespace academo;

  • 21.Consultar en las vistas correspondientes los "tablespace" y la cuota en cada uno de ellos que tiene los usuari SQL> select * from dba_ts_quotas where username in ('PRUEBA01','PRUEBA02');

    SQL> create role conexion; Role created.

  • SQL> grant create session to conexion; Grant succeeded.

    SQL> grant conexion to prueba00, prueba01, prueba02; Grant succeeded.

  • 24.Comprobar en la vista correspondiente cuales son los roles asignados a los SQL> select * from dba_role_privs where grantee in ('PRUEBA00','PRUEBA01','PRUEBA02');

  • "tablespace" ACADEMO: CREATE TABLE CODIGOS(CODIGO varchar2(3),DESCRIPCION varchar2(20)) TABLESPACE ACADEMO STORAGE (INITIAL 64K NEXT 64K MINEXTENTS 5 MAXEXTENTS 10); Es posible hacerlo?, falta algn permiso?. SQL> connect prueba01 Enter password: Connected. SQL> CREATE TABLE CODIGOS 2 (CODIGO varchar2(3), 3 DESCRIPCION varchar2(20)) 4 TABLESPACE ACADEMO 5 STORAGE (INITIAL 64K 6 NEXT 64K 7 MINEXTENTS 5 8* MAXEXTENTS 10) CREATE TABLE CODIGOS *

    Es imposible el usuario no tiene permisos para crear tablas

  • 26. Crear u SEQUENCE", "CREATE SESSION", "CREATE SYNONYM", "CREATE TABLE" y "CREATE VIEW".

    SQL> connect system Enter password: Connected. SQL> create role desarrollo; Role created.

    SQL> grant create sequence, create session, create synonym, create table, create view to desarrollo;

  • SQL> grant desarrollo to prueba00, prueba01, prueba02;

    ACADEMO. SQL> connect prueba01 Introduzca su clave: Connected. SQL> CREATE TABLE CODIGOS 2 (CODIGO varchar2(3), 3 DESCRIPCION varchar2(20)) 4 TABLESPACE ACADEMO 5 STORAGE (INITIAL 64K 6 NEXT 64K 7 MINEXTENTS 5 8* MAXEXTENTS 10) CREATE TABLE CODIGOS*