Горбатов Аттестационные испытания автоматизированных систем от 2014
.pdfPROCEDURE |
BY ACCESS BY ACCESS |
TRIGGER |
BY ACCESS BY ACCESS |
ROLE |
BY ACCESS BY ACCESS |
Проверим включенные опции.
Connect ch_cert/ch_cert@orcl CREATE ROLE r1;
CREATE USER user1 IDENTIFIED BY user1; CREATE OR REPLACE PROCEDURE pr1 AS BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr1 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
Alter system set nls_language=’RUSSIAN’; Alter system set nls_language= RUSSIAN; Connect sys/sys@orcl as sysdba
401
SELECT userid,name name_for_audit,obj$name FROM
aud$,audit_actions |
|
|
WHERE aud$.action#=audit_actions.action; |
|
|
USERID |
NAME_FOR_AUDIT |
OBJ$NAME |
------------------ |
---------------------------- |
--------- |
CH_CERT |
CREATE ROLE |
R1 |
CH_CERT |
CREATE USER |
USER1 |
CH_CERT |
CREATE PROCED |
URE PR1 |
CH_CERT |
CREATE TRIGGER |
TR1 |
CH_CERT |
CREATE TRIGGER |
TR2 |
CH_CERT |
CREATE TRIGGER |
TR2 |
CH_CERT |
ALTER SYSTEM |
|
CH_CERT |
ALTER SYSTEM |
|
Несмотря на то, что отдельные действия выполнялись с ошибкой, аудит зарегистрировал все действия пользователя «ch_cert»/ Соединимся теперь пользователем «scott» и выполним те же действия, что и пользователь «ch_cert».
Connect scott/scott@orcl CREATE ROLE r2;
CREATE USER user2 IDENTIFIED BY user2; CREATE OR REPLACE PROCEDURE pr1 AS BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr1 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL
402
END;
/
CREATE OR REPLACE TRIGGER tr2 BEFORE insert OR update ON item FOR EACH ROW
BEGIN
NULL;
END;
/
Alter system set nls_language=’RUSSIAN’; Alter system set nls_language= RUSSIAN;
Connect sys/sys@orcl as sysdba
SELECT userid,name name_for_audit,obj$name FROM
aud$,audit_actions |
|
|
WHERE aud$.action#=audit_actions.action |
|
|
ORDER BY userid; |
|
|
USERID |
NAME_FOR_AUDIT |
OBJ$NAME |
------------------ |
-------------------------- |
--------- |
CH_CERT |
CREATE ROLE |
R1 |
CH_CERT |
ALTER SYSTEM |
|
CH_CERT |
ALTER SYSTEM |
|
CH_CERT |
CREATE PROCEDURE |
PR1 |
CH_CERT |
CREATE TRIGGER |
TR2 |
CH_CERT |
CREATE TRIGGER |
TR1 |
CH_CERT |
CREATE USER |
USER1 |
CH_CERT |
CREATE TRIGGER |
TR2 |
SCOTT |
CREATE USER |
USER2 |
SCOTT |
CREATE ROLE |
R2 |
SCOTT |
ALTER SYSTEM |
|
SCOTT |
CREATE TRIGGER |
TR2 |
SCOTT |
CREATE TRIGGER |
TR2 |
SCOTT |
CREATE TRIGGER |
TR1 |
SCOTT |
ALTER SYSTEM |
|
SCOTT |
CREATE PROCEDURE |
PR1 |
Выше мы установили параметр «audit_sys_operations» в значение «TRUE». После этого мы не раз делали пользователем «SYS» запросы к словарю. Полезно при выполнении лабораторных работ
403
использовать консоль «Oracle Enterprise Manager Console» пользо-
ватетем «sys», так как в этой консоли удобно просматривать содержимое таблиц и представлений аудита без того, чтобы набирать соответствующие команды в окне SQL*Plus. Все действия ползова-
теля «sys», в том числе и в консоли «Oracle Enterprise Manager Console», можно увидеть в окне просмотра событий ОС.
На рис. 15.2. приведен снимок окна программы «Просмотр событий» со строками событий.
Рис. 15.2. Окно просмотра событий
На рис. 15.3 представлен снимок окна, соответствующего одной из строк в окне просмотра событий на рис. 15.2 запросу, который выполнял пользователь «sys». В окне представлен текст запроса, представлены дата и время запроса, указано с какого компьютера запрос выполнялся.
При включении аудита с опцией «OS»:
ALTER SYSTEM SET audit_trail= OS SCOPE=SPFILE;
Информация аудита будет писаться в журнал событий операционной системы вместо журнала базы данных (таблица «aud$»). Например, если пользователь «ch_cert» выполнит команду «alter user
404
user1 identified by user1;»
в программе «Просмотр событий» появится новая строка, которой соответствует окно на рис. 15.4.
Рис. 15.3. Окно просмотра конкретного события (появляется при двойном клике мышки на строке в окне программы просмотра событий)
Рис. 15.4. Регистрация события в журнале событий ОС
405
Наконец, при использовании «XML» опции параметра аудита
«audit_trail»:
На рис. 15.4 указан код «34» действия пользователя «ch_cert». Этому коду в таблице «audit_actions» словаря соответствует значе-
ние «alter user».
ALTER SYSTEM SET audit_trail= XML SCOPE=SPFILE;
События аудита будут писаться в xml файлы в папке, указанной параметром «audit_file_dest». По умолчанию он имеет значение
«ORACLE_BASE/admin/orcl/adump» для базы данных «orcl». Есть один ньюанс при таком способе аудита. При входе в ОС пользователем ОС на кириллице xml файлы аудита не читаются. Просмотр xml файлов аудита браузером или редактором xml текстов мало эффективен, так как в файлах много дополнительных символов и строк. Представление Oracle «v_$xml_audit_trail» позволяет просматривать информацию аудита запросами, подобными тем, которыми мы извлекали информацию из таблицы «aud$».
Сдача лабораторной работы
Сдача лабораторной работы заключается в демонстрации преподавателю всех рассмотренных в настоящей лабораторной работе технологий аудита на заданных преподавателем трех разных предметных областях. Задание для подготовки к сдаче включает:
1.Владельцы предметных областей 1 (ПО1), 2 (ПО2) манипулируют данными с отдельной (любой по выбору студента) таблицей предметной области 3 (ПО3). Эти действия надо зарегистрировать с помощью триггера событий и специально создаваемой таблицы аудита.
2.Пользователь «sys» выполняет настройки аудита встроенными средствами СУБД Oracle для регистрации действий любого другого пользователя по изменению системы, по созданию пользователей, процедур, триггеров, ролей, а также настройки аудита – для регистрации текстов создаваемых процедур, тиггеров, выполняемых отдельными пользователями команд.
3.Пользователь «sys» выполняет настройки аудита встроенными средствами СУБД Oracle для регистрации действий пользователя с привилегией «sysdba».
406
Тестовые задания к работе 15
Входной контроль
1.Укажите строки, относящиеся к аудиту стойкости паролей и парольной политики:
a)выявление паролей по умолчанию;
b)выявление простых паролей;
c)определение парольных компонентов профилей пользователя;
d)поиск паролей в таблицах словаря СУБД;
e)правильных ответов нет.
2.Аудит базы данных проводится с использованием (укажите верные строки):
a)утилиты Net Configuration Assistant;
b)вручную исполняемыми командами администратора безопасности;
c)специально созданными скриптами администратора безопасности;
d)сканеров безопасности баз данных;
e)правильных ответов нет.
3.Укажите строки, определяющие, что должно явиться результатом аудита:
a)описание выявленных уязвимостей;
b)обнаруженные недостатки конфигурации СУБД и прав дос-
тупа;
c)перечень всех непривилегированных пользователей;
d)рекомендации по повышению защищенности;
e)правильных ответов нет.
4.Какая основная проблема возникает перед администраторами баз данных при использовании обычного аудита сред-
ствами Oracle?
a)резкое снижение производительности в работе с пользователями базы данных;
b)затруднение доступа пользователей к базе данных;
c)учащение сбоев в работе СУБД;
d)заметное увеличение затрат памяти на хранение данных ау-
дита;
e)правильных ответов нет.
407
5.Какие пользователи/учетные записи требуют специального аудита, отличного от обычного системного аудита Oracle?
a)пользователи с ролью DBA;
b)пользователи с привилегией sysdba;
c)пользователи, обладающие ролями числом от двух до пяти;
d)пользователи, имеющие ОС аутентификацию;
e)правильных ответов нет.
6.Какое средство позволяет просмотреть зарегистрированные аудитом после соответствующей настройки СУБД действия пользователя с привилегией sysdba?
a)Enterprise Edition console;
b)Policy manager;
c)Database Configuration Assistant;
d)утилитой «Просмотр событий» консоли управления компьютером;
e)правильных ответов нет.
7.С помощью каких объектов схемы пользователя создаются средства аудита разработчика?
a)триггер;
b)последовательность;
c)дополнительная таблица аудита;
d)представление;
e)правильных ответов нет.
Выходной контроль
1.Укажите верную команду аудита любых (в том числе и повторяющихся) действий с журналом аудита:
a) AUDIT INSERT on sys.aud$;
b) AUDIT ALL on sys.aud$ by access;
c) AUDIT ALL on sys.aud$ by SESSION; d) AUDIT ALL on sys.aud$;
e) AUDIT INSERT, UPDATE, DELETE, SELECT on sys.aud$; f) правильных ответов нет.
2.В чем отличие системного аудита средствами Oracle действий пользователя БД от аудита действий того же пользователя с использованием процедур и триггеров разработчика приложений?
408
a)системный аудит не отлавливает команды SELECT;
b)спрограммированный аудит разработчика приложений не отлавливает действий пользователя по соединению с БД;
c)системный аудит не отлавливает команды UPDATE;
d)системный аудит БД конфликтует с аудитом средствами ОС;
e)системный аудит не отлавливает повторяющихся действий пользователя с таблицей (DML) в одной сессии с Oracle;
f)правильных ответов нет.
3.Какими командами обеспечивается возможность регистрации событий аудита в журнале событий консоли управления компьютером?
a)ALTER SYSTEM SET audit_trail= OS SCOPE=SPFILE;
b)ALTER SESSION SET audit_trail= OS SCOPE=SPFILE;
c)shutdown immediate;
d)ALTER SESSION SET audit_trail= OS;
e)startup;
f)правильных ответов нет.
4.Если события аудита пишутся в XML файлы, читать их удобно с помощью…
a)редактора «Блокнот»;
b)редактора «Текстовый редактор WordPad»;
c)запросов к представлению словаря «v_$xml$»;
d)интернет браузера;
e)запросов к представлению словаря «v_$xml_audit_trail»;
f)правильных ответов нет.
5.Для обеспечения аудита действий пользователя «sys» с объектами базы данных требуется выполнения, в частности, таких действий:
a)запросов к таблице aud$;
b)запросов к представлению dba_audit_trail;
c)выполнения команд
ALTER SYSTEM SET audit_sys_operations=true SCOPE= SPFILE;
Shutdown immediate Startup
d)запросов к таблице «onlyforsys»;
e)выполнения команд
409
ALTER SESSION SET audit_sys_operations=true SCOPE= SPFILE;
Shutdown immediate Startup
f) правильных ответов нет.
6. В какой столбец таблицы «aud$» записывается информация о кодах выполняемых пользователями команд при аудите
сопцией «BY ACCESS»?
a)statement;
b)ses$actions;
c)action#;
d)comment$text;
e)sqlbind;
f)правильных ответов нет.
7. Какие команды позволяют обеспечить возможность аудита действий пользователя с регистрацией выполняемых им
SQL, PL/SQL кодов?
a)ALTER SYSTEM SET audit_trail=extendeddb SCOPE= SPFILE;
shutdown immediate startup
b)ALTER SYSTEM SET audit_trail=db,extended SCOPE= SPFILE;
shutdown immediate startup
c)ALTER SYSTEM SET audit_trail= extended SCOPE=SPFILE;
shutdown immediate startup
d) ALTER SYSTEM SET audit_trail= true,fulldb SCOPE=SPFILE; shutdown immediate
startup
e) ALTER SYSTEM SET audit_trail=fulldb SCOPE=SPFILE; shutdown immediate
startup
f) правильных ответов нет.
410
