セキュリティガイド
セキュリティはあらゆる MQTT ベースのアプリケーションにおいて重要な要素であり、本ガイドは EMQX のデプロイにおいて堅牢なセキュリティ対策を理解し実装するための支援を目的としています。本章ではアクセス制御、認可、そして Transport Layer Security(TLS)を用いたネットワークセキュリティに焦点を当て、さまざまなセキュリティ関連のトピックを解説します。
本番環境向けのチェックリストを使用して、リスナーの公開範囲、TLS、認証、認可、シークレット管理、監視を展開前に確認してください。
EMQX がエンドツーエンドの暗号化通信をどのようにサポートしているかを説明し、SSL/TLS 接続の有効化や SSL/TLS 証明書の取得方法について解説します。
認証はクライアントの身元を検証するプロセスです。ほとんどのアプリケーションにおいて不可欠であり、不正なクライアント接続からサービスを保護するのに役立ちます。EMQX はクライアントをより安全に保護するために、以下の複数の認証方式をサポートしています。
- X.509 証明書認証
- ユーザー名/パスワード認証
- JWT 認証
- MQTT 5.0 の拡張認証
- PSK 認証
本節では、これらの認証方式の仕組みと EMQX での設定方法を紹介します。
EMQX における認可とは、MQTT クライアントのパブリッシュ/サブスクライブ操作に対する権限管理を指します。本章では、組み込みデータベースや ACL ファイルの利用方法、または MySQL、PostgreSQL、MongoDB、Redis と連携して認可ルールを設定する方法を解説します。
EMQX はブラックリスト/禁止機能を提供しています。システム管理者はダッシュボードや HTTP API を通じて、クライアント ID、ユーザー名、IP アドレスを指定し、特定のクライアントの EMQX へのアクセスをブロックできます。
EMQX は頻繁にログインを繰り返すクライアントを自動的に禁止し、他のクライアントに影響を与える可能性のあるサーバーリソースの消費を防止します。