PSKによるZabbixの暗号化設定ツール


Zabbixは基本的に平文が流れているのですが、セキュリティ的にちょっと…という時のためにPSK(Pre-Shared Key)、つまり共通鍵認証の機能があります。

設定方法はググれば色々出てくるのですが、正直ややこしいので、設定用スクリプトを作成しました。

なおこのスクリプトを実行するとzabbix_agentd.d/psk.confにPSK関連の設定が書き出されます。もしzabbix.confにPSKの設定が既にある場合は該当部分を削除しておきましょう。

また、psk.confが既に存在している場合、上書きされて初期化されてしまうので注意しましょう。

準備

psktoolはあらかじめインストールする。

# apt install gnutls-bin
# cd /etc/zabbix
# wget -O generate_zbx_psk.sh.gz "https://note.nogisawa.net/files/2019/0611_zabbix/_F/tkp_i06XTpKAmQdOGHUCQo.gz"
# gzip -d generate_zbx_psk.sh.gz
# chmod +x ./generate_zbx_psk.sh

実行

# ./generate_zbx_psk.sh
Reset psk keys, OK? (Y/n): Y <<<ここでY(大文字)を入れる
1+0 records in
1+0 records out
8 bytes copied, 0.000142862 s, 56.0 kB/s
Generating a random key for user 'CefVrXJtnio'
Key stored to passwd.psk
=== RESULT ===
IDENT  CefVrXJtnio
PSK    5913faaf54a4ee32be6994c99850807e26802c8a3f191353ced36c1634814a61

最後にIDENTとPSKが出てきます。これをZabbixのサーバーのホストの所に入れてあげます。この時「ホストへの接続」「ホストからの接続」の2か所でPSKを有効にするのを忘れないようにしましょう。

tkp_DrbgfXqOtJUxkj-VbS.png

設定が終わったらこのスクリプトは間違えて実行しないように削除しておきましょう。

# rm ./generate_zbx_psk.sh

ちなみにスクリプトの中に

KEY_LEN=32

という行がありますが、これはPSKの鍵長です。もし長い鍵長にしたい時はここの数字を変えましょう。