セキュリティガイド
セキュリティは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は頻繁にログインを繰り返すクライアントを自動的に禁止し、他のクライアントに影響を与える可能性のあるサーバーリソースの消費を防止します。