Zabbix ServerとZabbix Proxy間の暗号化通信について

いつもお世話になります。

Zabbix server 4.0.18
centos 7

Zabbix ServerとZabbix Proxy間の暗号化通信について教えてください。

WEBインターフェイスからPSK方式にてPSKアイデンティティとPSKを設定しました。

zabbix_proxy.confに追加
--------------
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=hogehoge
TLSPSKFile=/etc/zabbix/zabbix_proxy.psk
--------------

しかし、下記エラーメッセージが出力されていたのですが、グラフを見ると正常に値が取得できているようでした。

●zabbix server
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac"

●zabbix proxy
Unable to connect to the server [***.***.***.***(serverのGIP)]:10051 [TCP successful, cannot establish TLS to [[***.***.***.***(serverのGIP)]:10051]: SSL_connect() set result code to SSL_ERROR_SSL: file s3_pkt.c line 1493: error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac: SSL alert number 20: TLS read fatal alert "bad record mac"]
22245:20200618:155257.339 Connection restored.

PSK方式の場合、10051以外のportの開放などが必要なのでしょうか?
ご教示いただければ幸いです。
よろしくおねがいします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

別のポート番号のポートを開放する必要はありません。

Connection restored.と出ているようですし、値が継続して正常に
取得できているのであれば、最初の接続時にサーバーかプロキシど
ちらかの設定が先に働いてしまって、その瞬間だけ正常に接続でき
なかったのではないのでしょうか?

「管理」->「プロキシ」の画面での最新データ受信時刻が更新され
ていて、「監視データ」->「最新データ」でプロキシ配下のホスト
のアイテムの値が更新されているようであれば、さらに何かをする
必要はないと思います。

ユーザー myyam の写真

TNK様

ご返信ありがとうございます。

ただ、zabbix server側では下記のログが連続で出力されていたので少し気になりました。

●zabbix server
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac"

一度この状態で様子を見てみようと思います。
もし、追加でご質問あればこちらに返信させていただきたく、よろしくおねがいします。

ユーザー TNK の写真

「連続で」というのがその時だけで、現時点では継続して出力され
続けてはいないということであれば問題は無いとおもいます。

参考までに、プロキシモードは「アクティブ」「パッシブ」どちら
を使用されていますか?
手元の環境で、同様のログが出ないかを試せるかもしれません。

ユーザー myyam の写真

TNK様

ご返信ありがとうございます。

アクティブProxyとして動作させております。

ログを再度確認しましたが、zabbix server側では下記ログが出力され続けておりました。

failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac

ユーザー TNK の写真

1点確認させて頂きたいのですが、Zabbixプロキシを稼働している
サーバー上で、Zabbixエージェントを起動していて、そのエージェ
ントの設定内のServerActiveの値がZabbixサーバーのIPアドレスに
なっていたりしませんか?

ユーザー myyam の写真

一定期間なのか?failed to accept an incoming connection: fromのログが連続出力されたあと、正常に取得できた旨のログが出力され始めました。

failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac

43813:20200618:180856.949 sending configuration data to proxy "proxyのホスト名" at "***.***.***.***(proxyのGIP)", datalen 338644
43811:20200618:181141.564 sending configuration data to proxy "proxyのホスト名" at "***.***.***.***(proxyのGIP)", datalen 237092
43810:20200618:181357.169 sending configuration data to proxy "proxyのホスト名" at "***.***.***.***(proxyのGIP)", datalen 338644
43812:20200618:181641.749 sending configuration data to proxy "proxyのホスト名" at "***.***.***.***(proxyのGIP)", datalen 237092
43811:20200618:181857.384 sending configuration data to proxy "proxyのホスト名" at "***.***.***.***(proxyのGIP)", datalen 338644

問題なさそうにもみえるのですが、ちょっと様子見をしたほうがいいでしょうか。

ユーザー TNK の写真

3.0の情報ですが、以下のURLで書かれているエラーメッセージに似てますね。
https://www.zabbix.com/documentation/3.0/manual/encryption/troubleshooti...

ユーザー myyam の写真

ServerActiveの値についてですが、ProxyのホストではZabbixエージェントを現状稼働させていない状態です。

ユーザー myyam の写真

TNK様

>3.0の情報ですが、以下のURLで書かれているエラーメッセージに似てますね。

こちら、確認しました。確かにログが似ていますね。。。

この場合って、どうしようもないのでしょうか?

ユーザー myyam の写真

TNK様

本日、新たに暗号化設定をしたホストを追加しているのですが、上記でお伝えしている形のログが再度出力され始めております。
しかし、データは正常に取得できています。

ユーザー myyam の写真

TNK様

どうやら、複数のzabbix_proxyからPSKで通信した場合にこのエラーログが履かれているようでした。
zabbix_proxyが1台のみの場合、ログが正常になっております。

正常に値は取得できているようですが、複数のzabbix_proxyからPSKで通信した場合にzabbix_server側のログが下記のように大量に履かれてしまい、
これを回避する方法はありますでしょうか?

failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac"
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac"
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac"
failed to accept an incoming connection: from ***.***.***.***(proxyのGIP): TLS handshake set result code to 1: file s3_pkt.c line 535: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac: TLS write fatal alert "bad record mac"

ユーザー matsumoto-sp の写真

先日同じ問題が発生し、ここにたどり着きました。Zbbix サーバーのバージョン、利用しているOS、Zabbix Sever、Zabbix Proxyで発生しているエラーメッセージ内のエラーコードやソースファイルの行番号に至るまで、起票者の方とまったく同じです。

それまで平穏な状態だったのですが、新しい Zabbix Proxy を登録した時に問題が発生しました。新しい Zabbix Proxy には新しい PSK値を設定しましたが、それを従来からある Zabbix Proxy と同じ PSK 値にした所、問題解決となりました。

どうやら複数の Zabbix Proxy や Zabbix Agent が登録されており、かつそれぞれ異なる PSK値を利用していると問題が発生するようでした。