Konfigurieren der Verschlüsselung des internen Brokerdatenverkehrs und interner Zertifikate
Die Gewährleistung der Sicherheit der internen Kommunikation innerhalb Ihrer Infrastruktur ist wichtig für die Aufrechterhaltung der Datenintegrität und -vertraulichkeit. Sie können den MQTT-Broker so konfigurieren, dass der interne Datenverkehr und die Daten verschlüsselt werden. Verschlüsselungszertifikate werden automatisch über den Berechtigungsnachweis-Manager verwaltet.
Verschlüsseln von internem Datenverkehr
Wichtig
Diese Einstellung erfordert das Ändern der Brokerressource und kann nur bei der erstmaligen Bereitstellung mithilfe der Azure CLI oder des Azure-Portals konfiguriert werden. Eine neue Bereitstellung ist erforderlich, wenn Änderungen an der Broker-Konfiguration erforderlich sind. Weitere Informationen finden Sie unter Anpassen des Standardbrokers.
Das Feature encryptInternalTraffic wird verwendet, um den internen Datenverkehr zwischen den Front-End- und Back-End-Pods des MQTT-Brokers zu verschlüsseln. Es ist standardmäßig aktiviert, wenn Sie Azure IoT Einsatz bereitstellen.
Um die Verschlüsselung zu deaktivieren, ändern Sie die advanced.encryptInternalTraffic
-Einstellung in der Brokerressource. Dies kann nur mithilfe der --broker-config-file
-Kennzeichnung während der Bereitstellung des Azure IoT Einsatzes mit dem az iot ops create
-Befehl erfolgen.
Achtung
Durch deaktivieren der Verschlüsselung kann die MQTT-Brokerleistung verbessert werden. Um jedoch vor Sicherheitsbedrohungen wie Man-in-the-Middle-Angriffen zu schützen, empfehlen wir dringend, diese Einstellung aktiviert zu halten. Deaktivieren Sie die Verschlüsselung nur in kontrollierten Nichtproduktionsumgebungen für Tests.
{
"advanced": {
"encryptInternalTraffic": "Disabled"
}
}
Stellen Sie dann Azure IoT Einsatz mithilfe des Befehls az iot ops create
mit dem Flag --broker-config-file
bereit, z. B. mit folgendem Befehl (andere Parameter wurden aus Platzgründen weggelassen):
az iot ops create ... --broker-config-file <FILE>.json
Interne Zertifikate
Wenn die Verschlüsselung aktiviert ist, verwendet der Broker den Zertifikat-Manager, um die Zertifikate zu generieren und zu verwalten, die zum Verschlüsseln des internen Datenverkehrs verwendet werden. Cert-manager verlängert Zertifikate automatisch, wenn sie ablaufen. Sie können die Zertifikateinstellungen wie die Laufzeit, den Zeitpunkt der Verlängerung und den Algorithmus für den privaten Schlüssel in der Broker-Ressource konfigurieren. Wenn Sie Azure IoT Einsatz mit dem az iot ops create
Befehl bereitstellen, wird das Ändern von Zertifikateinstellungen derzeit nur unter Verwendung des Flags --broker-config-file
unterstützt.
Um beispielsweise die Zertifikatsdauer auf 240 Stunden festzulegen, die Erneuerung vor 45 Minuten durchzuführen und den privaten Schlüsselalgorithmus auf RSA 2048 festzulegen, erstellen Sie eine Broker-Konfigurationsdatei im JSON-Format:
{
"advanced": {
"encryptInternalTraffic": "Enabled",
"internalCerts": {
"duration": "240h",
"renewBefore": "45m",
"privateKey": {
"algorithm": "Rsa2048",
"rotationPolicy": "Always"
}
}
}
}
Stellen Sie dann Azure IoT Einsatz mithilfe des az iot ops create
-Befehls mit --broker-config-file <FILE>.json
bereit.
Weitere Informationen finden Sie unter Azure CLI-Unterstützung für erweiterte MQTT-Brokerkonfigurationen und Brokerbeispiele.