Transport Layer Security (TLS)の暗号化を使用するようにLogstashを設定する - 7.1

Talend Data Services Platform インストールガイド Linux

EnrichVersion
7.1
EnrichProdName
Talend Data Services Platform
task
インストールとアップグレード
EnrichPlatform
Talend Activity Monitoring Console
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend Data Preparation
Talend Data Stewardship
Talend DQ Portal
Talend ESB
Talend Identity and Access Management
Talend Installer
Talend JobServer
Talend Log Server
Talend Repository Manager
Talend Runtime
Talend SAP RFC Server
Talend Studio

手順

  1. LogstashでTLSを有効にします:
    1. Logstashconfigフォルダーの下にcertsサブディレクトリーを作成します。
    2. ノードのca/ca.crt、パブリック証明書、およびプライベートキーをconfig/certs ディレクトリにコピーします。
    3. 以下のコマンドを実行してプライベートキーをpkcs8の形式に変換します:
    openssl pkcs8 -in config/certs/logstash.key -topk8 -nocrypt -out config/certs/logstash.pkcs8.key
    logstash_systemユーザーのパスワードはElasticsearchでTransport Layer Security (TLS/SSL)を設定するで生成したパスワードに対応している必要があります。
  2. 以下のようにconfig/logstash.ymlファイルを編集します:
    node.name: logstash.local
    xpack.monitoring.elasticsearch.username: logstash_system
    xpack.monitoring.elasticsearch.password: 'TalendELK'
    xpack.monitoring.elasticsearch.url: https://node1.local:9200
    xpack.monitoring.elasticsearch.ssl.ca: config/certs/ca.crt
    logstash_systemユーザーのパスワードはElasticsearchでTransport Layer Security (TLS/SSL)を設定するで生成したパスワードに対応している必要があります。
  3. 以下のようにlogstash-talend.confファイルを編集します:
    input {
      beats {
        port => 5044
        ssl => true
        ssl_key => '/config/certs/logstash.pkcs8.key'
        ssl_certificate => '/config/certs/logstash.crt'
      }
      http {
        response_headers => {
            "Access-Control-Allow-Origin" => "*"
            "Access-Control-Allow-Headers" => "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
            "Access-Control-Allow-Methods" => "*"
            "Access-Control-Allow-Credentials" => "*"
        }
        codec => "json"
        port => 8057
        type => "Audit"
      }
    }
    filter {
        if [type] == "Audit" {
            json { source => "message" }
            mutate {
                rename => {
                    "severity" => "priority"
                    "logMessage" => "message"
                }
            }
            mutate { add_field => { "esIndex" => "talendaudit-%{+YYYY.MM.dd}" } }
        } else {
            grok {
                match => { "message" => "%{URIHOST:agentTimestamp} %{HAPROXYTIME:time} %{DATA:priority} %{SYSLOG5424SD:method} %{JAVACLASS:logger_name} %{GREEDYDATA:log_message}" }
            }
            if [log_message] {
                mutate { update => { "message" => "%{log_message}" } }
            }
            mutate { add_field => { "esIndex" => "logstash-%{+YYYY.MM.dd}" } }
            if [app_id] {
                mutate { rename => { "app_id" => "application" } }
            }
        }
        mutate {
            remove_field   => [ "beats_input_codec_plain_applied", "offset", "beat[name]", "app_id", "beat[hostname]", "host", "tags"  ]
            remove_tag   => [ "beats_input_codec_plain_applied" ]
        }
    }
    output {
      elasticsearch {
        hosts => ["https://node1.local:9200"]
        cacert => 'config/certs/ca/ca.crt'
        user => 'logstash_writer'
        password => 'TalendELK'
        index => "%{esIndex}"
      }
    }
  4. 以下のコマンドを実行し、正しい設定ファイルでLogstashを開始します:
    bin/logstash -f  ../logstash-talend.conf