2017年4月1日土曜日

Zabbix 通信の暗号化(PSK) windows用

この内容はZabbix 3.0を基準にします。
Linuxに関して多数ありますがWindows用は少ない見たいのでここではwindowsを基準にします。
しかし、Linux用とWindows用はことなるところはDownloadするところだけです。
Zabbix ServerとZabbix agent間通信の暗号化に関して説明します。
暗号化はご存知名よう、Zabbix ServerとZabbix Agentが通信することを見えないようにするし、許可されてないホストからのリクエストを拒否される目的があります。

ZabbixにPSK (Pre-Shared Key/事前共有鍵)を使用してみます。

1.PSKを作成する

# psktool -u zabbix -p zabbix.psk -s 32
もし、psktool がない場合は
-bash: psktool : コマンドが見つかりません
# yum install gnutls-utils -y
をインストールします。

2.zabbix.pskを編集する

viで中にあるzabbix:部分を削除します。
Zabbix:の意味はユーザーを表すものです。

3.windows用Zabbix Agent download

https://support.zabbix.com/browse/ZBXNEXT-3047
にあるZabbix-agent-3.0.1-with-OpenSSL-1.0.2c-WinAll.zipファイルをDownloadします。
その後適当な場所で解凍します。
フォルダ名はzabbixにした方法後見やすくなります。


4.windows マシンにzabbix.pskを配置

適当なら場所にzabbix.pskを配置します。
僕の場合はZabbixを解凍したところに起きました。
C:\tmp\zabbix\confです。

5.zabbix-agent.win.confファイルを修正

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=zabbix ##zabbix.pskを作成する時入れたユーザー名です。
TLSPSKFile=C:\tmp\zabbix\conf\zabbix.psk   ##zabbix.pskファイルがある場所

6.ホストの作成

Zabbix WEBページから
設定 → ホスト → ホスト作成ボタンをクリックするか既存のホストをクリックします。
暗号化をクリックします。

ホストへの接続からPSKをクリックします。
ホストからの接続にはPSKをクリックします。
PSKアイデンティティにはzabbix.pskファイルを作成するときのユーザー名を書きます。
PSKにはファイルに書いている内容をそのまま書きます。
pskファイルを作成したときにはzabbix:部分は入れないようにご注意ください。

その後更新をクリックします。
ホストメイン画面を見ると
この表示が見られます。

7.Zabbix Agent起動

WindowsのサービスからZabbixを起動します。
windows用のZabbix Agent起動は
ここをご参照ください。

8.Agentの確認

   zabbix_getを利用して確認します。
# zabbix_get -s 192.168.137.139 -k "agent.ping"
zabbix_get [3689]: Get value error: ZBX_TCP_READ() failed: [104] Connection reset by peer
zabbix_get [3689]: Check access restrictions in Zabbix agent configuration
このエラーはpskを利用しているのにも関わらずpskファイルを利用してないのでエラーが起きました。
# zabbix_get -s 192.168.137.139 --tls-connect psk --tls-psk-identity zabbix --tls-psk-file zabbix.psk -k "agent.ping"
1
これで完了しました。

もし、Zabbix Agent側から
active check configuration update from [192.168.137.138:10051] started to fail (TCP successful, cannot establish TLS to [[192.168.137.138]:10051]: SSL_connect() returned SSL_ERROR_SSL: file .\ssl\s3_pkt.c line 1472: error:1409445B:SSL routines:ssl3_read_bytes:reason(1115): SSL alert number 115: TLS read fatal alert "unknown PSK identity")
エラーの場合はTLSPSKIdentityに作成ユーザーがあるか確認ください。

また、Zabbix Agent側から
failed to accept an incoming connection: from 192.168.137.138: unencrypted connections are not allowed
エラーの場合は6.ホストの作成のホストへの接続がPSKに選択できているかを確認ください。

以上です。


0 件のコメント: