Bonjour à toute la communauté !
Je tourne vers vous car je souhaiterais avoir des éclaircissements au niveau de la sécurisation d'applets JAVA.
Pour vous situer dans le contexte je suis jeune développeur Web qui se passionne pour la sécurité, d'où ma présence sur ce site depuis quelques mois

En revanche mes connaissances en JAVA sont réellement limitées !
Je travaille depuis peu avec des gens qui prennent plaisir à coller des applets JAVA un peu partout dans leurs services web...
Cependant en suivant les tutoriels présent sur le web, et notamment ici, j'ai montré à mes collègues qu'il était aisément possible de télécharger leurs applets (fichiers *.jar) en saisissant l'url directement dans le navigateur...
Ces mêmes applets son "auto signés" (certificat auto généré) mais apparemment cela n'empêche en rien la décompilation via un petit soft comme JAD...
J'ai donc découvert en fouillant les codes sources décompilés que ces mêmes applets contenaient des accès FTP (login et mdp) !
Vous imaginez donc mon problème et celui de mes collègues : n'importe qui aurait pu télécharger les applets, les décompiler et accéder à certains FTP !
J'ai imaginé plusieurs scénarios pour tenter de pallier à ce problème :
- Protéger le répertoire contenant les applets avec un .htaccess et .htpasswd correctement construit de façon à empêcher leur téléchargement par n'importe qui.
Mais comment faire pour que les applets continuent de fonctionner dans le site web ? A ma connaissance seul un script php peut accéder à un répertoire protéger par .htaccess, or plusieurs de nos sites web appellent ces applets en AJAX...
Nos services étant en HTTPS le passage des paramètres par le script php pour accéder au .htaccess ne devrait pas être compromis...
- Laisser "libre accès" à nos applets mais modifier celle ci afin qu'elle ne contiennent par directement les comptes FTP :
L'applet accéderais à un répertoire protéger par .htaccess et .htpasswd, ce répertoire contiendrait des fichiers (*.txt ou autres ?) qui eux mêmes contiendrait les login et mdp FTP...
Là encore nous sommes en HTTPS, donc a priori lorsque l'applet accède au répertoire protégé le mot de passe n'est pas espionnable ?
- Combiner les deux ?
Est-ce réellement utile ?
- Un autre moyen ?
A ma connaissance il n'est pas possible d'empêcher de décompiler du code JAVA, la protection doit se faire donc ailleurs : empêcher de télécharger l'applet JAVA ou s'arranger pour qu'elle ne contiennent rien de compromettant me semble être les deux seules issues...
Bien entendu toutes les réponses et remarques concernant mon problème sont les bienvenues !