Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 ограничение доступа  [new]
zm
Guest
Можно ли ограничить пользователя таким образом, что бы он работал только с одним конкретным приложением, запретить попытки обращения к базе с других приложений
20 ноя 03, 16:25    [426812]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Markelenkov
Member

Откуда:
Сообщений: 2312
Полноценно - нет, а все выдрючивания можно обойти.
Кстати, запретить попытки уж никак нельзя ;-)
20 ноя 03, 17:20    [427016]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Angel
Member

Откуда:
Сообщений: 189
Создать роли, дающие возможность пользователю работать с базой.
Дать эти роли пользователю, но не по умолчанию.
Включать эти роли(alter session set role) только в приложении.
Лишить доступа к sqlplus и т.п.
21 ноя 03, 06:05    [427477]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Sergey Lookin
Member

Откуда: Санкт-Петербург
Сообщений: 231
Повесить на событие On Login в Oracle проверку приложения, и дальше либо пускать либо нет. (не проверял, но по моему это возможно).

----
Oracle 9.2.0.1.0
вероятно что я и не прав. но backup я уже сделал...
21 ноя 03, 10:13    [427717]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Markelenkov
Member

Откуда:
Сообщений: 2312
Любые команды SQL (да и весь трафик к Oracle), можно посмотреть и выполнить все те же команды, которые делает "секретное приложение" из любой другой программы (хоть самому можно написать) - и все, пшик ваша защита. Полноценно не защитить, а от бабушки 50-летней, конечно, еще как-то можно.
21 ноя 03, 14:27    [428385]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Barkovsky
Member

Откуда: Санкт-Петербург
Сообщений: 2655
2 Markelenkov
не уверен.. похоже, что команды "повышенонной секретности" не попадают в v$sql. или вы имеете в виду разбор именно сетевого трафика?

SQL> create user test5 identified by test5

2 /

User created

SQL> select sql_text from v$sql s
2 where lower(sql_text) like '%create user test%'
3 /

SQL_TEXT
--------------------------------------------------------------------------------

select sql_text from v$sql s where lower(sql_text) like '%create user test%'

SQL>
21 ноя 03, 14:40    [428411]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
KonstN
Member

Откуда:
Сообщений: 1201
2 Markelenkov
Можно сварганить собственный протокол логона аля Керберос и зашить его в своё приложение. Другим приложением это не повторить будет.
21 ноя 03, 14:48    [428431]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
alexa_s
Member

Откуда:
Сообщений: 63
под sys создаешь следующий триггер
CREATE OR REPLACE TRIGGER trg$logon
AFTER LOGON
ON DATABASE
when (user not in ('SYS','SYSTEM'))
DECLARE
ln_sid NUMBER;
user_name VARCHAR2(30);
os_user VARCHAR2(30);
program_z VARCHAR2(30);
BEGIN
SELECT sid
INTO ln_sid
FROM v$mystat
WHERE ROWNUM < 2
;
SELECT v$session.username
, v$session.osuser
, v$session.program
into user_name, os_user, program_z
FROM v$session
WHERE v$session.sid = ln_sid
AND v$session.username = USER;
IF LTRIM(USER_name)='SCOTT' and program_z<>'TOAD.exe' then
RAISE_APPLICATION_ERROR (
-20905, 'Вас возможность работать только в TOAD');
end if ;
end;
можешь навернуть на него что угодно например вход только с опреденнного терминала и т.д.
21 ноя 03, 15:25    [428519]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Barkovsky
Member

Откуда: Санкт-Петербург
Сообщений: 2655
2 alexa_s

берем файл hack_oracle.exe и переименовываем его в Toad.exe
как будем держать оборону, товарищ полковник?
21 ноя 03, 15:31    [428544]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Violina
Member

Откуда: Санкт-Петербург
Сообщений: 3662
to alexa

Триггер будет работать только если у SCOTT нет роли DBA

grant/revoke dba в триггере

PS
Кроме того это можно обойти переименованием sqlplus.exe в toad.exe.

D:\oracle\ora92\bin>ren sqlplus.exe toad.exe


D:\oracle\ora92\bin>toad vio/msx386

SQL*Plus: Release 9.2.0.4.0 - Production on Fri Nov 21 15:35:21 2003

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options

SQL> select username, program from v$session;

USERNAME PROGRAM
------------------------------ ------------------

ORACLE.EXE
ORACLE.EXE
ORACLE.EXE
ORACLE.EXE
ORACLE.EXE
ORACLE.EXE
ORACLE.EXE
ORACLE.EXE
VIO toad.exe

9 rows selected.
21 ноя 03, 15:37    [428561]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
alexa_s
Member

Откуда:
Сообщений: 63
Этож только пример незачем пользователю показавать все насвете что он имеет права или неимеет права
21 ноя 03, 15:50    [428597]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Barkovsky
Member

Откуда: Санкт-Петербург
Сообщений: 2655
эх.. вы не знаете этих пользователей. такие проныры..
21 ноя 03, 15:54    [428604]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Обкуренная Обезьяна
Member

Откуда:
Сообщений: 54
И спросит тогда пользователь

тварь я дрожащая или право имею
21 ноя 03, 15:56    [428606]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Barkovsky
Member

Откуда: Санкт-Петербург
Сообщений: 2655
и спустится с небес DBA и исполнит молитвы страждущего. и наступит тогда во всей информационной системе рай, благоухание и компот.
21 ноя 03, 16:00    [428615]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Markelenkov
Member

Откуда:
Сообщений: 2312
To Barkovsky
В v$sql и в подобные места не попадает только пароль пользователя (если я не забыл что-нибудь).

To alexa_s
Да, можно еще свой сетевой протокол написать, свою криптографию навесить, запретить юзерам пользоваться отладчиками. Так можно дойти и до того, что легче что-то вместо Oracle самому написать.

Вся проблема в том, что программа работает на клиенте, и имя программы идет от клиента. А он на своем компе может сделать все, что его душеньке угодно. Вот если вы на его машине уберете FDD, CD-ROM, уберете всякие C++, Delphi и прочая и прочая... Чтобы он, зараза, не мог ничего сам написать и принести откуда-нибудь - опечатать все нафиг. И охранника к каждому юзеру надо приставить, ведь найдется гад, который в простом редакторе наберет exe-файл (сляпаный, к примеру, дома) и запустит его.

В общем, или работа, или такая защита. А ради чего?
21 ноя 03, 19:00    [428976]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Barkovsky
Member

Откуда: Санкт-Петербург
Сообщений: 2655
тогда логично предположить, что если роль защищенна паролем, то при
aler session set role
тоже не попадет в v$sql..
следовательно, если зашить alter session set role в исполняемом коде, то доступ пользователям (не DBA) будет только из этого приложения.
не вижу граблей на этом пути:)
21 ноя 03, 19:15    [429007]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Markelenkov
Member

Откуда:
Сообщений: 2312
Да v$sql здесь совсем ни причем. Он простым юзерам не должен быть виден.

Да я же привел пример - перехватываем, сидя на своей машине сетевой трафик, все команды SQL можно записать в trace-файл. И Оракловая криптография не поможет, т.к. можно, конечно, не дать прав юзеру на изменение sqlnet.ora, но право установить нужную ему переменную окружения tns_admin у него не отобрать. После чего криптография отключается. Поэтому здесь катит только предложение от KonstN с маленьким уточнением - писать свою криптографию и на сервере и на клиенте. Но и против этого существует отладчик, при помощи которого все отсылаемые на сервер команды и алгоритм шифрования вскрываются. А так как вся защита будет основана на незнании юзером выдаваемых приложением команд и на алгоритме шифрования, а не на ключе - пишу свою программу и пшик всей затее.

Ну никак Oracle не узнает ничего о свойствах (в том числе и об имени exe-файла и пр.) программы клиента, если она ему сама об этом не расскажет!

Затраченные усилия на надежную реализацию требований, требуемых автором вопроса, наверняка не стоят этого. А от дурака можно придумать и 100 вариантов - описанные выше, вставка в "секретную" таблицу "секретной" строчки... ... :-))
21 ноя 03, 19:51    [429030]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18483
Да у вас не юзера - хакеры какие-то
Для обычных юзеров достаточно триггер на logon и проверка DBMS_APPLICATION.SET_MODULE (по-моему так).
А хакер - он и в африке хакер. Захочет - зайдет.
Другое дело, что этих хакеров надо производить в должность системных программистов, не давать никаких задач (или дать откровенно тупую) и сделать вид, что очень ждем результатов.
22 ноя 03, 06:01    [429218]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Markelenkov
Member

Откуда:
Сообщений: 2312
Да у меня-то юзеры обычные, бог миловал ;-)
Просто я по себе сужу - что бы я делал, если б мне сказали: "Дружок, вот тебе TOAD, и да наступит тебе феличита, а все другое - от Лукавого". Я же сразу сказал - полноценнно (т.е. на 99% хотя бы) я не знаю, как сделать. А от дурака - 100 способов можно придумать. Пока что хорошего и простого способа никто не предложил. Думаю, и не предложат. Ждем-с...
22 ноя 03, 14:18    [429303]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: ограничение доступа  [new]
dekloper
Member

Откуда:
Сообщений: 79
подскажите плз, можно ли запретить юзеру с ролью DBA доступ к em?
иначе говоря, доступ к em должен быть только у SYS-а (as sysdba)
можно ли так сделать?
ps. oracle 11g
11 май 17, 01:38    [20470917]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6697
dekloper,

Возникает резонный вопрос - зачем пользователю роль, к инструменту выполнения которой он не должен иметь доступ?
Может разумнее забрать у этого пользователя роль DBA, выданную ему скорее всего из-за отсутствия понимания необходимых для его задач привилегий?
11 май 17, 09:50    [20471301]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Для сведения: все, что можно сделать через EM, можно сделать без EM. Разумеется, при определенной квалификации юзера.
11 май 17, 09:57    [20471323]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
dekloper
Member

Откуда:
Сообщений: 79
env
dekloper,
скорее всего из-за отсутствия понимания необходимых для его задач привилегий?

100% так и есть.. если б кто точно знал что надо для работы нашего кривософта, вопросов бы не было...

tru55
Для сведения: все, что можно сделать через EM, можно сделать без EM. Разумеется, при определенной квалификации юзера.

сведения известные: мне скл+ за глаза хватает..
нужна именно защита от.. обезъяны с гранатой..
11 май 17, 11:25    [20471826]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6697
dekloper,

Триггер на логон с проверкой приложения и хоста. Будет мина замедленного действия, но зато в том же духе говнокода, что уже есть.
11 май 17, 11:36    [20471900]     Ответить | Цитировать Сообщить модератору
 Re: ограничение доступа  [new]
Q.Tarantino
Member [заблокирован]

Откуда: Где-то рядом...
Сообщений: 12015
dekloper
100% так и есть.. если б кто точно знал что надо для работы нашего кривософта, вопросов бы не было...

для кривософта должна быть тестовая среда. ее нереально развернуть???
11 май 17, 11:36    [20471906]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить