<< Кликните, чтобы показать Содержание >> Добавление имени хоста к заголовкам сообщения |
Задача
Необходимо, чтобы в реконструированных сообщениях вместе с 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.
▪Свои комментарии и соображения по вышеперечисленным действиям.