Системный журнал
Оригинальный автор(ы) | Эрик Оллман |
---|---|
Первоначальный выпуск | 1980-е годы |
Операционная система | Unix-подобный |
Тип | Системное журналирование |
Веб-сайт | трекер данных |
В технике вычислительной syslog / ˈsɪslɒɡ / . является стандартом сообщений регистрации Это позволяет разделить программное обеспечение, генерирующее сообщения, систему, которая их хранит, и программное обеспечение, которое сообщает и анализирует их. Каждое сообщение помечается кодом объекта, указывающим тип системы, генерирующей сообщение, и ему присваивается уровень серьезности.
Разработчики компьютерных систем могут использовать системный журнал для управления системой и аудита безопасности, а также для общих информационных, аналитических и отладочных сообщений. Широкий спектр устройств, таких как принтеры, маршрутизаторы и приемники сообщений на многих платформах, используют стандарт системного журнала. Это позволяет консолидировать данные журналов из разных типов систем в центральном хранилище. Реализации системного журнала существуют для многих операционных систем.
При работе в сети системный журнал использует клиент-серверную архитектуру, при которой сервер системного журнала прослушивает и регистрирует сообщения, поступающие от клиентов.
История
[ редактировать ]Системный журнал был разработан в 1980-х годах Эриком Оллманом как часть проекта Sendmail . [1] Он был легко принят другими приложениями и с тех пор стал стандартным решением для ведения журналов в Unix-подобных системах. [2] В других операционных системах также существуют различные реализации, которые обычно встречаются в сетевых устройствах, таких как маршрутизаторы . [3]
Первоначально системный журнал функционировал как стандарт де-факто без каких-либо авторитетных опубликованных спецификаций, и существовало множество реализаций, некоторые из которых были несовместимы. Рабочая группа по проектированию Интернета задокументировала статус-кво в RFC 3164 в августе 2001 года. Он был стандартизирован RFC 5424 в марте 2009 года. [4]
Различные компании пытались получить патенты на конкретные аспекты реализации системного журнала. [5] [6] Это мало повлияло на использование и стандартизацию протокола. [ нужна ссылка ]
Компоненты сообщения
[ редактировать ]Информация, предоставляемая отправителем сообщения системного журнала, включает код объекта и уровень серьезности. Программное обеспечение системного журнала добавляет информацию в информационный заголовок перед передачей записи получателю системного журнала. К таким компонентам относятся идентификатор процесса-инициатора, временная метка и имя хоста или IP-адрес устройства.
Средство
[ редактировать ]Код объекта используется для указания типа системы, регистрирующей сообщение. Сообщения с разными возможностями могут обрабатываться по-разному. [7] Перечень доступных удобств описан стандартом: [4] : 9
Код объекта | Ключевое слово | Описание |
---|---|---|
0 | Керн | Сообщения ядра |
1 | пользователь | Сообщения уровня пользователя |
2 | почта | Почтовая система |
3 | демон | Системные демоны |
4 | авторизация | Сообщения безопасности/аутентификации |
5 | системный журнал | Сообщения, созданные внутри syslogd |
6 | лпр | Подсистема линейного принтера |
7 | новости | Подсистема сетевых новостей |
8 | uucp | UUCP subsystem |
9 | хрон | Подсистема Крон |
10 | авторизация | Сообщения безопасности/аутентификации |
11 | FTP | FTP-демон |
12 | НТП | Подсистема NTP |
13 | безопасность | Аудит журнала |
14 | консоль | Журнал оповещений |
15 | Solaris-Cron | Демон планирования |
16–23 | локальный0 – локальный7 | Местно используемые объекты |
Сопоставление между кодом средства и ключевым словом неодинаково в разных операционных системах и реализациях системного журнала. [8]
Уровень серьезности
[ редактировать ]Перечень серьезностей также описан стандартом: [4] : 10
Ценить | Серьезность | Ключевое слово | Устаревшие ключевые слова | Описание | Состояние |
---|---|---|---|---|---|
0 | Чрезвычайная ситуация | emerg | panic [9] | Система непригодна для использования | Состояние паники. [10] |
1 | Тревога | alert | Действия должны быть приняты немедленно | Состояние, которое следует немедленно исправить, например, поврежденная системная база данных. [10] | |
2 | Критический | crit | Критические условия | Жесткие ошибки устройства. [10] | |
3 | Ошибка | err | error [9] | Условия ошибки | |
4 | Предупреждение | warning | warn [9] | Условия предупреждения | |
5 | Уведомление | notice | Нормальные, но важные условия | Условия, которые не являются ошибочными, но могут потребовать специальной обработки. [10] [11] | |
6 | Информационный | info | Информационные сообщения | Подтверждение того, что программа работает должным образом. | |
7 | Отлаживать | debug | Сообщения уровня отладки | Сообщения, содержащие информацию, обычно используемую только при отладке программы. [10] |
Значения уровней серьезности, отличных от Emergency и Debug, относятся к приложению. Например, если целью системы является обработка транзакций для обновления информации о балансе счетов клиентов, ошибке на последнем этапе должен быть присвоен уровень оповещения. Однако ошибке, возникающей при попытке отобразить почтовый индекс клиента, может быть присвоен уровень «Ошибка» или даже «Предупреждение» .
Серверный процесс, обрабатывающий отображение сообщений, обычно включает все более низкие (более серьезные) уровни, когда запрашивается отображение менее серьезных уровней. То есть, если сообщения разделены по индивидуальному уровню серьезности, запись уровня предупреждения также будет включена при фильтрации сообщений «Уведомление» , «Информация» и «Отладка» . [12]
Сообщение
[ редактировать ]В RFC 3164 компонент сообщения (известный как MSG) был указан как имеющий следующие поля: TAG , который должен быть именем программы или процесса, сгенерировавшего сообщение, и CONTENT , который содержит сведения о сообщении.
Описано в RFC 5424, [4] «MSG — это то, что в RFC 3164 называлось CONTENT. TAG теперь является частью заголовка, а не одним полем. TAG был разделен на APP-NAME, PROCID и MSGID. Это не совсем похоже на использование TAG, но обеспечивает ту же функциональность в большинстве случаев». Популярные инструменты системного журнала, такие как Rsyslog, соответствуют этому новому стандарту.
Поле содержимого должно быть закодировано в наборе символов UTF-8 значений октетов в традиционном диапазоне управляющих символов ASCII . , и следует избегать [13] [4]
Регистратор
[ редактировать ]Сгенерированные сообщения журнала могут быть направлены в различные места назначения, включая консоль , файлы, удаленные серверы системного журнала или реле. Большинство реализаций предоставляют утилиту командной строки, часто называемую logger , а также программную библиотеку для отправки сообщений в журнал. [14]
Для отображения и мониторинга собранных журналов необходимо использовать клиентское приложение или получить доступ к файлу журнала непосредственно в системе. Основные инструменты командной строки — Tail и Grep . Серверы журналов можно настроить для отправки журналов по сети (в дополнение к локальным файлам). Некоторые реализации включают программы отчетности для фильтрации и отображения сообщений системного журнала.
Сетевой протокол
[ редактировать ]При работе по сети системный журнал использует архитектуру клиент-сервер , при которой сервер прослушивает общеизвестный или зарегистрированный порт на предмет запросов протокола от клиентов. Исторически наиболее распространенным протоколом транспортного уровня для сетевого журналирования был протокол пользовательских дейтаграмм (UDP), при этом сервер прослушивал порт 514. [15] Поскольку в UDP отсутствуют механизмы контроля перегрузки, протокола управления передачей используется порт 6514 (TCP); Безопасность транспортного уровня также требуется в реализациях и рекомендуется для общего использования. [16] [17]
Ограничения
[ редактировать ]Поскольку каждый процесс, приложение и операционная система были написаны независимо, полезная нагрузка сообщения журнала мало единообразна. По этой причине не делается никаких предположений относительно его форматирования или содержания. Сообщение системного журнала форматируется (RFC 5424 дает определение расширенной формы Бэкуса-Наура (ABNF)), но его поле MSG — нет.
Сетевой протокол представляет собой симплексную связь , без каких-либо средств подтверждения доставки отправителю.
Перспективы
[ редактировать ]Различные группы работают над проектами стандартов, подробно описывающими использование системного журнала не только для регистрации событий сети и безопасности, например, его предлагаемое применение в среде здравоохранения. [18]
Нормативные акты, такие как Закон Сарбейнса-Оксли , PCI DSS , HIPAA и многие другие, требуют от организаций внедрения комплексных мер безопасности, которые часто включают сбор и анализ журналов из множества различных источников. Формат системного журнала доказал свою эффективность при консолидации журналов, поскольку существует множество инструментов с открытым исходным кодом и собственных средств для составления отчетов и анализа этих журналов. Существуют утилиты для преобразования журнала событий Windows и других форматов журналов в системный журнал.
Поставщики управляемых услуг безопасности пытаются применять аналитические методы и алгоритмы искусственного интеллекта для обнаружения закономерностей и оповещения клиентов о проблемах. [19]
Стандартные документы Интернета
[ редактировать ]Протокол системного журнала определяется документами Request for Comments (RFC), опубликованными Инженерной группой Интернета ( Интернет-стандарты ). Ниже приведен список RFC, определяющих протокол системного журнала: [20]
- Протокол системного журнала BSD . РФК 3164 . (устарело Протокол системного журнала . РФК 5424 . )
- Надежная доставка системного журнала . РФК 3195 .
- Протокол системного журнала . РФК 5424 .
- Транспортное сопоставление TLS для системного журнала . РФК 5425 .
- Передача сообщений системного журнала по UDP . РФК 5426 .
- Текстовые соглашения для управления системным журналом . РФК 5427 .
- Подписанные сообщения системного журнала . РФК 5848 .
- Транспортное сопоставление безопасности дейтаграммного транспортного уровня (DTLS) для системного журнала . РФК 6012 .
- Передача сообщений системного журнала по TCP . RFC 6587 .
См. также
[ редактировать ]- Аудиторский след
- Общий формат журнала
- Консольный сервер
- Регистрация данных
- Управление журналами и аналитика
- Логпарсер
- Нетконф
- Нкслог
- Системный журнал
- Менеджер событий безопасности
- Журнал сервера
- Простой протокол управления сетью (SNMP)
- системный журнал
- Веб-счетчик
- Программное обеспечение для анализа веб-журналов
Ссылки
[ редактировать ]- ^ «Эрик Оллман» . Зал славы Интернета . Проверено 30 октября 2017 г.
- ^ «3 замечательные инженерные вакансии, на которые можно подать заявку на этой неделе» . ВенчурБит . 06.08.2021 . Проверено 16 августа 2021 г.
- ^ «Эффективный и надежный анализ системного журнала сетевых устройств в сетях центров обработки данных» .
- ^ Jump up to: а б с д и Герхардс, Райнер. Протокол системного журнала . дои : 10.17487/RFC5424 . РФК 5424 .
- ^ «LXer: Патент ставит под угрозу стандарт системного журнала IETF» .
- ^ «Раскрытие IETF прав интеллектуальной собственности по патентным претензиям HUAWEI» .
- ^ «Системный журнал» . Проверено 22 ноября 2012 г.
- ^ «Подробности системного журналирования с использованием системного журнала» . Институт САНС .
- ^ Jump up to: а б с «syslog.conf(5) — справочная страница Linux» . Проверено 29 марта 2017 г.
Ключевые слова ошибка, предупреждение и паника устарели и больше не должны использоваться.
- ^ Jump up to: а б с д и «closelog, openlog, setlogmask, syslog — журнал системы управления» . Проверено 29 марта 2017 г.
LOG_NOTICE Условия, которые не являются ошибками, но могут потребовать специальной обработки.
- ^ «Библиотека GNU C: системный журнал, vsyslog» . Проверено 19 июля 2024 г.
LOG_NOTICE Сообщение описывает обычное, но важное событие.
- ^ «Уровни серьезности сообщений системного журнала» . docs.delphix.com . Проверено 16 августа 2021 г.
- ^ «Передача сообщений системного журнала по TCP» . www.ipa.go.jp. Проверено 16 августа 2021 г.
- ^ «Команда регистратора» . www.ibm.com . Проверено 16 августа 2021 г.
- ^ «Сервер системного журнала» . www.howtonetwork.com . Проверено 16 августа 2021 г.
- ^ Герхардс, Райнер (март 2009 г.). «RFC 5424 — Протокол системного журнала» . www.tools.ietf.org . дои : 10.17487/RFC5424 .
- ^ Фую, Мяо; Южи, Ма; Салови, Джозеф А. (март 2009 г.). Мяо, Ф; Может; Салови, Дж. (ред.). «RFC 5425 — Транспортное сопоставление TLS для системного журнала» . www.tools.ietf.org . дои : 10.17487/RFC5425 .
- ^ «ATNA + SYSLOG достаточно хороша» . Стандарты обмена в сфере здравоохранения . 2 января 2012 года . Проверено 6 июня 2018 г.
- ^ Яманиши, Кенджи; Маруяма, Юко (21 августа 2005 г.). «Динамический анализ системных журналов для мониторинга сбоев сети» . Материалы одиннадцатой международной конференции ACM SIGKDD по обнаружению знаний в области интеллектуального анализа данных . КДД '05. Чикаго, Иллинойс, США: Ассоциация вычислительной техники. стр. 499–508. дои : 10.1145/1081870.1081927 . ISBN 978-1-59593-135-1 . S2CID 5051532 .
- ^ «Проблемы безопасности при регистрации сетевых событий (syslog)» . IETF.
Внешние ссылки
[ редактировать ]- Рабочая группа по проектированию Интернета: Datatracker: Рабочая группа по системному журналу (завершено)
- Национальный институт стандартов и технологий: «Руководство по управлению журналами компьютерной безопасности» (специальная публикация 800-92) (информационный документ)
- Программное обеспечение для управления сетью: «Понимание системного журнала: серверы, сообщения и безопасность»
- Объяснение Paessler IT - системный журнал
- MonitorWare: все о системном журнале