Groovy Scripts im ApplicationServer absichern

urbiwanus

Mitglied
Hallo zusammen,

In meiner JEE 6 Anwendung ist es möglich, dass der Anwender ( aktuell nur Admins) an bestimmten stellen Groovy Skripte eingeben und ausführen kann.

In der neuen Version möchte ich den Kreis der Anwender erweitern. Daher suche ich eine Möglichkeit bestimme Befehle z.B System.exit(0) zu sperren.

Die Applikation wird derzeit auf Glassfish 3.1 deployed.


Gibt es eine Möglichkeit (z.B policy Datei) um bestimmte Befehle zu sperren bzw. nur ein Set an Befehlen zuzulassen oder muss ich das selbst in meine Anwendung integrieren ?


Grüße
 

urbiwanus

Mitglied
Hi

Danke für die Infos

leider bekomm ich es nicht richtig zum laufen

in meiner server.policy hab ich folgenden Eintrag hinzugefügt

Code:
grant codeBase "file:/restrictedScript" {

};

Mein Java Code sieht so aus:

Java:
try {
            GroovyCodeSource groovyCodeSource = new GroovyCodeSource(groovyScript, "UntrustedScript", "/restrictedScript");
            result = shell.evaluate(groovyCodeSource);
        }
        catch (Exception ex) {
            java.util.logging.Logger.getLogger(GroovyService.class.getName()).log(Level.SEVERE, null, ex);
        }
        return result;

Leider scheint die policy nicht zu greifen (System.getenv(), exit(0) gehen immer noch)
 

Ähnliche Java Themen

Neue Themen


Oben