Как взломать SQL Server Дмитрий Артемов Старший консультант dimaa@microsoft.com.

Презентация:



Advertisements
Похожие презентации
«Управление доступом к данным» Подготовила студентка 2 курса 10 группы ГМУ Филиппова Галина Валерьевна.
Advertisements

Обеспечение безопасности данных. Управление доступом к данным. Управление доступом к данным. Управление пользователями БД. Управление пользователями БД.
Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
Администрирование информационных систем Механизмы обеспечения безопасности данных.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
Безопасность СУБД СУБД имеет свои собственные: Пользовательские бюджеты Механизм ведения аудита Механизм разграничения доступа Язык программирования Механизм.
Microsoft TechDays Леонид Шапиро MCT, MVP, MCSE Microsoft TechDays Правила наименьших привилегий Стандартные средства защиты Microsoft Свойства учетной.
Администрирование информационных систем Начало работы с MS SQL Server 2000.
Администрирование информационных систем Администрирование БД. Управление разрешениями.
Урок 2. Установка и настройка сервера SQL Server.
Администрирование информационных систем Администрирование баз данных Восстановление данных.
Администрирование информационных систем Обеспечение доступности серверов БД.
ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии.
Управление доступом к данным. Управление доступом При решение вопроса о разворачивании сервера БД MS SQL Server 2000 необходимо решить вопросы защиты.
Защита компьютера и файлов. Защита компьютера Создание учётных записей для каждого пользователя компьютера Панель управления - Учётные записи пользователей.
«Защита базы данных» Преподаватель: Французова Г.Н.
W w w. a l a d d i n. r u Владимир Здор, Руководитель направления аутентификации и защиты информации Корпоративная система защиты конфиденциальной информации.
Сетевое окружение в операционной системе LINUX Выполнила: Макарова Мария.
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Московский государственный институт.
Транксрипт:

Как взломать SQL Server Дмитрий Артемов Старший консультант

Файлы резервных копий баз данных Сценарий Мистер Хакер просто копирует файлы резервных копий базы данных (или баз данных), которые его интересуют, куда-нибудь на сетевой ресурс. Теперь он может на досуге восстановить базы на своей личной копии SQL Server из этих резервных копий. Решение Защитите файлы резервных копий на локальном NTFS-диске, выставив разрешения так, что только системная учетная запись, агент, производящий резервное копирование на магнитную ленту, и администратор (администраторы) баз данных имели к ним доступ. Примите меры, чтобы физически обезопасить пленки с резервными копиями. SQL Server 2000 предоставляет возможность защитить файлы резервных копий паролем. Укажите параметр PASSWORD в команде BACKUP DATABASE, и в будущем для восстановления из этого файла резервной копии потребуется заданный пароль. Впрочем, использование параметра PASSWORD не приводит к шифрованию содержимого файла резервной копии, поэтому данные будут доступны для просмотра любому, кто сможет воспользоваться шестнадцатеричным редактором. SQL Server 2005 этой проблемы не решает

Зашифрованные объекты Сценарий Глупый Наивный разработчик программного обеспечения «прячет» требующий защиты код в зашифрованную процедуру, думая, что так он будет в безопасности Решение Не пользуйтесь этой функциональностью. Вот вам намек: Microsoft ею не пользуется SQL Server 2005 делает расшифровку труднее, но не намного

Стандартные пароли безопасности SQL Server Сценарий Встроенные (и сравнительно мало документированные) функции шифрования и проверки стандартных паролей безопасности в SQL Server не закрыты; pwdencrypt и pwdcompare могут быть использованы кем угодно. С помощью этих функций при наличии пароля пользователя в зашифрованном виде легко написать на T-SQL простой взломщик паролей, действующий методом грубой силы Решение Выбирайте стойкие пароли, если используете аутентификацию SQL Server, но постарайтесь использовать для большинства пользователей аутентификацию NT, избежав данной проблемы в принципе SQL Server 2005 по умолчанию требует создания сильных паролей, но слабый пароль колется также легко Что такое сильный пароль The password does not contain all or part of the account name of the user. Part of an account name is defined as three or more consecutive alphanumeric characters delimited on both ends by white space such as space, tab, and return, or any of the following characters: comma (,), period (.), hyphen (-), underscore (_), or number sign (#). The password is at least eight characters long. The password contains characters from three of the following four categories: Latin uppercase letters (A through Z) Latin lowercase letters (a through z) Base 10 digits (0 through 9) Non-alphanumeric characters such as: exclamation point (!), dollar sign ($), number sign (#), or percent (%).

Расширенная процедура xp_cmdshell Пресловутая процедура xp_cmdshel SQL Server – прадедушка угроз безопасности Сценарий Злоумышленник получает кратковременный доступ к SQL Server как привилегированный пользователь (под sa или другой учетной записью sysadmin), SQL Server работает от имени учетной записи LocalSystem. Злоумышленник быстро набирает единственную строку в Query Analyzer и заметает следы. Теперь он не только локальный Administrator на компьютере с Windows NT/2000, но и sysadmin на SQL Server Решение Удалите эту процедуру немедленно. И не позволяйте службам SQL Server выполняться от имени учетных записей LocalSystem и Administrator. Лучшим решением будет использовать доменную учетную запись пользователя с низкими привилегиями.

Расширенная процедура xp_cmdshell Если xp_cmdshell вызывается от имени пользователя из роли sysadmin, она исполняется в контексте пользователя, от имени которого работает SQL Server (еще одна причина не давать сервису SQL Server слишком высоких привилегий). Если пользователь не включен в роль sysadmin, xp_cmdshell исполняется от имени SQL Server Agent proxy account, указанного средствами xp_sqlagent_proxy_account. Вот пример строки, с помощью которой злоумышленник может поместить себя в группу локальных администраторов на сервере: xp_cmdshell "NET LOCALGROUP /ADD Administrators baduser" Конечно, если у злоумышленника нет локальной учетной записи, все, что ему нужно сделать, это сначала ввести следующую строку: xp_cmdshell "NET USER baduser badpwd /ADD"

Другие расширенные хранимые процедуры См The Benchmarks are a compilation of security configuration actions and settings that "harden" SQL Server 2005 and SQL Server 2000 databases. They recommend Level 1 Benchmark guidance, representing the prudent level of minimum due care for operating system security. Имеет ссылки на два документа по обеспечению безопасности SQL 2000/2005 В разработке принимали участие специалиста Microsoft Самое подробное руководство типа «делай раз, делай два», которое я встречал

Администратор по умолчанию Сценарий Любой, кто сможет добиться, чтобы его/ее добавили в группу локальных администраторов, становится «вечным sa» Решение Удалите Builtin/Administrators из списка пользователей SQL Server

Администратор по умолчанию (для SQL Server 2005) НО Сначала Убедитесь, что вы знаете пароль «SA» войдя на SQL Server от имени «SA». Если сервер установлен в режиме Windows Authentication, мы назначаем случайный пароль пользователю «SA» и отключаем его. Если SA остается единственным членом роли sysadmin, то вы можете потерять доступ к серверу. Убедитесь что другие Windows группы или пользователи имеют SQL Server System Administrator привилегии. Проверьте права, назначенные группе BUILTIN\Administrators Проверьте членство в группе Windows Local Administrators Проверьте нет ли необходимости создать новую группу в Active Directory и назначить ей соответствующие права на SQL Server или это следует сделать для определенных пользователей Обеспечьте, чтобы хотя бы один пользователь (login) в рамках SQL Server имел права SQL Server System Administrator Проверьте, что члены группы BUILTIN\Administrators не владеют какими- нибудь объектами в рамках SQL Server

Зарегистрированные серверы Enterprise Manager Сценарий Серверы регистрируются в Enterprise Manage с помощью аутентификации SQL Server, и галочка «Всегда запрашивать имя и пароль» (Always prompt for login name and password) не устанавливается. Плохой парень взламывает реестр и получает имя пользователя и пароль Нужен для этого активный SQL Server? Нет, не нужен. Решение Когда вы не используете аутентификацию Windows, всегда отмечайте пункт Always prompt for login name and password Для примера давайте используем нашего simplepass пользователя SQL Server 2005 хранит пароль зашифрованным

Файл данных master.mdf Сценарий Очень умный и очень хорошо подготовленный злоумышленник проскальзывает незамеченным в ваш центр обработки данных. Он подходит к вашему компьютеру с SQL Server и копирует с него master Решение Если кто-то получил физический доступ к компьютеру с SQL Server, нет способа оградить вашу базу данных от его вмешательства. И точка. SQL Server 2005 не позволяет модифицировать системные таблицы, даже пустой пароль хранится в виде длинной строки В общем, не пройдет!

Несложно пронюхать пароль Простой сетевой сниффер позволяет перехватить пароль Для этого нужно узнать адрес SQL Server, настроить сниффер и декодировать пароль

Спасибо за внимание Вопросы?