概要

タイトルのとおり、Fluentdで送信元サーバーと送信先サーバー間のログ送信する際に自己署名証明書を使用する際の設定で苦戦したのでメモっておきます。

証明書の作成

とりあえず有効期間30年の証明書作成。頻繁に証明書を置き換えられるならもっと短くてもいいと思います。

$ openssl req -new -x509 -sha256 -days 10800 -newkey rsa:4096 -keyout fluentd.key -out fluentd.crt
# パスフレーズいれる
your_passphrese

Generating a 4096 bit RSA private key
..........................++
....................................++
writing new private key to 'fluentd.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:eg
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

ログ送信元での設定

上記で作成したcrtファイルをログ送信元に置きます。
今回は/etc/td-agent/certs/fluentd.crtに置いています。
shared_keyはまぁ適当に設定してください。
バッファーなどの設定は適当ですので適宜変えてください。

<match **.*>
    @type forward
    transport tls
    tls_cert_path /etc/td-agent/certs/fluentd.crt
    # 自己署名証明書を使用するにtrue
    tls_allow_self_signed_cert true
    # 自己署名証明書を使用する際にはfalseを設定する必要があります。
    tls_verify_hostname false
    <server>
      host forward.exmple.com
      port 24224
    </server>
    <security>
      self_hostname outputlog.exmple.com
      shared_key hogehoge
    </security>
    <buffer>
      @type file
      path /var/log/td-agent/buffer/sec_forward
    </buffer>
    flush_interval 60s
</match>

ログ送信先での設定

ログ受信時の設定を下記のようにします。
crtとkeyは作成したもの、shared_keyは送り元・送り先で同じフレーズを設定する必要があります。

<source>
  @type forward
  port 24224
  bind 0.0.0.0
  <security>
    self_hostname forward.exmple.com
    shared_key hogehoge
  </security>
  <transport tls>
    cert_path /etc/td-agent/certs/fluentd.crt
    private_key_path /etc/td-agent/certs/fluentd.key
    private_key_passphrase your_passphrese
  </transport>
</source>

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください