Le mappeur de ports ( rpc.portmap ou simplement portmap , ou rpcbind ) est un service d'appel de procédure à distance Open Network Computing (ONC RPC) qui s'exécute sur les nœuds de réseau qui fournissent d'autres services ONC RPC.
La version 2 du protocole de mappage de ports mappe les paires numéro de programme/numéro de version ONC RPC au numéro de port réseau de cette version de ce programme. Lorsqu'un serveur ONC RPC est démarré, il indique au mappeur de ports, pour chaque paire numéro de programme/numéro de version particulière qu'il implémente pour un protocole de transport particulier ( TCP ou UDP ), quel numéro de port il utilise pour cette paire numéro de programme/numéro de version particulière sur ce protocole de transport. Les clients souhaitant effectuer un appel ONC RPC vers une version particulière d'un service ONC RPC particulier doivent d'abord contacter le mappeur de ports sur la machine serveur pour déterminer le port TCP ou UDP réel à utiliser.
Les versions 3 et 4 du protocole, appelés protocole rpcbind, mappent une paire numéro de programme/numéro de version et un indicateur qui spécifie un protocole de transport à une adresse de point de terminaison de couche de transport pour cette paire numéro de programme/numéro de version sur ce protocole de transport.
Le service de mappage de ports utilise toujours le port TCP ou UDP 111 ; un port fixe est requis pour cela, car un client ne pourrait pas obtenir le numéro de port du service de mappage de ports à partir du mappeur de ports lui-même.
Le mappeur de ports doit être démarré avant le démarrage de tout autre serveur RPC.
Le service de mappage de ports est apparu pour la première fois dans SunOS 2.0.
Exemple d'instance de portmap
Cette section montre les différents programmes et leurs versions, ainsi que les ports qu'ils utilisent. Par exemple, elle montre que NFS est en cours d'exécution, version 2 et 3, et peut être atteint sur le port TCP 2049 ou le port UDP 2049, selon le protocole de transport que le client souhaite utiliser, et que le protocole de montage, version 1 et 2, est en cours d'exécution et peut être atteint sur le port UDP 644 ou le port TCP 645, selon le protocole de transport que le client souhaite utiliser.
$ rpcinfo -p programme vers proto port 100000 2 mappeur de ports TCP 111 100000 2 mappeur de ports udp 111 100003-2-udp-2049-nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003-2-tcp-2049-nfs 100003 3 tcp 2049 nfs 100003-4-tcp-2049-nfs 100024 1 udp 32770 statut 100021 1 udp 32770 nlockmgr 100021 3 udp 32770 nlockmgr 100021 4 udp 32770 nlockmgr 100024 1 statut tcp 32769 100021 1 tcp 32769 nlockmgr 100021 3 tcp 32769 nlockmgr 100021 4 tcp 32769 nlockmgr 100005 1 udp 644 monté 100005 1 tcp 645 monté 100005 2 udp 644 montage 100005 2 tcp 645 monté 100005 3 udp 644 montage 100005 3 tcp 645 monté
Problèmes de sécurité
Le service de mappage de ports a été découvert comme étant utilisé dans des attaques par déni de service distribué (DDoS) et des attaques par déni de service réflectif distribué (DRDoS) en 2015. En utilisant une demande de mappage de ports usurpée, un attaquant peut amplifier les effets sur une cible, car une requête de mappage de ports renverra plusieurs fois plus de données que dans la demande d'origine.