Référence des ports
Port 8883 (TCP) – MQTT over TLS
Port par défaut de MQTT sécurisé par TLS, la variante chiffrée du protocole publication/abonnement IoT qui tourne en clair sur 1883.
En bref
- Transport
- tcp
- Catégorie
- Registered
- TLS
- Chiffré
- Niveau de risque
- Élevé
Souvent ciblé — limitez l'exposition et durcissez-le.
État par défaut
Réservé au MQTT enveloppé dans TLS. Le chiffrement est en place, mais les brokers peuvent toujours autoriser l'accès anonyme, accepter des certificats faibles ou exposer aussi le 1883 en clair, sapant la protection.
À quoi sert le port 8883 ?
Le port 8883 est le port par défaut de MQTT sur TLS, la forme chiffrée du protocole publication/abonnement léger utilisé par les appareils IoT et domotiques. C'est le même MQTT que sur le port 1883 en clair, mais enveloppé dans TLS afin que topics, charges utiles et identifiants soient protégés en transit. Des clients et brokers comme Eclipse Mosquitto, HiveMQ et EMQX l'utilisent, et des plateformes comme Home Assistant et AWS IoT s'y connectent.
Quand faut-il l'ouvrir ?
Ouvrez ou redirigez le 8883 lorsque vous faites tourner un broker MQTT et devez permettre à des appareils ou applications de s'y connecter de façon sécurisée, y compris à travers Internet. C'est le port recommandé dès que le trafic MQTT quitte un réseau local de confiance.
Est-ce risqué de l'ouvrir ?
Le TLS protège les données en transit mais n'est pas un contrôle d'accès, donc exigez tout de même une authentification et désactivez le 1883 en clair pour empêcher les replis. Consultez les notes de sécurité ci-dessous.
Comment vérifier si ce port est ouvert
ss -tulpn | grep :8883
nmap -p 8883 <target>netstat -ano | findstr :8883
Test-NetConnection <host> -Port 8883lsof -i :8883
nmap -p 8883 <target>Comment ouvrir ce port sur votre box/routeur
Pour joindre ce service depuis l'extérieur de votre réseau, redirigez le port sur votre box :
- Ouvrez la page d'administration de votre box (souvent http://192.168.1.1 ou http://192.168.0.1) et connectez-vous.
- Trouvez la section « Redirection de ports » — parfois appelée NAT, Serveur virtuel ou NAT/PAT.
- Ajoutez une règle redirigeant le port externe 8883 vers l'IP locale de votre appareil, port interne 8883, protocole TCP.
- Enregistrez, redémarrez la box si demandé, puis testez le port depuis l'extérieur de votre réseau.
Ne redirigez que des ports que vous maîtrisez — cela expose l'appareil à Internet. Pour un accès distant d'administration, un VPN est plus sûr que la redirection de port.
Autoriser ce port dans le pare-feu
sudo ufw allow 8883/tcpsudo firewall-cmd --permanent --add-port=8883/tcp
sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 8883 -j ACCEPTNew-NetFirewallRule -DisplayName "Allow 8883" -Direction Inbound -Protocol TCP -LocalPort 8883 -Action AllowSécurité et risques
Attaques courantes
- Connexion anonyme ou par identifiants faibles malgré TLS activé
- Repli vers MQTT en clair sur 1883 quand les deux ports sont ouverts
- Exploitation de configurations TLS faibles ou de l'absence de vérification de certificat client
- Abonnement aux topics avec le joker # une fois authentifié
Durcissement
- Exiger l'authentification client (mots de passe ou certificats TLS mutuels)
- Désactiver le 1883 en clair pour empêcher le repli des clients
- Utiliser des versions TLS modernes et des suites de chiffrement fortes ; valider les certificats
- Imposer des ACL de topics par client pour limiter la portée abonnement/publication
- Lier à une interface privée, limiter 8883 par pare-feu et maintenir le broker à jour
Comment bloquer ce port
sudo ufw deny 8883/tcpsudo firewall-cmd --permanent --remove-port=8883/tcp
sudo firewall-cmd --reloadsudo iptables -A INPUT -p tcp --dport 8883 -j DROPNew-NetFirewallRule -DisplayName "Block 8883" -Direction Inbound -Protocol TCP -LocalPort 8883 -Action BlockCommande nmap
nmap -p8883 --script ssl-cert,mqtt-subscribe <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Ports liés
Questions fréquentes
- En quoi le port 8883 diffère-t-il du 1883 ?
- Le port 8883 transporte MQTT dans un tunnel TLS, chiffrant topics, charges utiles et identifiants. Le port 1883 est le même protocole en clair. Utilisez 8883 et désactivez 1883 si possible.
- Le TLS sur 8883 rend-il MQTT sûr à lui seul ?
- Non. TLS protège les données en transit mais pas le contrôle d'accès. Il faut toujours l'authentification, des ACL de topics par client et une validation forte des certificats, sinon un attaquant peut s'authentifier et lire ou injecter des messages.