Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 How to protect database from SA password  [new]
mariyan
Member

Откуда:
Сообщений: 2
How to protect database from SA password

Dear all,

I understand Russian language very well, but my spoken and written Russian is just terrible, my English is a bit better.

I need to protect my database from SA account. Just as it is in MDB (access) databases. Just put there a password an everything is OK. No one can gain access without password. Unfortunately the situation with MS SQL Server is totally different. SA gain access to all. If you have a physical access to the database you may reattach it to another SQL Server instance as to the SA account and to gain access to whole information in it. I asked the Microsoft Office we had a long conversation and they told me that they can't find solution for that.

There was a company which offer a solution which dynamically encrypt and decrypt the whole database during the connection sessions but unfortunately I lost their WEB address long time ago.

Would you please help me to find a solution or a solution provider.

Many thanks in advance

Mariyan

P.P.

Please write on Russian if it is more comfortable for you.
28 дек 04, 20:59    [1216543]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Alex Antonoff
Member

Откуда: Из лесу вестимо
Сообщений: 1251
С MDB далеко не все хорошо, там пароли просто декодируются, и для этого нужно скачать мелкую програмку и иметь, опять же физический доступ к серверу (файлу MDB). Точно так же и в сикуле. Вы можете в пароль SA загнать какуюнибудь хрень и благополучно про него забыть, предварительно разрулив доступ между базами о обьектами бд более тщательно нежели добавление пользователей в System Administrator...

Но если не доброжелатель имеет физический доступ к серверу, он может сделать с ним все, начиная от стягивания баз, заканчивая сменой пароля SA

Вот в частности не давно обсуждалось подобная проблема
29 дек 04, 06:37    [1216793]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
aleks2
Guest
>>There was a company which offer a solution which dynamically encrypt and decrypt the whole database during the connection sessions but unfortunately I lost their WEB address long time ago.

Это Микрософт и есть. Ежели скорость работы с базой не слишком критична, то:
0) backup all before doing the follow.
1) Запускаем сервер MS SQL под доменной учетной записью и проверяем, что все работает.
2) Отключаем нужную базу (detach).
3) Переносим ее вместе с логом в отдельную папку.
4) Logon locally на MS SQL сервер компьютер под уч. записью сервера MS SQL.
5) На папке с базой включаем в свойствах папки: Шифровать содержимое папки.
6) Подключаем базу (attach).
7) Logoff locally c MS SQL компьютера.
8) Проверяем с клиента.
9) Проверяем, что база будет успешно подключена при перезагрузке сервера.
----------------------------
Вроде должно сработать... Сертификат EFS храниться, в этом случае, на доменном контроллере, поэтому даже имея физический доступ к серверу MS SQL невозможно скопировать и переприсоединить базу.
Окромя случая, когда известен пароль доменной учетной записи для MS SQL и есть возможность подключиться к домену и экспортировать сертификат EFS.
29 дек 04, 06:59    [1216804]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Crimean
Member

Откуда:
Сообщений: 13148
2 aleks2

А кто помешает мне сделать бакап базы и унести его с собой? :)
29 дек 04, 10:43    [1217267]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
aleks2
Guest
Шифрованные файлы backup-ся и restore-ся шифрованными.

Для дешифрования нужон сертификат EFS или сертификат агента восстановления.
29 дек 04, 12:02    [1217643]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
aleks2
Guest
Впрочем, кажись не на то ответил...

Just put there a password an everything is OK. No one can gain access without password. Unfortunately the situation with MS SQL Server is totally different. SA gain access to all. If you have a physical access to the database you may reattach it to another SQL Server instance as to the SA account and to gain access to whole information in it.

просят защитить от уноса базы (.MDF). Ежели не знают пароль SA => backup не сделаешь.
29 дек 04, 12:05    [1217665]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Алексей2003
Member

Откуда: Москва
Сообщений: 5645
да не скрыть вам ничего и никогда...
обсуждалось и не раз.


для спящего время бодрствования равносильно сну
29 дек 04, 12:07    [1217680]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10753
Блог
Скрыть действительно сложно, а вот защитить можно. От SA может спасти отказ от смешанной авторизации. От кражы файла - размещение его на RAW. От кражи диска или сервера можно защититься организационными мерами. EFS позволяет не плохо защитить резервные копии, правда на ленту придётся копировать ntbackup. От снифера спасает защищённое соединение. Всё остальное зависит от грамотной разработки базы и клиента.
https://www.sql.ru/articles/Publications.shtml#1-3
29 дек 04, 12:18    [1217751]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Crimean
Member

Откуда:
Сообщений: 13148
С EFS надо заниматься основательно и поэтапно. И очень внимательно изучить вопрос. И запастись password reset дисками и бакапами сертификатов. И обязательно с AD. И защитить Root CA. И ...
А в итоге если нет доверия админу , то лучше нанять нового. Бо все равно он все это будет настраивать. И запросто впишется лишним сценарием восстановления или запасется лишней копией пасворд ресет диска...
Я вот попытался внедрить у себя EFS, обчитался, напробовался, сломал и починил EFS на локальной машине и в домене для порядку, впечатлился тем, что Билли наворотил, огорчился, что это все не сильно просто и весьма тяжело организовано, если объяснять кому-то совершенно не понимающему что это такое по телефону...
29 дек 04, 12:29    [1217817]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
G0b1in
Member

Откуда: RU
Сообщений: 159
А если как здесь описано - переименовать sa в таблице master.sysxlogins на что-то другое и создать запись с именем sa, но с ограниченными правами?
29 дек 04, 12:35    [1217843]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10753
Блог
Crimean
С EFS надо заниматься основательно и поэтапно. И очень внимательно изучить вопрос. И запастись password reset дисками и бакапами сертификатов. И обязательно с AD. И защитить Root CA. И ...
А в итоге если нет доверия админу , то лучше нанять нового. Бо все равно он все это будет настраивать. И запросто впишется лишним сценарием восстановления или запасется лишней копией пасворд ресет диска...
Я вот попытался внедрить у себя EFS, обчитался, напробовался, сломал и починил EFS на локальной машине и в домене для порядку, впечатлился тем, что Билли наворотил, огорчился, что это все не сильно просто и весьма тяжело организовано, если объяснять кому-то совершенно не понимающему что это такое по телефону...


Сертификат можно и для локального админа создать, а потом его сохранить. Системных же админов можно лишить тех прав, которые позволят им овладеть этим сертификатом. Сама же процедура использования EFS вполне проста и тривиальна. Если невозможно отказаться от доменных записей (а такой вариант даже придумать сложно) - создавайте свой домен и не давайте лишних трастов. Кстати, по хорошему, сервера баз данных должны жить в своём, особо защищённом сегменте, куда админам доступ заказан... В крайнем случае, можно воспользоваться программными или аппаратными решениями третьих фирм.
29 дек 04, 13:12    [1218016]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10753
Блог
G0b1in
А если как здесь описано - переименовать sa в таблице master.sysxlogins на что-то другое и создать запись с именем sa, но с ограниченными правами?


От этого мало проку, т.к. идентификатор SA не меняется...
29 дек 04, 13:16    [1218041]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Crimean
Member

Откуда:
Сообщений: 13148
2 Александр Гладченко

Стоп-стоп-стоп.

автор
Системных же админов можно лишить тех прав, которые позволят им овладеть этим сертификатом.


Это, извините, как? Сертификат доступен для использования скромному пользователю, под которым стартует SQL Server, но не доступен сисадминам? Гм. Лично я вижу тут один выход - AD + исключение "подозрительных лиц" из числа доменных админов.

Хотя, конечно, если на время старта сервера подходить к тушке и сувать дискету, то да, это вариант. Но приемлемый ли? Вопрос.

Просто мы этот вопрос серьезно прорабатывали, правда не совсем для SQL целей, а для хостинга .net приложений под IIS... С, естественно, последующей организацией защищенного от местного админа системы доступа этих приложений к SQL серверу... Так вот ничего толком не получилось, пока не построили общий домен и не пообрубали в нем права "местным админам".
29 дек 04, 13:29    [1218108]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Copyright
Member

Откуда: Volgograd=>Moscow=>Volgograd
Сообщений: 1049
Александр Гладченко
Скрыть действительно сложно, а вот защитить можно. От SA может спасти отказ от смешанной авторизации. От кражы файла - размещение его на RAW. От кражи диска или сервера можно защититься организационными мерами. EFS позволяет не плохо защитить резервные копии, правда на ленту придётся копировать ntbackup. От снифера спасает защищённое соединение. Всё остальное зависит от грамотной разработки базы и клиента.


Внесу уточнение по поводу физики - от кражи файла с сервера с установленным SQL спасет

1. Отсутствие физического доступа к диску - Raw partition и шифрование специальными программами ( одна из них PGP )
http://www.computerra.ru/offline/1999/285/2372/

http://www.pcmag.ru/archive/9701s/01s971.asp

http://www.pgpi.org/news/#20010203

2. Держать сервер не прологиненным - т.е на экране приветствия (оттуда его можно и выключать). Доступ по сети к файлам БД соответственно тоже будет ограничен

3. От сниффера - спасает AD, Kerberos, Ipsec и Windows 2000 или XP на компьютерах... Затруднить перехват запросов к SQL и просмотр исходников SP, triggers и т.д (как сделать уже писалось)

4. Для пароля SA нужно ограничить его права, Windows аутентификация, удалить его с роли DBO на базу, удалить группу Buildin Admins, а также запрет вызова "опасных процедур"

5. Хранить ключ шифрования в банковском сейфе в депозитарии ;-))

IMHO от грамотного администратора ничего не спасет... Можно только усложнить задачу, но тем не менее тем не менее - утверждать, что ничего сделать нельзя было бы глупо - надо только постоянно двигаться в этом направлении...

P.S. Данные топики упорядочены в порядке их значимости для меня, т.е более важные вначале
29 дек 04, 13:30    [1218122]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10753
Блог
Crimean
...Просто мы этот вопрос серьезно прорабатывали, правда не совсем для SQL целей, а для хостинга .net приложений под IIS... С, естественно, последующей организацией защищенного от местного админа системы доступа этих приложений к SQL серверу... Так вот ничего толком не получилось, пока не построили общий домен и не пообрубали в нем права "местным админам".


Ну, Вы практически сделали то, что я предлагал :) Реализации могут быть разные (это сильно зависит от окружения и бюджета), а главный принцип Вы точно раскрыли.
Если обобщить, то безопасность это не достижение абсолютной защищённости (это тогда будет стоить безумных денег), а создание ситуации, когда время взлома заведомо меньше времени его обнаружения и принятия ответных мер.
29 дек 04, 13:51    [1218255]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Crimean
Member

Откуда:
Сообщений: 13148
2 Александр Гладченко

автор
главный принцип Вы точно раскрыли


Я правильно понял, что под "главным принципом" считаем фразу

автор
построили общий домен и пообрубали в нем права "местным админам"


Если да, то вернулись к тому, с чего начали - защититься от sa (админа) нельзя. Но при наличии большой конторы можно достаточно точно поделить полномочия админов.

Личное мнение - там, где не хватает разделения прав, можно применять EFS. Больше EFS ни от чего не спасет.
В смысле:

- если прав нет, то есть EFS или нет ее уже фиолетово.
- если есть доступ к "тушке", то тоже все уже фиолетово.
- если есть права админа, то, естественно, совсем все фиолетово.
- если человек не самый админ и его надо отделить в плане доступности ему информации от другого человека с аналогичными правами, то EFS очень кстати.

Ну и дальше мы рискуем впасть в обсуждение способов организации всего этого...
29 дек 04, 14:02    [1218302]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
aleks2
Guest
Вы, робяты, бьетесь с ветряными мельницами.

Вопрос НЕ стоял: защита от SA данного сервера или того круче от доменного/локального админа.

Вопрос стоял: защита от подключения базы к ДРУГОМУ серверу, где SA - свой при условии получения физического доступа к серверу, т.е. при наличии возможности остановить службы и скопировать файлы.

Т.е. я имею право и возможность сделать detach базы и уволочь .MDF.
Вопить, что detach может сделать только тот, кто может сделать BACKUP неконструктивно.
Можно просто сервер остановить и скопировать файл или просто унести диск - это и есть физический доступ.
---------------------------------------
Конечно, ежели можно уволочь весь сервер, то задача взлома упрощается - главное только его не выключать пока уносишь.
29 дек 04, 15:13    [1218694]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
aleks2
Guest
Crimean
В смысле:

- если прав нет, то есть EFS или нет ее уже фиолетово.
- если есть доступ к "тушке", то тоже все уже фиолетово.
- если есть права админа, то, естественно, совсем все фиолетово.
- если человек не самый админ и его надо отделить в плане доступности ему информации от другого человека с аналогичными правами, то EFS очень кстати.


>>если есть доступ к "тушке", ежели "тушка"=сервер

То именно от этого EFS и спасает. А все остальное лабуда.
29 дек 04, 15:20    [1218752]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Crimean
Member

Откуда:
Сообщений: 13148
При "доступе к тушке" EFS спасает не совсем и не всегда.

EFS спасает, если при грамотно настроеной системе (я имею в виду "вообще") уволокли только (!) винт с базой.

А вот если "не только" , то вопросы, вопросы...
29 дек 04, 15:32    [1218847]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Александр Гладченко
Member

Откуда:
Сообщений: 10753
Блог
Дык, я для файлов базы предлагал RAW, а EFS только для резервной копии на диске.
Ложить базы на EFS мудрено, но можно (ссылку на статью я приводил), но это ещё и чревато для производительности и вообще, надёжности сервера. Зато процедуру копирования файлов базы с RAW тудно проделать незаметно для грамотного DBA.
29 дек 04, 16:08    [1219085]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
aleks2
Guest
>>Зато процедуру копирования файлов базы с RAW тудно проделать незаметно для грамотного DBA.

Неужели диск RAW труднее отвинтить, чем любой другой?
30 дек 04, 06:38    [1220207]     Ответить | Цитировать Сообщить модератору
 Re: How to protect database from SA password  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Отвинтить - одинаково , а при живом сервере списать - проблемнее.
30 дек 04, 11:36    [1221013]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить