Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемmx1234567 mx1234567
1 Как взломать SQL Server Дмитрий Артемов Старший консультант
2 Файлы резервных копий баз данных Сценарий Мистер Хакер просто копирует файлы резервных копий базы данных (или баз данных), которые его интересуют, куда-нибудь на сетевой ресурс. Теперь он может на досуге восстановить базы на своей личной копии SQL Server из этих резервных копий. Решение Защитите файлы резервных копий на локальном NTFS-диске, выставив разрешения так, что только системная учетная запись, агент, производящий резервное копирование на магнитную ленту, и администратор (администраторы) баз данных имели к ним доступ. Примите меры, чтобы физически обезопасить пленки с резервными копиями. SQL Server 2000 предоставляет возможность защитить файлы резервных копий паролем. Укажите параметр PASSWORD в команде BACKUP DATABASE, и в будущем для восстановления из этого файла резервной копии потребуется заданный пароль. Впрочем, использование параметра PASSWORD не приводит к шифрованию содержимого файла резервной копии, поэтому данные будут доступны для просмотра любому, кто сможет воспользоваться шестнадцатеричным редактором. SQL Server 2005 этой проблемы не решает
3 Зашифрованные объекты Сценарий Глупый Наивный разработчик программного обеспечения «прячет» требующий защиты код в зашифрованную процедуру, думая, что так он будет в безопасности Решение Не пользуйтесь этой функциональностью. Вот вам намек: Microsoft ею не пользуется SQL Server 2005 делает расшифровку труднее, но не намного
4 Стандартные пароли безопасности 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 (%).
5 Расширенная процедура 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. Лучшим решением будет использовать доменную учетную запись пользователя с низкими привилегиями.
6 Расширенная процедура 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"
7 Другие расширенные хранимые процедуры См 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 Самое подробное руководство типа «делай раз, делай два», которое я встречал
8 Администратор по умолчанию Сценарий Любой, кто сможет добиться, чтобы его/ее добавили в группу локальных администраторов, становится «вечным sa» Решение Удалите Builtin/Administrators из списка пользователей SQL Server
9 Администратор по умолчанию (для 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
10 Зарегистрированные серверы 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 хранит пароль зашифрованным
11 Файл данных master.mdf Сценарий Очень умный и очень хорошо подготовленный злоумышленник проскальзывает незамеченным в ваш центр обработки данных. Он подходит к вашему компьютеру с SQL Server и копирует с него master Решение Если кто-то получил физический доступ к компьютеру с SQL Server, нет способа оградить вашу базу данных от его вмешательства. И точка. SQL Server 2005 не позволяет модифицировать системные таблицы, даже пустой пароль хранится в виде длинной строки В общем, не пройдет!
12 Несложно пронюхать пароль Простой сетевой сниффер позволяет перехватить пароль Для этого нужно узнать адрес SQL Server, настроить сниффер и декодировать пароль
13 Спасибо за внимание Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.