7
votes

Comment désactiver toutes les connexions réseau dans Java sur Windows Server 2008

Y a-t-il un moyen d'exécuter Java VM ( Java.exe ) sur Windows Server 2008 et désactivez toutes les connexions réseau à l'aide d'un argument de ligne de commande ou d'une variable système?


3 commentaires

La solution doit être en mesure de désactiver le réseau par processus Java VM et doit être définie de l'extérieur du processus (ne pas avoir le processus désactiver son propre réseau).


Cela aurait pu être demandé un peu mieux ne pouvait-il pas.


Vous auriez dû dire cela en premier lieu. Vous avez été suffisamment longtemps utilisateur pour connaître l'importance de fournir des détails pertinents lors de la poser des questions.


3 Réponses :


4
votes

Eh bien, je n'ai pas essayé que, théoriquement, vous pourriez définir les propriétés du système pour les chaussettes proxy à une autre et selon la documentation, toutes les prises TCP seront essayées à travers le proxy de chaussettes - et échouer.

Quelque chose comme ceci: xxx


2 commentaires

Je pourrais définir un proxy factice et avoir échoué, mais je préférerais pouvoir dire Java "Vous ne pouvez pas utiliser le réseau".


Oui, cela fonctionne. C'est un peu un hack sale, mais pour des tests rapides, il est plus facile de configurer que la configuration d'un gestionnaire de sécurité, qui limitera par défaut de nombreuses autres choses à côté de l'accès au réseau.



10
votes

Vous pouvez le faire en activant le gestionnaire de sécurité Java par défaut. Par défaut, aucune sécurité n'est appliquée pour que vous soyez autorisé à faire quoi que ce soit, mais si le gestionnaire de sécurité est activé, il limitera l'accès au réseau, l'accès au fichier et la totalité d'autres choses que si vous spécifiez contraire dans le fichier de stratégie de sécurité.

Pour activer la valeur par défaut Security Manager passe cet argument à JVM au début. P>

java -Djava.security.manager=default my.main.Class


0 commentaires

5
votes

J'ai eu la même tâche pour tester le programme d'installation hors ligne pour notre produit. Tout ce qui précède est presque correct, mais la création de fichier .policy n'est pas facile pour la première fois. Voici ce que j'ai fait:

  1. fichier politique générique craintif qui n'a aucune autorisation de résoudre les noms d'hôte (voir le snippet de code ci-dessous);

  2. ajouté -djava.security.manager -djava.security.policy = patho / stratégie.file dans les paramètres JVM;

    Contenu de fichier .policy générique: xxx

    Si quelque chose tente d'obtenir du contenu à l'extérieur pendant le test, il échoue avec une exception de sécurité. < / p>


0 commentaires