2014-02-19 5 views
7

Ich habe einen Kunden, der nach der Unterzeichnung von Tomcat-Komponenten sowie nach den verschiedenen Gläsern in unserer Anwendung gefragt hat. Im Grunde wollen sie verhindern, dass jemand einfach eine JAR-Datei eingibt, Tomcat neu startet und ein Sicherheitsproblem erzeugt.Kann Tomcat so konfiguriert werden, dass nur signierte Gläser geladen werden

Meine Frage ist, kann Tomcat so konfiguriert werden, dass, wenn es JAR-Dateien lädt es überprüft, dass sie von einem bestimmten Zertifikat signiert wurden und wenn Tomcat nicht zu starten verhindert?

+0

Sehr interessante Frage. Wahrscheinlich sind alle Gläser von Tomcat selbst jedoch noch nicht signiert. – Gimby

+0

Nicht möglich, aber Sie sollten das Verzeichnis wahrscheinlich sperren und nur bestimmten Benutzern den Zugriff erlauben. – Brian

Antwort

2

Tomcat selbst bietet diese Funktionalität nicht. Als Workaround können Sie jedoch mit Ihrem Client arbeiten, um einen DMZ-Server oder einen Speicherort auf dem Server zu haben, auf dem Sie Dateien ablegen können. Dann können sie einen Job Scheduler ein Batch-Skript (auf Windows) oder Shell-Skript (auf Linux/Unix-Plattform) ausführen, um die neu angekommenen Dateien/JAR-Dateien mit dem Jarsigner-Tool zu überprüfen. Wenn die Dateien den Test bestehen, können sie in das Deploy-Verzeichnis von Tomcat verschoben werden. Andernfalls sollte eine E-Mail an den Server gesendet werden, der diese nicht signierte Datei verwaltet.

Beispiel Befehl:

jarsigner -verify jar-file 

http://docs.oracle.com/javase/tutorial/deployment/jar/verify.html

0

Sie könnten Tomcat's security manager aktivieren und die Regeln in der Policy-Datei bearbeiten, um nur signierten Code anzuwenden. Zum Beispiel:

grant signedBy "yourClient", codeBase "file:${catalina.home}/webapps/someJar.jar" { 
    permission java.security.AllPermission; 
}; 

Dies auch in einen Ordner angewendet werden kann und alle Inhalte finden Policy File Syntax.

Verwandte Themen