OSSサポートの現場から!Zabbix Webコンソールのセキュリティ設定

Colorful illustration showing a woman with glasses writing a scroll about Apache ssl.conf, SSL/TLS security, and Zabbix monitoring icons amid servers, locks, and charts in a tech-themed scene.

こんにちは、OSSよろず相談室のSKです。
OSS に関するお問い合わせが日々寄せられる中で、今回は統合監視ツール「Zabbix」に関連して寄せられた、セキュアな通信に関するお問い合わせを2つご紹介します。

どちらもZabbixのWebコンソール(GUIポータル)へのSSL/TLS通信を安全に保つための内容ですが、Zabbix本体ではなく、Webサーバ側(Apache httpd)の ssl.conf の設定を変更します。

ケース1:TLS1.2のみに通信を制限したい

【お問い合わせ内容】

ZabbixのWebコンソールにブラウザで通信する際、現在TLS1.0と1.1が使用できる状態です。これをTLS1.2のみに制限する方法はありますか?

【サポートからの回答】

こちらはZabbix自体の設定ではなく、Web画面を提供しているApache httpdの mod_ssl の設定となります。
/etc/httpd/conf.d/ssl.conf にて、以下のように SSLProtocol ディレクティブを設定することで、TLSv1.0 と TLSv1.1 の使用を無効化できます。

【修正例】

SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1


上記のように記述することで、「すべてのプロトコル(All)を許可した上で、安全性の低いプロトコルを明示的に除外(マイナス記号 – を付与)」することになり、結果として TLSv1.2 以降のみが利用可能になります。
設定変更後は、必ずApacheの再起動またはリロードを行って設定を反映させてください。

ケース2:セキュリティ診断で指摘された古い暗号化方式を無効化したい

【お問い合わせ内容】

Zabbix環境に対してセキュリティ診断を実施したところ、Zabbixフロントエンド(Web管理画面)との暗号化通信において、古い暗号化方式の利用(SWEET32やBar Mitzvahなどに該当する事象)が検出されました。

暗号化通信は継続しつつ、検出された暗号化方式だけを利用しないように設定変更するにはどうすればよいでしょうか。

【サポートからの回答】

こちらもケース1と同様に、Apacheの ssl.conf の設定変更で対応可能です。それぞれの事象に関する原因と対処法をご案内します。

1. 3DESを使用する暗号化方式(SWEET32関連)への対応

参考情報: Red Hat 社の情報 / CVE-2016-2183
https://access.redhat.com/security/cve/cve-2016-2183

  • ちょっと気になる雑学:なぜ「SWEET32(誕生日攻撃)」?
    「ある部屋に23人いるだけで、誕生日が同じペアが50%以上の確率で存在する(誕生日のパラドックス)」という数学の法則を応用した攻撃手法です。「特定の鍵」を狙うのではなく「どれでもいいから暗号データの重複」を狙うため、直感より遥かに少ないデータ量で解読されてしまいます。3DES暗号の場合、通信量が「32GB」に達したあたりでこの重複確率が跳ね上がることから、この名前がつきました。

3DESを許可する記述や、3DESを使用する暗号化アルゴリズムが明示的に指定されていると、Sweet32 攻撃の影響を受けます。これらを削除することで対処が可能です。

  • 修正例1(3DESが明記されている場合):
    • 変更前
      apache SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
    • 変更後(”3DES”の記述を削除)
      apache SSLCipherSuite HIGH:!aNULL:!MD5:!SEED:!IDEA
  • 修正例2(3DESの特定のアルゴリズム名が個別指定されている場合):
      以下の場合は”EDH-RSA-DES-CBC3-SHA“が指定されています。
    • 変更前
      apache SSLCipherSuite "ECDHE-ECDSA-AES128-GCM-SHA256
      ・・・
      EDH-RSA-DES-CBC3-SHA"
    • 変更後(対象の暗号化方式 “EDH-RSA-DES-CBC3-SHA” を削除)
      apache SSLCipherSuite "ECDHE-ECDSA-AES128-GCM-SHA256
      ・・・
      "

2. RC4を含む暗号化方式(Bar Mitzvah関連)への対応

参考情報: Red Hat 社の情報 / CVE-2015-2808
https://access.redhat.com/security/cve/cve-2015-2808

Bar Mitzvahという脆弱性は、RC4 暗号アルゴリズム自体の弱点を突いた攻撃です。

  • ちょっと気になる雑学:なぜ「Bar Mitzvah」?
    「Bar Mitzvah(バー・ミツバ)」とは、ユダヤ教における「13歳」の男子の成人式のことです。この攻撃のベースとなったRC4暗号の弱点自体は2001年に既に発表されていたものでしたが、それから13年経った2015年になって、実用的な攻撃手法として実証(=成人)されてしまったため、このような皮肉を込めた名前がつけられたそうです。

SSLCipherSuiteの設定に “MEDIUM” が入っていると影響を受けます。
“MEDIUM” は 128ビットの暗号化を使用するすべての暗号であるため、脆弱性診断で指摘されている暗号化アルゴリズムが許可されます。

  • 変更前
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
  • 変更後(”MEDIUM” を削除)
SSLCipherSuite HIGH:!aNULL:!MD5

修正の反映と、コマンドによる事後確認

設定ファイルを修正した後は、設定を適用するためにApacheのリロード(systemctl reload httpd)または再起動(systemctl restart httpd)を行います。
また、設定が正しく反映され、意図しない暗号化方式が排除されたかどうかは、 openssl ciphers コマンドでテストすることができます。
引数に修正後の ssl.conf の SSLCipherSuite の値を指定して実行し、出力結果の「Enc」列に 3DES や RC4 が無いことを確認すると確実です。

  • 実行例
openssl ciphers -v 'HIGH:!aNULL:!MD5:!SEED:!IDEA'

まとめ

ZabbixのWeb画面に関するセキュリティ要件(プロトコル制限や暗号化方式の変更など)は、Zabbixの設定ファイルを探しても見つかりません。
フロントエンドで動作しているWebサーバ(今回はApache の /etc/httpd/conf.d/ssl.conf)で設定を行うのが基本となります。
セキュリティ診断などでアラートが出た場合も、慌てずにWebサーバの暗号化スイート設定(SSLCipherSuite)を見直しましょう。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
エンジニア募集中!

コメントを残す

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