Логирование подключений к web-серверам EcoNAT Documentation / Логирование подключений к web-серверам
Система EcoSGE способна вести логирование проходящих HTTP GET-запросов, ответов web-серверов (HTTP) и запросов на установление SSL/TLS соединений, включая сообщения ClientHello и ServerHello и сертификаты TLS. Данная возможность доступна при наличии лицензии "Clickstream".
Настройка данного типа логирования производится в ветке system.clickstream. Настраиваемые параметры описаны в таблице ниже.
Параметр | Описание |
---|---|
enable | disable | Включение/выключение логирования |
log_interface | Интерфейс для отправки log-сообщений:
|
server_ip_and_port | <IP-адрес>:<порт> log-сервера |
ip_address | <IP-адрес>/<маска подсети> источника, которые будут передаваться в log-пакетах. Данный параметр доступен только при log_interface default |
gateway | Адрес шлюза, который будет передаваться в log-пакетах. Данный параметр доступен только при log_interface default. Требуется в том случае, если log-сервер, указанный в параметре server_ip_and_port, не находится в подсети, указанной в параметре ip_address |
source_port | Номер порта для отправки сообщений на log-сервер. По умолчанию 1088. Данный параметр доступен только при log_interface default. Если для логирования выбран интерфейс MNG (log_interface mng), то используется случайный порт. |
mtu | Значение MTU для пакетов, отправляемых на log-сервер. По умолчанию 1500 |
log_format | Формат логов:
|
tls_client_h | Включение (on) / выключение (off) логирования сообщений ClientHello. По умолчанию выключено |
tls_server_h | Включение (on) / выключение (off) логирования сообщений ServerHello. По умолчанию выключено |
tls_certificate | Включение (on) / выключение (off) логирования сертификатов TLS. По умолчанию выключено |
http_get | Включение (on) / выключение (off) логирования запросов HTTP GET. По умолчанию включено |
tls_sni | Включение (on) / выключение (off) логирования запросов на установление SSL/TLS-соединения. По умолчанию включено |
send_tls_version { on | off } | Добавлять (on) / не добавлять (off) поле "Максимальная поддерживаемая версия TLS" в логи запросов на установление SSL/TLS-соединений. По умолчанию off. Данный параметр связан с параметром tls_sni. При значении off параметра tls_sni данный параметр скрыт в выводе ветки конфигурации system.clickstream. |
Пример настройки:
EcoSGE:system.clickstream# ls
enable
log_interface default
server_ip_and_port 192.168.2.2:514
ip_address 192.168.1.1/255.255.255.0
gateway 192.168.1.254
source_port 1088
mtu 1500
log_format syslog
tls_client_h on
tls_server_h on
tls_certificate on
http_get on
tls_sni on
send_tls_version on
Ниже даны примеры записей на сервере при логировании в текстовом формате (log_format syslog). Запись 1 - для HTTP GET-запроса абонента, запись 2 - для ответа web-сервера, запись 3 - для запроса на установление SSL/TLS соединения.
2019-07-11T10:35:58.202901+00:00 192.168.1.1 34567345673456734567 192.168.000.002:34904 192.168.000.003:00080 1522071357 econat GET / HTTP/1.1#015#012Host: google.ru#015#012User-Agent: curl/7.55.0#015#012Accept: */*#015#012#015
2019-07-12T09:33:02.370234+00:00 192.168.1.1 56789567895678956789 065.208.228.223:00080 145.254.160.237:03372 1562934780 econat HTTP/1.1 200 OK
2019-07-15T14:50:01.810583+00:00 192.168.1.1 12345678900987654321 192.168.000.002:41016 192.168.000.003:00080 1532627400 econat SSL: 3.3 0x0304 hostname: vk.com
Для логирования в двоичном формате (log_format binary) используется проприетарный протокол, для парсинга которого требуется устройство EcoQoE.
В таблице ниже дано описание полей записи для HTTP GET-запроса на примере записи 1 (см. выше).
№ поля | Что содержит | Пример |
---|---|---|
1 | Временная метка log-сервера (не посылается устройством EcoSGE) | 2018-03-26T10:35:58.202901+00:00 |
2 | IP-адрес устройства EcoSGE (параметр ip_address) | 192.168.1.1 |
3 | 20-значный идентификатор сессии. Опция лицензии Clickstream. Для получения необходимо обратиться в службу технической поддержки | 34567345673456734567 |
4 | IP-адрес и порт отправителя | 192.168.000.002:34904 |
5 | IP-адрес и порт получателя | 192.168.000.003:00080 |
6 | Временная метка устройства EcoSGE (POSIX time) | 1522071357 |
7 | Имя устройства EcoSGE, заданное в параметре hostname ветки system_log | econat |
8 | Содержимое HTTP GET-запроса | GET / HTTP/1.1#015#012Host: google.ru#015#012User-Agent: curl/7.55.0#015#012Accept: */*#015#012#015 |
Описания полей 1-7 в записи для ответа web-сервера (см. запись 2 выше) аналогичны описаниям для HTTP GET-запроса. Поле 8 содержит версию HTTP и код ответа.
В таблице ниже дано описание полей 8, 9, 10 в записи для запроса на установление SSL/TLS соединения (см. запись 3 выше). Описания полей 1-7 аналогичны описаниям для HTTP GET-запроса (см. таблицу выше).
№ поля | Что содержит | Пример |
---|---|---|
8 | Версия SSL | SSL: 3.3 |
9 | Максимальная поддерживаемая версия TLS:
Данное поле передаётся в логах в том случае, если в настройках EcoSGE system.clickstream задано tls_sni on и send_tls_version on | 0x0304 |
10 | Доменное имя | hostname: vk.com |
Статистика логирования подключений к web-серверам выводится командой show counters all | include clickstream . В таблице ниже дано описание счётчиков.
Счетчик | Описание |
---|---|
cr_clickstream_url_for_log | Подготовлено пакетов |
cr_clickstream_send_one_packet | Отправлено пакетов |
cr_clickstream_send_fragmented_packet | Отправлено фрагментированных пакетов |
cr_clickstream_error_general | Количество ошибок при клонировании TCP-пакета |
cr_clickstream_error_create_header | Количество ошибок при формировании пакета |
cr_clickstream_warn_invalid_sequence | Количество полученных TCP-пакетов с некорректным значением поля sequence |
cr_clickstream_error_no_session | Количество полученных TCP-пакетов, для которых не найдена запись в таблице сессий |
cr_clickstream_no_ssl_tmp_buffer | Выделение буфера для фрагментированного ClientHello |
cr_clickstream_ssl_without_hostname | Количество полученных SSL или TLS handshake, в которых нет доменного имени |
cr_clickstream_certificate | Количество сессий, для которых была получена информация о сертификате TLS |
cr_clickstream_client_hello | Количество отправленных пакетов ClientHello |
cr_clickstream_server_hello | Количество полученных пакетов ServerHello |
Пример:
EcoSGE:> show counters all | include clickstream
Core total, cr_clickstream_url_for_log: 11
Core total, cr_clickstream_send_one_packet: 11
Core total, cr_clickstream_error_no_session: 11