Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #52, МАРТ 2005 г.

Падение черного ястреба

Фленов Михаил aka Horrific

Спецвыпуск: Хакер, номер #052, стр. 052-070-2


На рисунке рамкой выделены папки, которые будут видны службе. Именно в этом пространстве будет работать сервер баз данных, который будет считать, что это и есть реальная файловая система сервера.

Если хакер проникнет в систему через защищенную службу и захочет просмотреть каталог /etc, то увидит каталог /home/chroot/etc, но никак не системный /etc. Чтобы взломщик ничего не заподозрил, в каталоге /home/chroot/etc можно расположить все необходимые файлы, содержащие некорректную информацию ;). Взломщик, запросив файл /etc/passwd через уязвимую службу, получит доступ к /home/chroot/etc/passwd, потому что служба видит его системным.

На работу системы в целом это не повлияет, потому что система будет брать пароли из файла /etc/passwd, а службе не нужны реальные пароли системы, поэтому в файл /home/chroot/etc/passwd можно засунуть все, что угодно.

Типы аутентификации

Перейдем к знакомству с пользователями базы данных. В большинстве баз данных учетные записи пользователей хранятся в самой базе (в виде системных таблиц или настроечных файлов). Разработчики SQL Server 2000 пошли дальше. Здесь может быть два типа аутентификации – Windows и "Смешанная".

Если выбрана аутентификация Windows, то для проверки пользователей используются учетные записи Windows и ее встроенные механизмы проверки подлинности. Рекомендую использовать именно этот метод, потому что в нынешних дистрибутивах для аутентификации используется Kerberos, который достаточно надежен и к тому же проверен временем в *nix-подобных системах.

В смешанном режиме можно создавать пользователей, информация о которых будет храниться SQL-сервером в системных таблицах, что не есть хорошо по следующим причинам.

- Нужно управлять двумя базами пользователей. Чаще всего заниматься этим лень, поэтому, как правило, все пользователи работают под одной учетной записью или записи соответствуют тем, которые заведены для них в ОС Windows. Таким образом, взломав SQL Server, злоумышленник получит доступ к паролю, который открывает все двери в системе.

- Пользователям нужно знать два пароля: на вход в Windows-сервер для работы с файлами и на SQL Server. Конечно же, если пользователю нужен доступ только к базе данных, то для работы потребуется только один пароль – имеющий права доступа к SQL Server.

- ОС хранит свои пароли более надежно, с хорошим шифрованием, в закрытом на чтение файле. В MS SQL сервере защита записей проще и все записи при наличии прав администратора легко прочитать в таблице sysusers базы данных Master.

Назад на стр. 052-070-1  Содержание  Вперед на стр. 052-070-3