Падение черного ястреба Фленов Михаил 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. |