TCP-порт 514
TCP-порт 514 — это сетевой порт, используемый для передачи системных журналов (логов) в протоколе Syslog (System Logging Protocol). В отличие от порта 514, работающего по протоколу UDP (User Datagram Protocol), TCP-порт 514 обеспечивает надёжную доставку сообщений с подтверждением получения, что критически важно в средах, где потеря данных недопустима (например, в финансовых системах, критической инфраструктуре или при аудите безопасности). Порт зарегистрирован в IANA (Internet Assigned Numbers Authority) для службы syslog, но его использование строго регламентируется стандартами RFC 5424 и RFC 6587.
История и стандартизация
Протокол Syslog был разработан в 1980-х годах для систем Unix (в частности, в рамках проекта BSD) и изначально использовал только UDP-порт 514. Однако UDP не гарантирует доставку пакетов, что приводило к потерям сообщений при перегрузках сети или сбоях. В 2009 году был принят стандарт RFC 5424, который формализовал Syslog и ввёл поддержку TCP как альтернативного транспортного протокола. Позднее, в 2012 году, RFC 6587 уточнил механизмы передачи Syslog через TCP, включая методы фреймирования (разделения сообщений). С этого момента TCP-порт 514 стал стандартным для защищённых и надёжных систем сбора логов, хотя UDP-версия остаётся распространённой из-за меньшей задержки.
Технические характеристики
Отличия от UDP-порта 514
- Надёжность: TCP устанавливает соединение (трёхстороннее рукопожатие) и подтверждает получение каждого пакета. При потере данных происходит повторная отправка.
- Порядок доставки: TCP гарантирует, что сообщения приходят в том же порядке, в котором были отправлены. UDP может переставлять пакеты.
- Контроль потока: TCP регулирует скорость передачи, предотвращая переполнение буфера получателя. UDP не имеет встроенного контроля.
- Задержка: TCP вносит дополнительную задержку из-за установки соединения и подтверждений, что делает его менее пригодным для систем реального времени.
Формат сообщений
При передаче через TCP-порт 514 сообщения Syslog обычно фреймируются одним из двух способов:
- Разделитель строк (octet counting): перед каждым сообщением указывается его длина в байтах (например,
123 <14>2023-10-05T12:00:00Z host app: message). Этот метод определён в RFC 5424. - Разделитель символов (character-delimited): сообщения завершаются символом новой строки (
\n), что менее надёжно, так как само сообщение может содержать перевод строки.
Применение
Централизованный сбор логов
TCP-порт 514 используется в корпоративных сетях для передачи логов с серверов, сетевых устройств (маршрутизаторов, коммутаторов) и приложений на центральный сервер Syslog (например, Rsyslog, syslog-ng, Splunk или ELK-стек). Это позволяет администраторам:
- Анализировать события в реальном времени.
- Обнаруживать аномалии (например, попытки взлома).
- Соблюдать требования регуляторов (например, ФЗ-152 «О персональных данных» в РФ или PCI DSS).
Безопасность и аудит
В системах безопасности (SIEM — Security Information and Event Management) TCP-порт 514 обеспечивает доставку критических событий, таких как:
- Неудачные попытки входа.
- Изменения конфигурации.
- События межсетевых экранов и систем обнаружения вторжений (IDS/IPS).
Ограничения и риски
- Безопасность: TCP-порт 514 не шифрует данные по умолчанию. Для защиты от перехвата рекомендуется использовать TLS (Transport Layer Security) поверх TCP (например, порт 6514 по RFC 5425) или туннелирование через VPN.
- Нагрузка: При большом количестве источников (сотни тысяч устройств) TCP-соединения могут создавать значительную нагрузку на сервер из-за необходимости поддерживать множество одновременных сессий.
- Блокировка: В некоторых корпоративных сетях TCP-порт 514 может быть заблокирован межсетевыми экранами, так как он не является стандартным для веб-трафика.
Примеры конфигурации
Настройка клиента (Linux)
Для отправки логов на TCP-порт 514 через Rsyslog в файл конфигурации /etc/rsyslog.conf добавляется строка: `` . @@192.168.1.100:514 ` Здесь @@ указывает на использование TCP (один @` — UDP).
Настройка сервера (Linux)
В /etc/rsyslog.conf для приёма TCP-сообщений: `` $ModLoad imtcp $InputTCPServerRun 514 ``
Интересные факты
- В системах Windows TCP-порт 514 не используется по умолчанию для Syslog; вместо этого применяется протокол EventLog или сторонние агенты.
- В некоторых реализациях (например, Cisco IOS) для Syslog по умолчанию используется UDP-порт 514, но TCP-режим включается отдельной командой.
- В 2010-х годах была предложена альтернатива — RELP (Reliable Event Logging Protocol), который работает на TCP-порту 20514 и обеспечивает ещё большую надёжность за счёт подтверждения на уровне приложения.
Критика и альтернативы
Основной недостаток TCP-порта 514 — отсутствие встроенной безопасности. В ответ на это были разработаны:
- Syslog over TLS (порт 6514) — шифрование трафика.
- Syslog over SSH — туннелирование через SSH-соединение.
- RELAP (Reliable Event Logging Protocol) — порт 20514, который поддерживает подтверждение доставки и повторную отправку при сбоях.
Тем не менее, TCP-порт 514 остаётся де-факто стандартом для надёжной передачи логов в гетерогенных сетях, особенно в средах, где требуется совместимость с устаревшим оборудованием.
Источники
- RFC 5424 — The Syslog Protocol (2009)
- RFC 6587 — Transmission of Syslog Messages over TCP (2012)
- RFC 5425 — Transport Layer Security (TLS) Transport Mapping for Syslog (2009)
- IANA Service Name and Transport Protocol Port Number Registry
- Документация Rsyslog (rsyslog.com)
- Стандарт POSIX.1-2008 (IEEE Std 1003.1)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →