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

Спасибо.
...
Рейтинг: 0 / 0
Как перехватить запрос к серверу...
    #32008792
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странное желание... SQL-сервер имеет все средства, чтобы не возникло желания перехватывать запросы. У него достаточно мощные средства настройки прав доступа. А можно запросы настроить так, что они будут возвращать разные результаты в зависимости от того, какой результат выводит SYSTEM_USER или HOST_NAME(). Аудит запросов делается с помощью Profiler. В общем, непонятное желание...
...
Рейтинг: 0 / 0
Как перехватить запрос к серверу...
    #32008795
Sergg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть проект перевода всех обращений не к таблицам а к процедурам и закрывать таблицы на select.
но в клиенте обращение к таблицам , перевод всего клиента sp требует времени и затрат
и если юзер не имеет права посмотреть данные через клиента то он может
подцепившись к серверу со своим логином перекачать данные которые от него скрыты.
Запросы же самые простые select a1,a2 from table и колонку a2 неоходимо скрыть
Как я могу настроить запрос ? (в зависимости от SYSTEM_USER или HOST_NAME().
Подскажите пожалуйста
Спасибо
...
Рейтинг: 0 / 0
Как перехватить запрос к серверу...
    #32008805
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Нужно было сразу делать по-человечески.
2. Не понимаю, какой смысл просто менять "select * from AnyTable" на "exec AnyProc". А на какой вызов хранимой процедуры ты подменишь "select OnlyOneFieldFromALotOfFields from AnyTable"? Или на каждую кмобинацию запрашиваемых полей ты предполагаешь сделать отдельную хранимую процедуру? Или предполагаешь сделать одну хранимую процедуру, использующую динамическую компоновку SQL-запроса? Так ведь с динамическим SQL подобная схема защиты не работает - все равно придется давать прямой доступ к таблицам, поскольку динамически сформированные команды выполняются с правами пользователя, а не с правами владельца хранимой процедуры.
И как же быть с insert и update? Или ты полагаешь, что при сохранении посылаемой с клиента команды на update подменить ее вызовом хранимой процедуры без исправления собственно команды, посылаемой клиентом? Опять же не понятно - зачем? В вызове SP есть смысл, если изначально клиент формирует нужные команды вызова хранимых процедур, а доступ к таблицам закрыт напрочь.
3. Предлагаю просто раздать соответствующие права доступа соответствующим пользователям к соответствующим таблицам и все. Если этот вариант не устраивает, то от переделки клиентской части никуда не уйти.
...
Рейтинг: 0 / 0
Как перехватить запрос к серверу...
    #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
Как перехватить запрос к серверу...
    #32008817
Павел
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Либо я создам нормальную систему администрирования, с которой справится даже бухгалтер

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

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


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