Падение черного ястреба Фленов Михаил aka Horrific Спецвыпуск: Хакер, номер #052, стр. 052-070-4 Рассмотрим пример защиты таблицы от изменений через триггер. Для защищенной таблицы заводим поле Security. В этом поле должен храниться код, который вычисляется известным только тебе способом, например, расчетом контрольной суммы всех полей. Если пользователь изменил значения какой-либо строки с помощью программы, то она автоматически пересчитывает контрольную сумму. Если строка изменена напрямую, то в поле Security будет некорректное значение, которое легко определить в триггере (а он должен выполняться на события изменения данных) и откатить злостное изменение. Точно так же можно защищать таблицы не только от изменения, но и от вставки (защита от флуда на базу данных) и удаления (попытки уничтожить важные данные). Права доступа Любые попытки отконфигурировать базу данных на полную безопасность окажутся пустой тратой времени, если неправильно настроены права доступа к объектам. Если все объекты базы данных и сами данные светятся в интернете, как гирлянда на кремлевской елке, то работа админа пропала даром. Настроить права доступа – первое, что нужно сделать. В этом случае даже если взломщик проникнет в систему, у него не хватит прав на доступ ко всем секретам. О правах доступа читай в отдельной статье. Обновление Как известно, в любой программе есть ошибки. Спроси любого хакера о том, какое ядро Linux самое безопасное. Ответ очевиден - самое последнее. Не торопись доверять этим слухам о ядре, не содержащем ошибок: просто о них еще никто не узнал. Задай тот же вопрос тому же гуру через полгода, и то ядро, которое хвалили полгода назад, назовут самым дырявым в истории Linux. Что поделаешь, такова природа человечества в целом и программного обеспечения в частности :). Ошибки есть всегда и везде. Как только появляется критическая ошибка в какой-либо базе данных, у админов всего мира начинается черная полоса в профессиональной деятельности, потому что в первые дни после выхода эксплойта хакеры ломают все, что только под руку попадется. Основная задача специалиста по безопасности - вовремя выявлять эти ошибки и исправлять раньше, чем взломщик воспользуется уязвимостью. Для этого нужно быть подписанным на все основные BagTraq и регулярно следить за выходами обновлений базы данных. По своему опыту могу сказать, что лучше всего на это дело реагируют Oracle и MS. Их патчи выходят вовремя, и если не проспать нужный момент, вероятность взлома намного снизится. Помни, что основными причинами взлома являются неправильное распределение прав и не пропатченный вовремя софт. Моментальная реакция Между взломщиками и специалистами по безопасности идет самая настоящая война, в которой побеждает тот, кто знает больше и реагирует на все быстрее. Если не хочешь оказаться в числе проигравших, научись быстро реагировать на происходящее. В базах данных для этого есть множество удобных прибамбасов, и в этом плане одним из лидеров является MS SQL Server. В этом сервере есть очень удобный помощник – события. |