Назад | Перейти на главную страницу

Может ли сервер системного журнала распознать клиентскую ОС?

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

На некоторых клиентских машинах установлено несколько ОС (а именно Linux и Windows), и в конечном итоге они имеют одинаковый IP-адрес и имя хоста. В результате журналы Windows (сообщения) и журналы Linux оказались в одном файле, что сильно расстроило меня и logcheck. Я заинтересован в том, чтобы журналы для разных ОС велись отдельно.

Мое решение заключалось в том, чтобы syslog прослушивал несколько портов и настраивал syslog / rsyslog на клиентских машинах Linux и Windows для использования другого номера порта. Таким образом, я могу легко перенаправить журналы в соответствующие файлы в соответствии с их источником.

Однако я не совсем уверен в элегантности этого решения - nmap может обнаруживать клиентскую ОС по отпечатку стека TCP / IP.

Есть ли способ настроить Syslog-ng для перенаправления входящих данных в соответствии с ОС клиентского компьютера?

Ваш подход с разными портами для машин Linux и Windows совсем неплох.

Альтернативы:

  • использование программы в качестве места назначения в syslog-ng (например, ваш собственный скрипт, который проверяет текущую ОС клиентского компьютера и записывает в linux.log или windows.log) - медленно и ненадежно.
  • используя match (...) в фильтре syslog-ng, чтобы различать строки syslog linux и windows (не уверен, что это может быть легко и надежно, если вы не можете поместить некоторую подстроку маркера в syslog клиента) и используйте такой фильтр для выбора файла журнала назначения.

И то, и другое вряд ли можно рекомендовать.

Еще одна уловка может заключаться в использовании транспорта TCP для системного журнала от клиентов Linux и udp - из Windows. Затем вы можете настроить места назначения файлов с помощью фильтра по протоколу.