Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как перехватить запрос к серверу... / 8 сообщений из 8, страница 1 из 1
03.07.2001, 14:45
    #32008790
Sergg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
есть необходимость перехватывать запросы (select) к серверу и просматривать их ,
и если есть обращение к запрещенным данным то формировать null при возврате
или рубить запрос.
Подскажите, может есть уже готовые решения,идеи
(7.0 на w2k)

Спасибо.
...
Рейтинг: 0 / 0
03.07.2001, 14:54
    #32008792
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
Странное желание... SQL-сервер имеет все средства, чтобы не возникло желания перехватывать запросы. У него достаточно мощные средства настройки прав доступа. А можно запросы настроить так, что они будут возвращать разные результаты в зависимости от того, какой результат выводит SYSTEM_USER или HOST_NAME(). Аудит запросов делается с помощью Profiler. В общем, непонятное желание...
...
Рейтинг: 0 / 0
03.07.2001, 15:24
    #32008795
Sergg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
есть проект перевода всех обращений не к таблицам а к процедурам и закрывать таблицы на select.
но в клиенте обращение к таблицам , перевод всего клиента sp требует времени и затрат
и если юзер не имеет права посмотреть данные через клиента то он может
подцепившись к серверу со своим логином перекачать данные которые от него скрыты.
Запросы же самые простые select a1,a2 from table и колонку a2 неоходимо скрыть
Как я могу настроить запрос ? (в зависимости от SYSTEM_USER или HOST_NAME().
Подскажите пожалуйста
Спасибо
...
Рейтинг: 0 / 0
03.07.2001, 17:40
    #32008805
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
1. Нужно было сразу делать по-человечески.
2. Не понимаю, какой смысл просто менять "select * from AnyTable" на "exec AnyProc". А на какой вызов хранимой процедуры ты подменишь "select OnlyOneFieldFromALotOfFields from AnyTable"? Или на каждую кмобинацию запрашиваемых полей ты предполагаешь сделать отдельную хранимую процедуру? Или предполагаешь сделать одну хранимую процедуру, использующую динамическую компоновку SQL-запроса? Так ведь с динамическим SQL подобная схема защиты не работает - все равно придется давать прямой доступ к таблицам, поскольку динамически сформированные команды выполняются с правами пользователя, а не с правами владельца хранимой процедуры.
И как же быть с insert и update? Или ты полагаешь, что при сохранении посылаемой с клиента команды на update подменить ее вызовом хранимой процедуры без исправления собственно команды, посылаемой клиентом? Опять же не понятно - зачем? В вызове SP есть смысл, если изначально клиент формирует нужные команды вызова хранимых процедур, а доступ к таблицам закрыт напрочь.
3. Предлагаю просто раздать соответствующие права доступа соответствующим пользователям к соответствующим таблицам и все. Если этот вариант не устраивает, то от переделки клиентской части никуда не уйти.
...
Рейтинг: 0 / 0
03.07.2001, 21:06
    #32008814
Fompro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
" SQL-сервер имеет все средства, чтобы не возникло желания перехватывать запросы".
У НАС возникает это желание. Вряд ли Вы будете в восторге от человека (руководителя), который постоянно говорит Вам: "Я всё знаю, я всё уже придумал, а Вам осталось только написать код" (А включаешь - не работает).
Пример из жизни.
Два сегмента сети, в одном из них циркулирует информация ограниченного (весьма) доступа. Тем не менее из 2-го сегмента необходимо получать "открытые" данные + вести аудит. И Вы хотите, чтобы я полностью доверился SQL Server и БГ??? О птичках: сколько Fix-ов и spack-ов было выпущено чтобы заткнуть дыры в защите 7-ки? Кстати, в "Microsoft Open Data Services: Application Sourcebook" описывается и рассматривается необходимость и возможность создания подобного собственного слоя безопасности. Но ... Упомянутый там пример кода приложения SECURE (в отличие от других) так мною и не был нигде обнаружен. Но это к слову. Безопасность данных ведь не исчерпываются появлением ролей и т.п. Что касается аудита с помощью Profiler - я не мазохист, да и Управление безопасности меня не поймёт, если я им такое подсуну.

Принцип всегда остаётся один - за всё надо платить.
Либо я создам нормальную систему администрирования, с которой справится даже бухгалтер, либо а наживу геморрой себе. Плюс, не забудьте, существует такая вещь как поддержка. И в филиале д.б. работать не "специалист по сетям, NT/UNIX/NetWare + офисная АТС", а подготовленный DBA.
За дровами я могу сходить в лес с топором, а сколько с меня сдерут на бензоколонке - больщой вопрос.

2 Sergg - Создание процедуры разбора SELECT (а точнее всего текста запроса) - не займёт ли больше времени, чем перевод под SP. Цитата оттуда же:
"Moreover, event handlers for remote stored procedure events are generally easier to write than language event handlers, because the incoming command and parameters do not have to be parsed from a command string." Если заинтересуетесь, напишите мне.
...
Рейтинг: 0 / 0
04.07.2001, 01:46
    #32008817
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
>Либо я создам нормальную систему администрирования, с которой справится даже бухгалтер

Что то мне это напоминает... Вроде кто-то хотел построить государство, управлять которым могла бы любая кухарка... Кажется ничего так и не получилось.

А если серьезно - будете сами строить систему защиты - рискуете оставить в ней дыры, по сравнению с которыми выявленные микрософтовские баги просто микротрещины.
...
Рейтинг: 0 / 0
04.07.2001, 04:40
    #32008821
Fompro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
Ну не держите меня за идиота. Речь ведь идёт о создании слоя НАД существующим механизмом.
Он создан и, кстати, аттестован.
Что касается кухарок - то каждый должен есть свою морковку ... Моя задача - дать ей инструмент для работы (печку сложить), а не научить писать запросы (варить борщ). Вопрос в том когда надо остановиться, или остановить. Вспомните с чего начиналась 1С - как инструмент для бухгалтера, а не "программиста владеющего 1С".
...
Рейтинг: 0 / 0
04.07.2001, 08:38
    #32008852
Garya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как перехватить запрос к серверу...
Что-то тут не так. Если требуется перехватывать запросы для того, чтобы повысить безопасность, то результат получается прямо противоположный. Наличие возможности перехвата запросов как раз эту самую безопасность нарушает. А что мешает перехватить те запросы, которые вы уже раньше перехватили и превратили в "те, которые нужны с точки зрения безопасности"?
От одного знакомого я даже слышал идею придумать язык, более развитый, нежели SQL. Все клиенты будут с использованием технологии MIDAS посылать запросы промежуточному приложению, а оно будет отслеживать коннекты и контенты и преобразовывать запросы с суперязыка в SQL.
Интересно, как в аттестованной системе администрирования отрабатывается подобная ситуация. Пользователь1, имеющий право на выполнение некоторой операции передал свое право Пользователю2. Спустя некоторое время администратор (или крутой бухгалтер ) отнял это право у Пользователя1. Что произойдет с правами Пользователя2? Или ничего? А бухгалтер, который "способен понять" он вообще над такими вопросами задумывается, вы полагаете?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как перехватить запрос к серверу... / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]