Perl для системного администрирования



              

Обращайте внимание на подозрительную активность


Хорошему ночному сторожу нужно больше, чем просто возможность наблюдения за изменениями. Он также должен иметь возможность реагировать на подозрительные действия или обстоятельства. Обязательно нужно сообщить кому-то о дыре в заборе или необъяснимых ударах среди ночи. Мы можем написать программы, которые возьмут на себя эту роль.

Локальные признаки опасности

К сожалению, зачастую мы учимся замечать признаки подозрительной активности только в результате потерь и желания избежать их в дальнейшем. Достаточно всего нескольких взломов, чтобы заметить, что злоумышленники часто действуют по определенным шаблонам и оставляют за собой предательские улики. Зная, что эти признаки собой представляют, заметить их из Perl не сложно.

После каждого взлома системы безопасности очень важно уделить некоторое время анализу случившегося. Документируйте (по мере своих знаний), куда проникли взломщики, какие инструменты и «дыры» они использовали, что они

сделали, кого еще атаковали, что вы сделали в ответ и т. д.

Заманчиво было бы вернуться к обычной жизни и забыть про взлом. Если вы не подвергнетесь этому соблазну, то позже поймете, что инцидент научил вас кое-чему, и что вы не просто потеряли время и силы. Принцип Ницше - «то, что вас не убивает, делает вас сильнее» - часто справедлив и в системном администрировании.

Например, очень часто взломщики, а особенно менее опытные, пытаются замести следы, создавая «скрытые» каталоги для хранения данных. В Unix и Linux они помещают свои программы и вывод подслушивающих программ в каталоги с именами «...» (точка точка точка), (точка пробел) или «Mail» (пробел Mail). Такие имена, скорее всего, останутся без внимания при беглом просмотре вывода команды Is.

При помощи инструментов, о которых мы узнали в главе 2, можно легко написать программу для поиска таких имен. Ниже приведена программа, использующая модуль File: :Find (вызываемый find.pl) для

поиска «ненормальных» имен каталогов.

require "find.pl";

Обходим нужные файловые системы




Содержание  Назад  Вперед