Вопрос о безопасности

Dmitry
Дата: 06.03.2001 15:35:01
SQL сервер позволяет разграничить права по администрированию себя и сети. Т.е., например не давать админам сети никаких прав. Это хорошо. Но напрашивается вопрос. А что если администратор сети остановит службу SQL сервер, после этого возьмет файлы базы данных, а потом на другом SQL сервере их приаттачит? Так он сможет получить доступ к любым данным, а если надо, то и изменить их, после чего положить обратно измененный файл(ы). В BOL написано, что для приаттачивания файлов надо обязательно сперва их отсоединить об БД. На практике же мне удалось подцепить все базы которые я пробовал и без sp_detach_db...
codd
Дата: 06.03.2001 17:57:38
чтобы ты их приаттачил обратно (после всех, сделанных тобой пакостей), ты должен хотя бы входить в руппу dbcreator
Dmitry
Дата: 06.03.2001 18:24:41
А злой админ и не будет приаттачивать файл. Он его изменит и положит туда же где он и лежал. (при застопленном SQL-е) А потом стартует SQL. И SQL об изменениях ни сном ни духом. Т.е. он будет считать что так и было. Попробуй просто напросто ручками поменять содержимое файла *.mdf а потом стартануть SQL.
Я имел ввиду что он их приаттачит на другом (своем) SQL-сервере для просмотра и изменений. А там уж у него его есть и sysadmin-ские права
Александр Гладченко
Дата: 06.03.2001 20:31:42
Если требования вашей информационной безопасности настолько высоки, не допыскайте совмещения обязанностей администратора сервера/домена и администратора базы данных. Включите аудит изменеия учётных запией. В общем, есть ещё и организационные меры, которые должны быть продуманы, на равне с техническими.
Dmitry
Дата: 06.03.2001 23:48:25
Так ведь речь то как раз об этом. т.е. о том, что хоть админы домена и SQL-я - два разных человека и админ домена не имеет даже логина на SQL сервер, это по большому счету ничего не значит.
Можно еще пару слов об аудите изменеия учётных запией?
А на организационные меры расчитывать к сожалению не приходится...
Genady
Дата: 07.03.2001 10:16:04
Я может чего то не понимаю?
Но если контроллер домена и сервер баз данных разные машины и если на сервере баз данных не зашарены ресурсы, разве может админ домена брать файлы на сервере баз данных?
Да и с остановкой процессов как то мне не понятно
alexeyvg
Дата: 07.03.2001 15:59:47
2Genady: Админ домена может рсшарить ресурс.
Дед Маздай
Дата: 08.03.2001 23:24:00
Любая база, украденная в виде файлов, может быть подключена к другому SQL Server'у, где злоумышленник обладает правами администратора и прочитана на нем. По большому счету SQL Server тут даже не обязателен, т.к. внутри БД (равно как и ее backup'a) данные никак не шифруются, поэтому информацию, записанную в char, varchar и т.д., можно читать, грубо говоря, обычным текстовым viewer'ом. Вопрос, к-й задал Dmitry, можно отнести к более общей категории, когда, напр., спрашивают, что мне делать, чтобы злоумышленник, укравший жесткий диск, ноутбук и т.д., не получил доступ к записанной на нем конфиденциальной информации. Ответ простой - использовать EFS. SQL Server как сервис обычно работает под account'ом его администратора, к-й всегда можно сделать отличным от администратора домена. Ключ криптования вычисляется на основе SID'a пользователя, поэтому сетевой администратор, конечно, сможет удалить файлы БД, но ни поменять, ни прочитать их ему не удастся.
Еще часто задают вопрос: как защитить мою БД от администратора SQL Server. Я встречал в книжках и Интернете много советов на этот счет, порой даже довольно интересных. Тем не менее все они обходятся. Хорошо это или плохо, существующая организация безопасности в SQL Server не позволяет гарантированно защитить какую-либо область данных от его администратора. (Если не прибегать к навескам 3-х фирм, напр., к тому же шифрованию внутри полей, но это неэлегантно и подсаживает произв-ть).
Александр Гладченко
Дата: 11.03.2001 12:28:45
Если Ваш администратор домена такой уж не хороший человек, выведите сервер из этого домена. Далее, можете создать свой домен и организовать между новым и старым доменами трастовые отношения. Или вообще, работайте с одиночным сервером с собственной авторизацией SQL сервера. Тогда, за доступ к файлам отвечать будете только Вы. А сервер можно к себе утащить, запереть и опечатать, поставить сигнализацию и охранника. Только есть одно маленькое НО: если Вы так защитите свой сервер и данные, что их невозможно будет украсть техническим путём, купите тогда себе пистолет и обеспечте безопасность своей семье и родственникам. Современные бандиты могут действовать и по старинке, просто заставят Вас принести необходимую информацию под угрозой жизни или т.п. Для того и придумали разделение полномочий, что бы права доступа к информации небыли сосредоточены у одного лица. Ну а если злой умысел всётаки состоится, это можно поручить правоохранительным органам, только обеспечте юридическую сторону ответственности ваших администраторов (например, подписка о не разглашении...). При таком раскладе, Вам нужно будет не столько бороться с правами админов, сколько заниматься аудитом. Вот тут то Вам может помочь сам SQL Server 2000, с его возможностями обеспечения безопасности класса С2.