Skip to content

セキュリティガイド ​

セキュリティはMQTTベースのアプリケーションにおいて非常に重要な要素であり、本ガイドはEMQXのデプロイメントにおいて堅牢なセキュリティ対策を理解し実装するための支援を目的としています。本章ではアクセス制御、認可、そしてTransport Layer Security(TLS)を用いたネットワークセキュリティに焦点を当て、さまざまなセキュリティ関連のトピックを解説します。

  • セキュリティチェックリスト

    本番環境向けのチェックリストを用いて、リスナーの公開範囲、TLS、認証、認可、シークレット管理、監視などをローンチ前に確認できます。

  • ネットワーキングとTLS

    EMQXがエンドツーエンドの暗号化通信をどのようにサポートしているかを説明し、SSL/TLS接続の有効化やSSL/TLS証明書の取得方法について解説します。

  • ファイルからシークレットを読み込む

    file:// プレフィックスをシークレット型の設定フィールドに付けることで、emqx.confやAPIリクエストに直接埋め込む代わりに、起動時およびリロード時にファイルから値を読み込むことができます。

  • 認証

    認証はクライアントの身元を検証するプロセスであり、多くのアプリケーションにとって不可欠です。不正なクライアント接続からサービスを保護するのに役立ちます。EMQXは以下の複数の認証方式をサポートし、クライアントの保護を強化しています。

    • X.509証明書認証
    • ユーザー名/パスワード認証
    • JWT認証
    • MQTT 5.0の拡張認証
    • PSK認証

    本節ではこれらの認証方式の仕組みとEMQXでの設定方法を紹介します。

  • 認可

    EMQXにおける認可は、MQTTクライアントのパブリッシュ/サブスクライブ操作に対する権限管理を指します。本章では組み込みデータベースやACLファイルの利用方法、さらにMySQL、PostgreSQL、MongoDB、Redisとの連携による認可ルールの設定方法を紹介します。

  • 禁止クライアント

    EMQXはブラックリスト/禁止機能を提供しています。システム管理者はダッシュボードやHTTP APIを通じて、クライアントID、ユーザー名、IPアドレスを指定し、特定のクライアントのEMQXへのアクセスをブロックできます。

  • フラッピング検出

    EMQXは頻繁にログインを繰り返すクライアントを自動的に禁止し、サーバーリソースの消費によって他のクライアントに影響を及ぼすのを防止します。