Skip to content

Référence des ports

Port 1099 (TCP) – Java RMI Registry

Registre Java Remote Method Invocation — service de noms qui lie les objets Java distants pour la recherche par les clients.

tcpRegistered

En bref

Transport
tcp
Catégorie
Registered
Niveau de risque
Élevé

Souvent ciblé — limitez l'exposition et durcissez-le.

État par défaut

Ouvert sur les applications et middlewares Java (serveurs d'applications, agents JMX) exposant des endpoints RMI, souvent sans authentification.

À quoi sert le port 1099 ?

Le port 1099 est le port par défaut du registre Java RMI, un service de noms du framework Remote Method Invocation de Java. Le registre permet aux clients de rechercher des objets Java distants par leur nom et d'obtenir des stubs qui relaient les appels de méthode vers une JVM serveur. Il est utilisé par les applications Java distribuées et les middlewares, et est couramment atteint via JMX pour la supervision et l'administration distantes des serveurs d'applications.

Quand faut-il l'ouvrir ?

Vous n'ouvrez le port 1099 que si vous exécutez une application ou un serveur d'applications Java qui expose des endpoints RMI ou JMX à d'autres machines, par exemple pour connecter un outil de supervision à une JVM distante. Si vos services Java ne communiquent que sur le même hôte, il n'est pas nécessaire d'exposer ce port.

Est-ce risqué de l'ouvrir ?

Le principal risque est que les endpoints RMI/JMX sont souvent laissés sans authentification : exigez donc des identifiants et TLS, gardez le registre sur un réseau privé, et accédez-y via un VPN. Consultez les notes de sécurité ci-dessous.

Comment vérifier si ce port est ouvert

Linux
ss -tulpn | grep :1099
nmap -p 1099 <target>
Windows
netstat -ano | findstr :1099
Test-NetConnection <host> -Port 1099
macOS
lsof -i :1099
nmap -p 1099 <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 :

  1. Ouvrez la page d'administration de votre box (souvent http://192.168.1.1 ou http://192.168.0.1) et connectez-vous.
  2. Trouvez la section « Redirection de ports » — parfois appelée NAT, Serveur virtuel ou NAT/PAT.
  3. Ajoutez une règle redirigeant le port externe 1099 vers l'IP locale de votre appareil, port interne 1099, protocole TCP.
  4. 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

Linux (ufw)
sudo ufw allow 1099/tcp
Linux (firewalld)
sudo firewall-cmd --permanent --add-port=1099/tcp
sudo firewall-cmd --reload
Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 1099 -j ACCEPT
Windows
New-NetFirewallRule -DisplayName "Allow 1099" -Direction Inbound -Protocol TCP -LocalPort 1099 -Action Allow

Sécurité et risques

Attaques courantes

  • RCE par désérialisation non sécurisée via chaînes de gadgets (ysoserial)
  • Énumération du registre et extraction des objets distants
  • Exploitation JMX/RMI pour exécution de code à distance
  • Abus du codebase/classloader pour charger des classes malveillantes

Durcissement

  • Ne pas exposer RMI/JMX aux réseaux non fiables
  • Exiger authentification et TLS sur les endpoints JMX/RMI
  • Corriger la JVM et appliquer des filtres/listes blanches de désérialisation
  • Désactiver le chargement de codebase distant (java.rmi.server.useCodebaseOnly=true)
  • Filtrer le 1099 et les ports dynamiques des objets RMI

Comment bloquer ce port

Linux (ufw)
sudo ufw deny 1099/tcp
Linux (firewalld)
sudo firewall-cmd --permanent --remove-port=1099/tcp
sudo firewall-cmd --reload
Linux (iptables)
sudo iptables -A INPUT -p tcp --dport 1099 -j DROP
Windows
New-NetFirewallRule -DisplayName "Block 1099" -Direction Inbound -Protocol TCP -LocalPort 1099 -Action Block

Commande nmap

nmap -p1099 --script rmi-dumpregistry,rmi-vuln-classloader <target>

Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.

Ports liés

Questions fréquentes

Pourquoi le registre RMI sur le port 1099 est-il risqué ?
RMI désérialise des objets contrôlés par l'attaquant. Avec un gadget vulnérable dans le classpath, un seul appel forgé donne une exécution de code à distance, souvent sans authentification.
Le port 1099 est-il lié à JMX ?
Oui. JMX utilise couramment RMI pour l'administration distante, avec le registre sur le 1099. Un JMX/RMI exposé est une voie bien connue vers une RCE par désérialisation.

Guides associés