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


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


&find('.');

sub wanted {

(-d $_) and  каталог

$_ ne "." and $_ ne ".." and tt не . и не ..

(/["-.a-zA-ZO-9+.:;_"$»()]/ or

содержит "плохой" символ

/~V {3, }/ or ft или начинается как минимум с ipe>

точек

/"-/) and

или начинается с дефиса

print......&nice($name)." '\n";

}

печатаем "хорошую" версию имени каталога, то есть, не  раскрывая управляющие символы. Эта подпрограмма -- лишь

 немного измененная версия &unctrl() из dumpvar.pl sub nice {

my($name) = $_[0];

$name =' s/([\001-\037\177])/'"'.pack('с'.ord($1)"64)/eg:

$name;

}

Помните врезку «Регулярные выражения» из главы 9? Подобные программы, тщательно анализирующие файловую систему, - еще один пример, где высказанная в главе 9 мысль справедлива. Эффективность таких программ зачастую зависит от качества и количества используемых в них регулярных выражений. Слишком мало регулярных выражений - и вы пропустите то, что хотели найти. Слишком много регулярных выражений или они неэффективны - и ваша программа будет выполняться чрезмерно долго и захватит непомерное количество ресурсов. Если использовать слишком общие регулярные выражения - будет найдено много ложных совпадений. Здесь тонкий баланс.

Поиск проблемных образцов

Теперь воспользуемся тем, что мы узнали в главе 9 и перейдем дальше. Только что мы говорили о поиске подозрительных объектов; давайте теперь рассмотрим образцы (patterns), которые могут быть признаками подозрительной активности. Покажем это на примере программы, выполняющей примитивный анализ журналов в поисках потенциальных взломов.

Пример строится на предположении, что большинство пользователей, удаленно регистрирующихся в системе, делают это из одного и того же места или нескольких мест. Обычно они регистрируются либо с одной машины, либо используя адреса из диапазона, принадлежащего одному и тому же провайдеру. Если вы обнаружите, что пользователь регистрировался из нескольких доменов, это верный признак того, что данная учетная запись была «взломана» и ее пароль стал доступен многим. Очевидно, что такое предположение не справедливо для постоянно перемещающихся пользователей, но если вы обнаружите, что пользователь регистрировался сначала из Бразилии, а потом из Финляндии с интервалом в два часа, то это достаточный повод заподозрить что-то неладное.




- Начало -  - Назад -  - Вперед -



Книжный магазин