Logstash-セキュリティと監視

この章では、Logstashのセキュリティと監視の側面について説明します。

モニタリング

Logstashは、実稼働環境のサーバーとサービスを監視するための非常に優れたツールです。実稼働環境のアプリケーションは、アクセスログ、エラーログなど、さまざまな種類のログデータを生成します。Logstashは、フィルタープラグインを使用して、エラー、アクセス、またはその他のイベントの数をカウントまたは分析できます。この分析とカウントは、さまざまなサーバーとそのサービスを監視するために使用できます。

Logstashは次のようなプラグインを提供します HTTP Pollerウェブサイトのステータス監視を監視します。ここでは、という名前のWebサイトを監視していますmysite ローカルのApacheTomcatサーバーでホストされます。

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

stdout

サイトが稼働している場合、出力は次のようになります。

Ok

を使用してサイトを停止した場合 Manager App Tomcatの場合、出力は-に変わります。

down

セキュリティ

Logstashは、外部システムとの安全な通信のための多くの機能を提供し、認証メカニズムをサポートします。すべてのLogstashプラグインは、HTTP接続を介した認証と暗号化をサポートしています。

HTTPプロトコルによるセキュリティ

Elasticsearchプラグインのように、Logstashが提供するさまざまなプラグインには、認証用のユーザーやパスワードなどの設定があります。

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

他の認証は PKI (public key infrastructure)Elasticsearchの場合。開発者は、PKI認証を有効にするために、Elasticsearch出力プラグインで2つの設定を定義する必要があります。

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

HTTPSプロトコルでは、開発者はSSL / TLSに機関の証明書を使用できます。

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

トランスポートプロトコルによるセキュリティ

Elasticsearchでトランスポートプロトコルを使用するには、ユーザーはプロトコル設定をトランスポートに設定する必要があります。これにより、JSONオブジェクトの非マーシャリングが回避され、効率が向上します。

基本認証は、Elasticsearch出力プロトコルのhttpプロトコルで実行されるものと同じです。

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

PKI認証では、Elasticsearch出力プロトコルの他の設定でSSLセットがtrueである必要もあります-

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は、システムソースを入力して、サービス拒否攻撃などの攻撃を防ぐのに役立ちます。ログを監視し、それらのログ内のさまざまなイベントを分析することで、システム管理者は着信接続とエラーの変動を確認できます。これらの分析は、攻撃がサーバーで発生しているか、発生するかを確認するのに役立ちます。

ElasticsearchCompanyの他の製品など x-pack そして filebeat Logstashと安全に通信するためのいくつかの機能を提供します。