Добавление имени хоста к заголовкам сообщения

<< Кликните, чтобы показать Содержание >>

Руководство Администратора | CHM EPUB PDF A4/Letter   

Добавление имени хоста к заголовкам сообщения

Задача

Необходимо, чтобы в реконструированных сообщениях вместе с IP-адресами содержались доменные имена хостов отправителя и получателя.

Описание логики решения

Для этого необходимо, чтобы EtherSensor производил разрешение доменных имён через службу DNS.

Сделайте следующее:

1. В конфигурации службы EtherSensor Analyser укажите, через какие DNS-серверы необходимо производить разрешение имён.

2. Создайте фильтр фильтр сообщений, содержащий правило с действием, означающим, что для текущего обрабатываемого сообщения необходимо произвести DNS-разрешение имён хостов.

Решение

1. Настройка в конфигурации службы EtherSensor Analyser параметров DNS-серверов для разрешения имён.

Настройку можно производить в консоли управления или в конфигурационном файле.

В файле конфигурации службы EtherSensor Analyser:

Корневой тег <AnalyserConfig>, далее вложенный тег настроек фильтров <Filter> (включается фильтр сообщений), далее вложенный тег <Dns> – настройки DNS-серверов для разрешения имён в фильтре сообщений.

<?xml version="1.0" encoding="utf-8"?>

<AnalyserConfig version="3.2">

 

<!-- specify other settings for the service here -->

 

  <Filter enabled="true" filename="msg_filter.xml">

 

<!-- specify other filter settings here -->

 

    <Dns>

      <AttemptsCount>3</AttemptsCount>

      <TtlForUnknown>3600</TtlForUnknown>

      <MinTtl>300</MinTtl>

      <MaxTtl>604800</MaxTtl>

      <Server ipaddress="127.0.0.1" port="53" />

    </Dns>

 

  </Filter>

</AnalyserConfig>

В данном случае предполагается, что DNS-сервер располагается по адресу 127.0.0.1:53.

2. Настройка фильтра сообщений

Например, файл msg_filter.xml:

<?xml version="1.0" encoding="utf-8"?>

<filter name="DNS resolve" version="1.0">

 

  <table name="main">

 

    <rule enabled="true">

      <comment>

        Resolve the sender and the recipient host names

        for the message.

      </comment>

      <action name="dns" address="both"/>

    </rule>

 

    <rule enabled="true">

      <comment>

        Accept all message that reached this point.

      </comment>

      <action name="accept" />

    </rule>

 

  </table>

</filter>

Комментарии и общие рекомендации

1. После выполнения действия DNS в метаданные сообщения будут добавлены заголовки X-Sensor-Src-Host, X-Sensor-Dst-Host со значениями доменных имён или со значением "not resolved", если получить какое-то из доменных имён не удалось.

2. Для более быстрого разрешения имён DNS в конфигурации службы EtherSensor Analyser желательно указывать как можно более быстрые DNS-серверы. Это могут быть как серверы Интернет-провайдера, так и собственные DNS-серверы.

3. Действие DNS (разрешение имён DNS) является относительно длительной операцией, в связи с этим старайтесь выполнять его в фильтре только для тех сообщений, для которых это необходимо.

4. Старайтесь применять действие DNS в конце фильтра и непосредственно в том месте, где понадобятся результаты его работы.

Например, если необходимо, чтобы на выходе в сообщении адреса хостов отправителя и получателя просто содержали доменные имена, достаточно применять действие DNS прямо перед окончанием фильтрации сообщения и действием ACCEPT. Нет необходимости делать это в начале фильтра, так как в ходе фильтрации часть сообщений может быть отклонена действием DROP и для этих сообщений действие DNS (если оно установлено в начале фильтра) будет производить лишнюю нагрузку на EtherSensor.

Если же требуется полученные DNS-имена отправителя и получателя использовать далее в условиях фильтра для отсеивания сообщений по именам хостов, то разрешение имён DNS следует делать в правиле, которое расположено непосредственно перед правилом, в условиях которого будут использоваться полученные DNS-имена.

Поиск неисправностей

Если разрешение DNS-имён для IP-адресов отправителя или получателя не происходит:

1. Проверьте доступность DNS-сервера непосредственно с машины-сенсора при помощи утилиты ping (например, ping <IP-адрес-dns-сервера>) и telnet (например, telnet <IP-адрес-dns-сервера>).

2. Убедитесь, что используемый DNS-сервер может производить разрешение имён для машины-сенсора. Это можно сделать утилитой nslookup.

В командной строке запустите утилиту nslookup.

В запущенной утилите выполните команду server <IP-адрес-dns-сервер>, чтобы установить DNS-сервер, через который будет проводиться разрешение имён.

Введите IP-адрес, имя которого не удаётся разрешить.

Если nslookup может разрешить имя хоста, то необходимо проверить ход выполнения фильтрации:

1. Убедитесь, что правило в фильтре, в котором находится действие DNS, включено и условия этого правила соответствуют сообщениям.

2. Убедитесь, что правило в фильтре, в котором находится действие DNS, вообще будет выполняться, то есть не возникает ситуации, когда сообщения принимаются правилами выше и процесс фильтрации не доходит до этого правила (например, выше этого правила нет правил с действием ACCEPT или DROP).

3. Убедитесь, что при старте EtherSensor в журналах службы EtherSensor Analyser отсутствуют сообщения о неправильной загрузке фильтра сообщений и ошибках.

Если ничего не помогло, отправьте разработчику Microolap EtherSensor:

Несколько примеров сообщений, для которых разрешение имён не происходит.

Используемый фильтр сообщений.

Диагностический отчет работе EtherSensor, генерируемый утилитой sensor_console.exe из поставки Microolap EtherSensor.

Свои комментарии и соображения по вышеперечисленным действиям.