www.fjd.de

Forum der FJD Information Technologies AG
Aktuelle Zeit: Sa 16 Nov, 2019 22:10

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: Mi 07 Mär, 2007 18:34 
Absicherung des JBoss –Applicationserver (Version 4.x)

Für diese Dokumentation wurde die „Default“-Konfiguration des JBoss verwendet. Diese findet man nach der Installation des JBoss unter:
„JBOSS_HOME/server/default”. Die Pfade in dieser Dokumentation sind, wenn nicht anderst angegeben, immer relativ zu diesem Verzeichnis.

Folgende Schritte sollten vor der Inbetriebnahme des JBoss Applicationserver (Version 4.x) in den Prokuktivbetrieb angepasst werden :

    Die Management-Konsolen absichern (JMX-Konsole, Web-Konsole)
    Die Invoker absichern oder entfernen (JMX-Invoker, http-Invoker, JMS-Invoker)
    Den Class-Download-Service entfernen
    JBoss Startseite durch eine eigene Startseite ersetzen





Die Management-Konsolen absichern (JMX-Konsole, Web-Konsole)

Vollständige Entfernung der Management-Konsolen
Über die Management-Konsolen ist es möglich den JBoss über das Web zu steuern. Falls die Managment-Konsolen nicht eingesetzt werden, bzw. nicht eingesetzt werden sollen, können diese auch vollständig entfernt werden. Somit muss man sich keine Gedanken über deren Absicherung durch nichtgewollte Zugriffe machen. Eine vollständige Entfernung der Dienste ist sehr einfach und erreicht man durch das Löschen der Dateien:
„/deploy/jmx-console.war“ (JMX-Konsole) und „/deploy/management“ (Web-Konsole). Nach einem Neustart des JBoss stehen die Dienste nicht mehr zur Verfügung.

Schutz der Management-Konsolen durch User-Authentifizierung
Sollen bei der Administration des JBoss die Management-Konsolen zum Einsatz kommen, ist die Aktivierung der User-Authentifizierung notwendig. Um die Aktivierung des Zugriffsschutz zu vereinfachen, wird der JBoss mit vorkonfigurierten Sicherheitsdeklarationen ausgeliefert, die nur noch aktiviert werden müssen.


Einrichten des Zugriffsschutzes der JMX-Konsole

Wechseln Sie in das Verzeichnis „/jmx-console.war/WEB-INF“ und öffnen Sie die Datei „web.xml“. Innerhalb dieser Datei befindet sich ein auskommentierter Security-Constraint, der ungefähr folgende Struktur besitzt:

<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>An example security config that only allows users with the
role JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>

Dieser Security-Constraint beschränkt die gesamte JMX-Konsole auf Benutzer mit der Rolle JBossAdmin. Für die Aktivierung des Security-Constraints müssen die Kommentarzeichen entfernt werden, die den Constraint einrahmen.

Als nächstes muss der Kontext der JMX-Konsole mit einer Security-Domain verknüpft werden. Dies geschieht, indem die Datei „/jmx-console.war/WEB-INF/jboss-web.xml“ um den Eintrag „<security-domain>java:/jaas/jmx-console</security-domain>“ erweitert wird (Neu hinzufügen oder Kommentarzeichen entfernen). Diese Security-Domain ist in der Standardauslieferung schon enthalten und ist zu finden unter: “/conf/login-config.xml“ und ist definiert in dem Bereich:

<application-policy name = "jmx-console">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
flag = "required">
<module-option name="usersProperties">props/jmx-console-users.properties</module-option>
<module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>
</login-module>
</authentication>
</application-policy>

Falls dieser Bereich auskommentiert ist, müssen die Kommentarzeichen entfernt werden um diese Security-Domain zu aktivieren. In diesem Bereich ist definiert, das die Benutzerrolleninformationen in der Datei „props/jmx-console-roles.properties“ und die Benutzerlogindaten in der Datei „props/jmx-console-users.properties“ hinterlegt sind. In dem Verzeichnis „/conf/props” sollten somit die Dateien “jmx-console-users.properties“ und „jmx-console-roles.properties“ vorhanden sein und folgenden Inhalt haben:

Inhalt der Datei jmx-console-users.properties :
admin=test

Inhalt der Datei jmx-console-roles.properties :
admin=JBossAdmin

Sollten diese Dateien nicht vorhanden sein, legen Sie diese einfach an und kopieren den jeweiligen Inhalt hinein.
Durch den Eintrag „admin=test“ in der Datei „jmx-console-users.properties“ wird definiert, dass es einen User „admin“ mit dem Passwort „test“ gibt.
Durch den Eintrag „admin=JBossAdmin“ in der Datei „jmx-console-roles.properties“ wird definiert, dass es einen User „admin“ mit der Benutzerrolle „JBossAdmin“ gibt.

Nachdem Sie in diesen beiden Dateien Ihr eigenes Passwort und/oder Ihren eigenen User definiert haben, ist der Zugriffsschutz für die JMX-Konsole fertig konfiguriert. Starten Sie den JBoss neu um die Änderungen zu übernehmen. Die JMX-Konsole sollte nun nur noch nach Eingabe eines gültigen Benutzers starten.


Einrichten des Zugriffsschutzes für die Web-Konsole
Um den Zugriffsschutz für die Web-Konsole zu konfigurieren, kann eine eigene Security-Domain eingerichtet werden. Da jedoch meist die gleichen User, die auf die JMX-Konsole zugreifen dürfen auch auf die Web-Konsole zugreifen dürfen, ist der einfachere Weg die Web-Konsole mit der Security-Domain der JMX-Konsole zu verknüpfen.

Wechseln Sie in das Verzeichnis „/deploy/management/console-mgr.sar/web-console.war/WEB-INF“ und öffnen Sie die Datei „web.xml“. Entfernen Sie die Kommentarzeichen die den Security-Constraint einrahmen um diesen zu aktivieren. Wechseln Sie in dem gleichen Verzeichnis in die Datei „jboss-web.xml“ und erweitern diese um den Eintrag „<security-domain>java:/jaas/jmx-console</security-domain>“ (Neu Eintragen oder Kommentarzeichen entfernen). Durch die Angabe „jmx-console“ wird nun die Web-Konsole mit der Security-Domain verknüpft die schon bei der JMX-Konsole hinterlegt wurde und diese mündet ja bekanntlich in den beiden Dateien für die Konfiguration der Benutzerrolle und der Benutzer.

Starten Sie den JBoss neu um die Änderungen zu übernehmen. Die JMX-Konsole sollte nun nur noch nach Eingabe eines gültigen Benutzers starten.




Die Invoker sichern, entfernen (JMX-Invoker, http-Invoker, JMS-Invoker)

Der JBoss besitzt mehrere Invoker (JMS, http, JMX). Ein Invoker ist ein JBoss Service der Anfragen von externen Clients entgegennimmt, die dann vom Server auszuführen sind (z.B. Shutdown).

Den JMX-Invoker sichern
Öffnen Sie die Datei „deploy/jmx-invoker-service.xml“ und aktivieren Sie den Bereich:

<descriptors>
<interceptors>
<interceptor code="org.jboss.jmx.connector.invoker.AuthenticationInterceptor"
securityDomain="java:/jaas/jmx-console"/>
</interceptors>
</descriptors>


Starten Sie den JBoss neu. Wird in einer Shell

[jboss/bin]$ ./shutdown.sh –S

eingegeben, sollte dies nun in einer Fehlermeldung münden. Erst nach Erweiterung des Aufrufs um Benutzer und Passwort sollte das Ausführen des Befehls möglich sein:

[jboss/bin]$ ./shutdown.sh –S –u admin –p test

(Bitte verwenden Sie Ihren Benutzernamen und Ihr Passwort beim Testen)


Entfernen des http-Invokers
Das Entfernen des http-Invokers ist sehr einfach. Entfernen Sie das Verzeichnis „http-invoker.sar“ in dem „deploy“-Verzeichnis. Nach einem Neustart des JBoss sind alle http-Invoker entfernt.



Entfernen des JMS-Invoker
Das Entfernen des JMS-Invokers ist sehr einfach. Entfernen Sie das Verzeichnis „jms“ in dem „deploy“-Verzeichnis. Nach einem Neustart des JBoss sind alle JMS-Invoker entfernt.



Den Class-Download-Service entfernen
Um den Class-Download-Service zu entfernen, öffnen Sie die Datei „/conf/jboss-service.xml“ und löschen, oder deaktivieren den Bereich:

<!-- ==================================================================== -->
<!-- Class Loading -->
<!-- ====================================================================

<mbean code="org.jboss.web.WebService"
name="jboss:service=WebService">
<attribute name="Port">8083</attribute>
<!-- Should resources and non-EJB classes be downloadable -->
<attribute name="DownloadServerClasses">true</attribute>
<attribute name="Host">${jboss.bind.address}</attribute>
<attribute name="BindAddress">${jboss.bind.address}</attribute>
</mbean>


Starten Sie den JBoss neu.


    Nach oben
      
     
    Beiträge der letzten Zeit anzeigen:  Sortiere nach  
    Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

    Alle Zeiten sind UTC + 1 Stunde


    Wer ist online?

    Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


    Sie dürfen keine neuen Themen in diesem Forum erstellen.
    Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
    Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
    Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
    Sie dürfen keine Dateianhänge in diesem Forum erstellen.

    Suche nach:
    Gehe zu:  
    cron
    Powered by phpBB® Forum Software © phpBB Group Color scheme by ColorizeIt!
    Deutsche Übersetzung durch phpBB.de