JMX - Technologie pour le monitoring d'applications Java par Baptiste DERRÉ

Comment sécuriser notre serveur de MBeans?

JMX offre la possibilité de restreindre l'accès à l'agent JMX à un groupe d'utilisateurs. Cela fonctionne uniquement pour un client distant. Les clients locaux à la machine sur laquelle est présent l'agent JMX ont un accès sans limite aux ressources de ce serveur. Les fichiers de configuration permettant d'établir cette sécurité sont similaires à ceux d'un .htaccess pour un serveur Apache. Nous avons deux fichiers :

Un fichier pour les mots de passe

Celui-ci stocke les mots de passe de chaque utilisateur de l'agent. Voici un exemple de contenu possible pour le fichier de mots de passe:

	utilisateur1	motdepasse1
	utilisateur2	motdepasse1

On associe simplement les utilisateurs à leurs mots de passe.

Un fichier pour les accès

Le fichier gérant les droits d'accès des utilisateurs est lui aussi très concis. Nous allons associer chaque utilisateur à son droit d'accès. Il existe deux droits d'accès qui sont "readonly" et "readwrite".

	utilisateur1	readonly
	utilisateur2	readwrite

Le droit readonly permet à l'utilisateur de consulter les valeurs. Par exemple pour la classe MaClasse vu précédemment, l'utilisateur pourra voir les opérations disponibles pour la ressource, c'est à dire getValue et setValue. Cependant, il ne pourra pas utiliser setValue pour modifier la valeur de l'attribut, cela lui donnera le message suivant :

Accès refusé

Le droit readwrite permet, quant à lui, d'avoir un contrôle total sur le serveur JMX.