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



              

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


 игнорируем эту строку, если она находится в домене,

 заданном ключом -f

next if (defined $opt_f && ($dn =' /~$opt_f/));

 если мы не встречали раньше имя этого пользователя,

 просто создаем список доменов для этого пользователя и

 сохраняем эту информацию в хэше списков

unless (exists $userinfo{$user}){

$userinfo{$user} = [$dn];

 в противном случае нам придется нелегко:

 см. приведенное ниже объяснение

else {

&AddToIfo($user.Sdr):

closed-AST).

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

  • Не все имена узлов из журналов будут именами. Это вполне может быть и IP-адрес. В этом случае, если пользователь устанавливает ключ -г, мы полагаем, что любой получаемый нами IP-адрес - это

    адрес сети класса С, разделенной на подсети по границе байта. На практике это означает, что доменным именем мы считаем первые три октета адреса. Это позволяет нам считать регистрацию в системе с адресов 192.168.1.10 и 192.168.1.12 регистрацией из одного логического источника. Вероятно, это не лучшее предположение, но это лучшее, что мы можем сделать, не обращаясь при этом к другому источнику информации (да и в большинстве случаев это работает). Если пользователь не указывает ключ -i, мы считаем весь IP- адрес доменом.

  • Как говорилось раньше, имена узлов могут быть усечены. Это приводит к тому, что мы имеем дело с неполными записями, подобными grape-nuts, ccs. n и nat16. aspentec.c. Это не так страшно, как кажется, потому что полностью определенное имя домена в журнале каждый раз будет усекаться на одном и том же месте. В подпрограмме &AddToInfo() мы попробуем сделать все возможное, чтобы справиться с этим ограничением. Но об этом чуть позже.



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