Учебники

Logstash — безопасность и мониторинг

В этой главе мы обсудим аспекты безопасности и мониторинга Logstash.

мониторинг

Logstash — очень хороший инструмент для мониторинга серверов и сервисов в производственных средах. Приложения в производственной среде производят различные типы данных журнала, такие как журналы доступа, журналы ошибок и т. Д. Logstash может подсчитывать или анализировать количество ошибок, обращений или других событий с помощью подключаемых модулей фильтров. Этот анализ и подсчет могут быть использованы для мониторинга различных серверов и их служб.

Logstash предлагает плагины, такие как HTTP Poller для мониторинга состояния сайта. Здесь мы отслеживаем веб-сайт с именем mysite, размещенный на локальном сервере Apache Tomcat.

logstash.conf

В этом файле конфигурации подключаемый модуль http_poller используется для посещения сайта, указанного в подключаемом модуле, через интервал времени, указанный в настройке интервала. Наконец, он записывает статус сайта в стандартный вывод.

input {
   http_poller {
      urls => {
         site => "http://localhost:8080/mysite"
      }
      request_timeout => 20
      interval => 30
      metadata_target => "http_poller_metadata"
   }
}
output {
   if [http_poller_metadata][code] == 200 {
      stdout {
         codec => line{format => "%{http_poller_metadata[response_message]}"}
      }
   }
   if [http_poller_metadata][code] != 200 {
      stdout {
         codec => line{format => "down"}
      }
   }
}

Запустите logstash

Мы можем запустить Logstash с помощью следующей команды.

>logstash –f logstash.conf

стандартный вывод

Если сайт работает, то вывод будет —

Ok

Если мы остановим сайт с помощью приложения Manager от Tomcat, результат изменится на —

down

Безопасность

Logstash предоставляет множество функций для безопасной связи с внешними системами и поддерживает механизм аутентификации. Все плагины Logstash поддерживают аутентификацию и шифрование по HTTP-соединениям.

Безопасность по протоколу HTTP

Существуют настройки, такие как имя пользователя и пароль, для целей аутентификации в различных плагинах, предлагаемых Logstash, как в плагине Elasticsearch.

elasticsearch {
   user => <username>
   password => <password>
}

Другая аутентификация — это PKI (инфраструктура открытых ключей) для Elasticsearch. Разработчик должен определить два параметра в выходном плагине Elasticsearch, чтобы включить аутентификацию PKI.

elasticsearch {
   keystore => <string_value>
   keystore_password => <password>
}

В протоколе HTTPS разработчик может использовать сертификат органа для SSL / TLS.

elasticsearch {
   ssl => true
   cacert => <path to .pem file>
}

Безопасность с транспортным протоколом

Чтобы использовать транспортный протокол с Elasticsearch, пользователям необходимо установить параметры протокола для транспорта. Это позволяет избежать демаршализации объектов JSON и повышает эффективность.

Базовая аутентификация такая же, как выполняется в протоколе http в протоколе вывода Elasticsearch.

elasticsearch {
   protocol => transport
   user => <username>
   password => <password>
}

Для аутентификации PKI также необходимо, чтобы наборы SSL соответствовали другим параметрам в выходном протоколе Elasticsearch —

elasticsearch {
   protocol => transport
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
}

Наконец, для безопасности SSL требуется немного больше настроек, чем для других методов безопасности при общении.

elasticsearch {
   ssl => true
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
   truststore => 
   truststore_password => <password>
}

Другие преимущества безопасности от Logstash

Logstash может помочь системным источникам ввода предотвратить атаки, такие как отказ в обслуживании. Мониторинг журналов и анализ различных событий в этих журналах могут помочь системным администраторам проверить изменение входящих соединений и ошибок. Эти анализы могут помочь увидеть, происходит ли атака на серверах.

Другие продукты компании Elasticsearch, такие как x-pack и filebeat, предоставляют некоторые функции для безопасного взаимодействия с Logstash.