Härten Ihrer AEM Forms on JEE-Umgebung

Erfahren Sie mehr über die verschiedenen Sicherheitseinstellungen, um die Sicherheit von AEM Forms on JEE in einem Corporate Intranet zu verbessern.

In diesem Abschnitt werden empfohlene Vorgehensweisen und Richtlinien für das Sichern von Servern beschrieben, auf denen AEM Forms on JEE ausgeführt wird. Dieses Dokument stellt keine umfassende Anleitung zum Härten (Absichern) des Hosts für das Betriebssystem und die Anwendungsserver dar. Stattdessen werden in diesem Artikel eine Reihe von Einstellungen für die Sicherheitshärtung beschrieben, die Sie implementieren sollten, um die Sicherheit von AEM Forms on JEE zu verbessern, die in einem firmeninternen Intranet ausgeführt wird. Um sicherzustellen, dass die AEM Forms on JEE-Anwendungsserver sicher bleiben, sollten Sie jedoch auch Verfahren für die Sicherheitsüberwachung, Problemerkennung und -behandlung implementieren.

In diesem Artikel werden Härtungsverfahren beschrieben, die in den folgenden Phasen des Installations- und Konfigurationszyklus durchgeführt werden sollten:

  • Vor der Installation: Verwenden Sie diese Verfahren, bevor Sie AEM Forms on JEE installieren.
  • Installation: Verwenden Sie diese Verfahren während des Installationsprozesses von AEM Forms on JEE.
  • Nach der Installation: Verwenden Sie diese Verfahren nach der Installation in regelmäßigen Abständen.

AEM Forms on JEE kann in hohem Maß angepasst und in vielen verschiedenen Umgebungen eingesetzt werden. Einige der Empfehlungen entsprechen eventuell nicht den Anforderungen Ihrer Organisation.

Härtungsverfahren vor der Installation

Vor der Installation von AEM Forms on JEE können Sie Sicherheitslösungen auf die Netzwerkschicht und das Betriebssystem anwenden. In diesem Abschnitt finden Sie Beschreibungen zu einigen Sicherheitslücken sowie Empfehlungen dazu, wie Sie die Lücken in diesen Bereichen schließen können.

Installation und Konfiguration unter UNIX und Linux

Sie sollten AEM Forms on JEE nicht unter Verwendung einer Root Shell installieren oder konfigurieren. Standardmäßig werden alle Dateien im Ordner „/opt“ installiert. Der Benutzer, der die Installation durchführt, benötigt daher sämtliche Dateiberechtigungen für den Ordner „/opt“. Alternativ kann die Installation auch im Ordner „/user“ eines Einzelbenutzers durchgeführt werden, für das der Benutzer bereits über sämtliche Dateiberechtigungen verfügt.

Installation und Konfiguration unter Windows

Sie müssen die Installation unter Windows als Administrator durchführen, wenn Sie AEM Forms on JEE mit der Turnkey-Methode oder PDF Generator installieren. Wenn Sie PDF Generator unter Windows mit der Unterstützung nativer Anwendungen installieren, müssen Sie die Installation außerdem als der Windows-Benutzer durchführen, der Microsoft Office installiert hat. Weitere Informationen zu Installationsberechtigungen finden Sie im Dokument* Installieren und Bereitstellen von AEM Forms on JEE* für Ihren Anwendungsserver.

Sicherheit der Netzwerkschicht

Sicherheitslücken der Netzwerkschicht gehören zu den Hauptbedrohungen für Internet- oder Intranet-orientierte Anwendungsserver. In diesem Abschnitt wird der Prozess zum Absichern von Hostrechnern im Netzwerk gegen diese Schwachstellen beschrieben. Zu den behandelten Themen gehören die Netzwerksegmentierung, das Absichern des TCP/IP-Stacks (Transmission Control Protocol/Internet Protocol) und die Verwendung von Firewalls für den Hostschutz.

In der folgenden Tabelle werden gängige Prozesse beschrieben, die Schwachstellen der Netzwerksicherheit reduzieren.

Problem

Beschreibung

Demilitarisierte Zonen (DMZs)

Stellen Sie Formularserver innerhalb einer demilitarisierten Zone (DMZ) bereit. Die Segmentierung sollte in mindestens zwei Schichten bestehen, wobei sich der Anwendungsserver, auf dem AEM Forms on JEE ausgeführt wird, hinter der inneren Firewall befindet. Schirmen Sie das externe Netzwerk von der DMZ ab, die die Webserver enthält, und schirmen Sie die DMZ wiederum vom internen Netzwerk ab. Verwenden Sie Firewalls für die Implementierung der Abschirmungsebenen. Kategorisieren und Überwachen Sie den Netzwerkverkehr innerhalb der einzelnen Netzwerkschichten, um sicherzustellen, dass nur das absolute Minimum an erforderlichen Daten zulässig ist.

Private IP-Adressen

Verwenden Sie NAT (Network Address Translation) mit privaten IP-Adressen nach RFC 1918 auf dem AEM Forms-Anwendungsserver. Weisen Sie private IP-Adressen (10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16) zu, damit es für einen Angreifer schwieriger wird, Traffic über das Internet zu und von einem internen NAT'd-Host zu leiten.

Firewalls

Nutzen Sie die folgenden Kriterien für die Auswahl einer Firewall-Lösung:

  • Implementieren Sie Firewalls, die Proxy-Server und/oder die statusbehaftete Inspektion anstelle einfacher Paketfilterlösungen unterstützen.

  • Verwenden Sie eine Firewall, die ein alle Dienste mit Ausnahme der explizit zulässigen Sicherheitsparameter unterstützt.

  • Implementieren Sie eine Dual-Homed- oder Multi-Homed-Firewall-Lösung. Diese Architektur bietet das größte Maß an Sicherheit und trägt dazu bei, ein Umgehen des Firewall-Schutzes durch nicht berechtigte Benutzer zu verhindern.

Datenbankanschlüsse

Verwenden Sie keine standardmäßigen Listening-Anschlüsse für Datenbanken (MySQL - 3306, Oracle - 1521, MS SQL - 1433). Informationen zum Ändern von Datenbankanschlüssen finden Sie in der Datenbankdokumentation.

Die Verwendung eines anderen Datenbankports wirkt sich auf die AEM Forms on JEE-Gesamtkonfiguration aus. Wenn Sie die Standardports ändern, müssen Sie auch in anderen Bereichen der Konfiguration entsprechende Änderungen durchführen, z. B. bei den Datenquellen für AEM Forms on JEE.

Weitere Informationen zum Konfigurieren von Datenquellen in AEM Forms on JEE finden Sie unter "AEM Forms auf JEE installieren und aktualisieren"oder "Auf AEM Forms auf JEE aktualisieren"für Ihren Anwendungsserver im AEM Forms-Benutzerhandbuch.

Betriebssystemsicherheit

In der folgenden Tabelle werden mögliche Ansätze zum Verringern von Sicherheitslücken im Betriebssystem beschrieben.

Problem

Beschreibung

Sicherheits-Patches

Wenn vom Hersteller bereitgestellte Sicherheits-Patches und -Aktualisierungen nicht zeitnah installiert werden, besteht ein erhöhtes Risiko, dass nicht autorisierte Benutzer Zugriff auf den Anwendungsserver erlangen. Testen Sie Sicherheits-Patches, bevor Sie sie auf Produktionsserver anwenden.

Erstellen Sie zudem Richtlinien und Prozeduren, damit Patches regelmäßig gesucht und installiert werden.

Virenschutzsoftware

Virenscanner können infizierte Dateien erkennen, indem sie nach einer Signatur suchen oder ungewöhnliches Verhalten ermitteln. Virenscanner speichern die Virussignaturen in einer Datei, die in der Regel auf der lokalen Festplatte abgelegt wird. Da häufig neue Viren entdeckt werden, sollten Sie diese Datei häufig aktualisieren, damit der Virenscanner alle aktuellen Viren erkennt.

NTP (Network Time Protocol)

Für die forensische Analyse ist erforderlich, dass die Uhrzeit auf den Formularservern exakt ist. Verwenden Sie NTP, um die Uhrzeit auf allen Systemen zu synchronisieren, die direkt mit dem Internet verbunden sind.

Weitere Sicherheitsinformationen für Ihr Betriebssystem finden Sie unter "Informationen zur Betriebssystemsicherheit".

Installation

In diesem Abschnitt werden Verfahren beschrieben, die Sie während des AEM Forms-Installationsprozesses verwenden können, um Sicherheitslücken zu schließen. In einigen Fällen nutzen diese Verfahren Optionen, die Teil des Installationsprozesses sind. Diese Verfahren werden in der folgenden Tabelle beschrieben.

Problem

Beschreibung

Berechtigungen

Verwenden Sie die geringste Anzahl von Berechtigungen, die zur Installation der Software erforderlich sind. Melden Sie sich über ein Benutzerkonto, das nicht zur Gruppe „Administratoren“ gehört, bei Ihrem Computer an. Unter Windows können Sie den Befehl „Run As“ verwenden, um das AEM Forms on JEE-Installationsprogramm als Benutzer mit Administratorrechten auszuführen. Auf UNIX- und Linux-Systemen verwenden Sie einen Befehl wie sudo für die Installation der Software.

Ursprung der Software

Verwenden Sie zum Herunterladen oder Ausführen von AEM Forms on JEE nur vertrauenswürdige Quellen.

Bösartige Programme können Code enthalten, der die Sicherheit auf verschiedene Weise verletzt, etwa durch Diebstahl, Ändern und Löschen von Daten sowie Dienstblockade (Denial of Service = DoS). Installieren Sie AEM Forms on JEE ausschließlich von der Adobe-DVD oder einer vertrauenswürdigen Quelle.

Festplattenpartitionen

Platzieren Sie AEM Forms on JEE auf einer dedizierten Festplattenpartition. Die Festplattenaufteilung ist ein Prozess, bei dem bestimmte Daten auf dem Server auf separaten physischen Festplatten verwaltet werden, um die Sicherheit zu erhöhen. Durch eine solche Datenanordnung lässt sich das Risiko von Directory Traversal-Angriffen verringern. Planen Sie die Erstellung einer von der Systempartition getrennten Partition, auf der Sie das AEM Forms on JEE-Inhaltsverzeichnis installieren können. (Unter Windows enthält die Systempartition den Ordner „system32“, das auch als Boot-Partition bezeichnet wird.)

Komponenten

Prüfen Sie die vorhandenen Dienste und deaktivieren oder deinstallieren Sie nicht erforderliche Dienste. Installieren Sie keine unnötigen Komponenten und Dienste.

Die Standardinstallation eines Anwendungsservers kann Dienste beinhalten, die Sie nicht benötigen. Sie sollten alle unnötigen Dienste vor der Bereitstellung deaktivieren, um die Einstiegspunkte für Angriffe zu minimieren. Unter JBoss können Sie beispielsweise nicht benötigte Dienste in der Deskriptordatei „META-INF/jboss-service.xml“ durch das Einfügen von Kommentarzeichen deaktivieren.

Domänenübergreifende Richtliniendatei

Das Vorhandensein einer Dateicrossdomain.xml auf dem Server kann diesen Server unmittelbar schwächen. Es wird empfohlen, die Liste der Domänen so weit wie möglich einzuschränken. Platzieren Sie die während der Entwicklungsphase verwendete crossdomain.xml-Datei nicht in der Produktionsumgebung, wenn Sie Guides verwenden (nicht mehr unterstützt). Bei einem Guide, der Webdienste verwendet, wird keine crossdomain.xml-Datei benötigt, wenn sich der Dienst auf demselben Server befindet wie der Server, der den Guide zur Verfügung gestellt hat. Wenn es sich jedoch um einen anderen Dienst handelt oder wenn Cluster betroffen sind, muss eine crossdomain.xml-Datei vorhanden sein. Weitere Informationen zur Datei "crossdomain.xml"finden Sie unter https://kb2.adobe.com/cps/142/tn_14213.html.

Sicherheitseinstellungen des Betriebssystems

Wenn Sie eine 192-Bit- oder 256-Bit-XML-Verschlüsselung auf Solaris-Plattformen verwenden müssen, stellen Sie sicher, dass Sie pkcs11_softtoken_extra.so anstelle von pkcs11_softtoken.so installieren.

Schritte nach der Installation

Nachdem Sie AEM Forms on JEE erfolgreich installiert haben, sollten Sie die Sicherheitseinrichtungen der Umgebung unbedingt in regelmäßigen Abständen warten.

Im folgenden Abschnitt werden die verschiedenen Aufgaben, die zum Schützen des bereitgestellten Formularservers empfohlen werden, detailliert beschrieben.

AEM Forms-Sicherheit

Die folgenden empfohlenen Einstellungen gelten für den AEM Forms on JEE-Server außerhalb der Verwaltungs-Webanwendung. Um die Sicherheitsrisiken für den Server zu verringern, wenden Sie diese Einstellungen unmittelbar nach der AEM Forms on JEE an.

Sicherheits-Patches

Wenn vom Hersteller bereitgestellte Sicherheits-Patches und -Aktualisierungen nicht zeitnah installiert werden, besteht ein erhöhtes Risiko, dass nicht autorisierte Benutzer Zugriff auf den Anwendungsserver erlangen. Testen Sie Sicherheits-Patches, bevor Sie sie auf Produktionsserver anwenden, um die Kompatibilität und Verfügbarkeit von -Anwendungen sicherzustellen. Erstellen Sie zudem Richtlinien und Prozeduren, damit Patches regelmäßig gesucht und installiert werden. AEM Forms on JEE-Updates sind auf der Downloadsite für Enterprise-Produkte verfügbar.

Dienstkonten (nur JBoss-Turnkey unter Windows)

AEM Forms on JEE installiert einen Dienst standardmäßig unter Verwendung des LocalSystem-Kontos. Das integrierte Benutzerkonto „Lokales System“ hat hohe Zugriffsrechte; es gehört zur Gruppe „Administratoren“. Wenn eine Worker Process-ID als das Benutzerkonto „Lokales System“ ausgeführt wird, hat dieser Worker Process vollen Zugriff auf das gesamte System.

Um den Anwendungsserver, auf dem AEM Forms on JEE bereitgestellt wird, mit einem bestimmten Konto ohne Administratorrechte auszuführen, führen Sie die folgenden Anweisungen aus:

  1. Erstellen Sie in der Microsoft Management Console (MMC) einen lokalen Benutzer für den Formularserverdienst, der für die Anmeldung verwendet werden soll:

    • Wählen Sie Benutzer kann Kennwort nicht ändern aus.
    • Stellen Sie sicher, dass auf der Registerkarte Mitglied von die Gruppe Benutzer aufgelistet wird.
    HINWEIS

    Sie können diesen Wert für PDF Generator nicht ändern.

  2. Wählen Sie Start > Einstellungen > Verwaltung > Dienste aus.

  3. Doppelklicken Sie auf „JBoss für AEM Forms on JEE und beenden Sie den Dienst.

  4. Wählen Sie auf der Registerkarte Anmelden die Option Dieses Konto aus, suchen Sie das Benutzerkonto, das Sie erstellt haben, und geben Sie das Kennwort für das Konto ein.

  5. Öffnen Sie in MMC die Lokale Sicherheitseinstellungen und wählen Sie Lokale Richtlinien > Zuweisen von Benutzerrechten aus.

  6. Weisen Sie dem Benutzerkonto, unter dem der Formularserver ausgeführt wird, die folgenden Rechte zu:

    • Anmeldung über Terminaldienste verweigern
    • Lokale Anmeldung verweigern
    • Als Dienst anmelden (sollte bereits festgelegt sein)
  7. Weisen Sie dem neuen Benutzerkonto die folgenden Berechtigungen zu:

    • Ordner der globalen Dokument-Datenspeicherung: Der Speicherort des Ordners des globalen Dokumentenspeichers wird während des AEM Forms-Installationsprozesses manuell konfiguriert. Wenn die Speicherorteinstellung während der Installation leer bleibt, wird als Speicherort standardmäßig ein Ordner unter der Anwendungsserverinstallation unter [JBoss root]/server/[type]/svcnative/DocumentStorage verwendet
    • CRX-Repository-Ordner: Der Standardspeicherort ist [AEM-Forms-installation-location]\crx-repository
    • AEM Forms-temporäre Ordner:
      • (Windows) TMP oder TEMP gemäß Einstellung in den Umgebungsvariablen
      • (AIX, Linux oder Solaris) Basisordner des angemeldeten Benutzers
        Benutzer, die bei UNIX-basierten Systemen nicht als Root-Benutzer angemeldet sind, können den folgenden Ordner als temporären Ordner verwenden:
      • (Linux) /var/tmp oder /usr/tmp
      • (AIX) /tmp oder /usr/tmp
      • (Solaris) /var/tmp oder /usr/tmp
  8. Weisen Sie dem neuen Benutzerkonto Schreibberechtigungen für die folgenden Ordner zu:

    • [JBoss-directory]\standalone\deployment
    • [JBoss-directory]\standalone\
    • [JBoss-directory]\bin\
    HINWEIS

    Der Standardspeicherort für die Installation von JBoss Application Server:

    • Windows: C:\Adobe\Adobe_Experience_Manager_Forms\jboss
    • Linux: /opt/jboss/
  9. Starten Sie den Anwendungsserver.

Bootstrap-Servlet von Configuration Manager deaktivieren

Configuration Manager verwendete ein auf Ihrem Anwendungsserver bereitgestelltes Servlet, um das Bootstrapping der AEM Forms on JEE-Datenbank durchzuführen. Da Configuration Manager vor Abschluss der Konfiguration auf dieses Servlet zugreift, wurde der Zugriff darauf für autorisierte Benutzer noch nicht gesichert, weshalb das Servlet deaktiviert werden sollte, nachdem Sie Configuration Manager erfolgreich für die Konfiguration von AEM Forms on JEE verwendet haben.

  1. Dekomprimieren Sie die Datei "adobe-livecycle-[appserver].ear".

  2. Öffnen Sie die Datei „META-INF/application.xml“.

  3. Suchen Sie den Abschnitt „adobe-bootstrapper.war“:

    <!-- bootstrapper start --> 
    <module id="WebApp_adobe_bootstrapper"> 
        <web> 
            <web-uri>adobe-bootstrapper.war</web-uri> 
            <context-root>/adobe-bootstrapper</context-root> 
        </web> 
    </module> 
    <module id="WebApp_adobe_lcm_bootstrapper_redirector"> 
        <web> 
            <web-uri>adobe-lcm-bootstrapper-redirector.war</web-uri> 
            <context-root>/adobe-lcm-bootstrapper</context-root> 
        </web> 
    </module> 
    <!-- bootstrapper end-->
    
  4. Beenden Sie den AEM-Server.

  5. Deaktivieren Sie die Module „adobe-bootstrapper.war“ und „adobe-lcm-bootstrapper-redirector.war“ wie folgt durch Kommentarzeichen:

    <!-- bootstrapper start --> 
    <!-- 
    <module id="WebApp_adobe_bootstrapper"> 
        <web> 
            <web-uri>adobe-bootstrapper.war</web-uri> 
            <context-root>/adobe-bootstrapper</context-root> 
        </web> 
    </module> 
    <module id="WebApp_adobe_lcm_bootstrapper_redirector"> 
        <web> 
            <web-uri>adobe-lcm-bootstrapper-redirector.war</web-uri> 
            <context-root>/adobe-lcm-bootstrapper</context-root> 
        </web> 
    </module> 
    --> 
    <!-- bootstrapper end-->
    
  6. Speichern und schließen Sie die Datei „META-INF/application.xml“.

  7. Komprimieren Sie die EAR-Datei und stellen Sie sie erneut auf dem Anwendungsserver bereit.

  8. Starten Sie den AEM Forms-Server.

  9. Geben Sie die folgende URL in einen Browser ein, um die Änderung zu testen und sicherzustellen, dass sie nicht mehr funktioniert.

    https://<localhost>:<port>/adobe-bootstrapper/bootstrap

Remote-Zugriff auf den Trust Store sperren

Configuration Manager ermöglicht Ihnen, eine Berechtigung für Acrobat Reader DC Extensions in den Trust Store von AEM Forms on JEE hochzuladen. Das bedeutet, dass der Zugriff auf den Trust Store-Berechtigungsdienst über Remote-Protokolle (SOAP und EJB) standardmäßig aktiviert wurde. Dieser Zugriff ist nicht mehr erforderlich, nachdem Sie die Berechtigung für Rechte mit Configuration Manager hochgeladen haben oder wenn Sie sich entscheiden, Berechtigungen später über Administration Console zu verwalten.

Sie können den Remote-Zugriff auf sämtliche Trust Store-Dienste deaktivieren, indem Sie die im Abschnitt Deaktivieren von nicht erforderlichem Remote-Zugriff auf Dienste beschriebenen Schritte durchführen.

Den gesamten, nicht erforderlichen anonymen Zugriff deaktivieren

Bei einigen Formularserverdiensten gibt es Vorgänge, die von einem anonymen Aufrufer aufgerufen werden können. Ist der anonyme Zugriff auf diese Dienste nicht erforderlich, deaktivieren Sie ihn gemäß den Schritten in Deaktivieren von nicht erforderlichem anonymem Zugriff auf Dienste.

Standardkennwort für das Administratorkonto ändern

Beim Installieren von AEM Forms on JEE wird ein Standardbenutzerkonto für den Benutzer „Superadministrator“ mit der Anmelde-ID „Administrator“ und dem Standardkennwort password erstellt. Sie sollten dieses Kennwort umgehend mithilfe von Configuration Manager ändern.

  1. Geben Sie in einem Webbrowser die folgende URL ein:

    https://[host name]:[port]/adminui
    

    Der Standardanschluss lautet wie folgt:

    JBoss: 8080

    WebLogic Server: 7001

    WebSphere: 9080.

  2. Geben Sie in das Feld Benutzername den Wert administrator und in das Feld Kennwort den Wert password ein.

  3. Klicken Sie auf Einstellungen > User Management > Benutzer und Gruppen.

  4. Geben Sie den Begriff administrator in das Feld Suchen ein und klicken Sie auf Suchen.

  5. Klicken Sie in der Liste der Benutzer auf Super Administrator.

  6. Klicken Sie auf der Seite „Benutzer bearbeiten“ auf Kennwort ändern.

  7. Geben Sie das neue Kennwort an und klicken Sie auf Speichern.

Außerdem wird empfohlen, das Standardkennwort für den CRX-Administrator zu ändern, indem Sie folgende Schritte durchführen:

  1. Melden Sie sich bei https://[server]:[port]/lc/libs/granite/security/content/useradmin.html mit dem standardmäßigen Benutzernamen/Kennwort an.
  2. Geben Sie „Administrator“ in das Suchfeld ein und klicken Sie auf Suchen.
  3. Wählen Sie Administrator aus dem Suchergebnis und klicken Sie auf das Symbol Bearbeiten unten rechts auf der Benutzeroberfläche.
  4. Geben Sie das neue Kennwort in das Feld Neues Kennwort und das alte Kennwort in das Feld Ihr Kennwort ein.
  5. Klicken Sie auf das Symbol Speichern unten rechts auf der Benutzeroberfläche.

WSDL-Generierung deaktivieren

Die WSDL-Generierung (Web Service Definition Language) sollte nur in Entwicklungsumgebungen aktiviert sein, in denen Entwickler mithilfe der WSDL-Generierung Clientanwendungen erstellen. In einer Produktionsumgebung können Sie die WSDL-Generierung deaktivieren, um zu verhindern, dass interne Details eines Dienstes preisgegeben werden.

  1. Geben Sie in einem Webbrowser die folgende URL ein:

    https://[host name]:[port]/adminui
    
  2. Klicken Sie auf Einstellungen > Core-Systemeinstellungen > Konfigurationen.

  3. Deaktivieren Sie WSDL aktivieren und klicken Sie auf OK.

Sicherheit des Anwendungsservers

In der folgenden Tabelle werden einige Verfahren zum Schützen des Anwendungsservers nach der Installation der AEM Forms on JEE-Anwendung beschrieben.

Problem

Beschreibung

Verwaltungskonsole des Anwendungsservers

Nach der Installation, Konfiguration und Bereitstellung von AEM Forms on JEE auf dem Anwendungsserver müssen Sie den Zugriff auf die Verwaltungskonsolen des Anwendungsservers deaktivieren. Detaillierte Informationen hierzu finden Sie in der Dokumentation zu Ihrem jeweiligen Anwendungsserver.

Cookie-Einstellungen des Anwendungsservers

Anwendungs-Cookies werden vom Anwendungsserver gesteuert. Beim Bereitstellen der Anwendung kann der Administrator des Anwendungsservers Cookie-Voreinstellungen serverweit oder anwendungsspezifisch festlegen. Standardmäßig haben die Servereinstellungen Vorrang.

Alle vom Anwendungsserver erstellten Sitzungs-Cookies müssen das HttpOnly-Attribut enthalten. Bei Verwendung von JBoss Application Server können Sie beispielsweise das Element SessionCookie in der Datei WEB-INF/web.xml in httpOnly="true" ändern.

Sie können festlegen, dass Cookies ausschließlich unter Verwendung von HTTPS gesendet werden. Dadurch wird verhindert, dass Cookies unverschlüsselt über HTTP gesendet werden. Anwendungsserveradministratoren sollten sichere Cookies für den Server global aktivieren. Bei Verwendung des JBoss-Anwendungsservers können Sie beispielsweise das Element „connector“ in der Datei secure=true in server.xml ändern.

Ausführlichere Informationen zu Cookie-Einstellungen finden Sie in der Dokumentation zum Anwendungsserver.

Directory Browsing

Wenn eine Person eine nicht vorhandene Seite oder den Namen eines Ordners anfordert (die Anforderungszeichenfolge endet in diesem Fall mit einem Schrägstrich (/)), sollte der Anwendungsserver den Inhalt dieses Ordners nicht zurückgeben. Damit dies nicht geschieht, können Sie das Directory Browsing auf Ihrem Anwendungsserver deaktivieren. Sie sollten dies für die Administration Console-Anwendung und andere auf dem Server laufende Anwendungen tun.

Für JBoss stellen Sie in der Datei „web.xml“ den Wert des Auflistungsinitialisierungsparameters der Eigenschaft DefaultServlet auf false ein, wie im folgenden Beispiel gezeigt wird:

<servlet>

<servlet-name>default</servlet-name>

<servlet-class>

org.apache.catalina.servlets.DefaultServlet

</servlet-class>

<init-param>

<param-name>listings</param-name>

<param-value>false</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

Für WebSphere stellen Sie in der Datei „ibm-web-ext.xml“ die Eigenschaft directoryBrowsingEnabled auf false ein.

Für WebLogic stellen Sie in der Datei „weblogic.xml“ die Eigenschaften zu „index-directories“ auf false ein, wie im folgenden Beispiel gezeigt:

<container-descriptor>

<index-directory-enabled>false

</index-directory-enabled>

</container-descriptor>

Datenbanksicherheit

Beim Schützen der Datenbank sollten Sie die vom Datenbankhersteller beschriebenen Sicherheitsmaßnahmen implementieren. Sie sollten einem Datenbankbenutzer die minimal für die Verwendung von AEM Forms on JEE erforderlichen Datenbankberechtigungen zuweisen. Verwenden Sie z. B. kein Konto mit Datenbankadministrator-Berechtigungen.

Unter Oracle benötigt das verwendete Datenbankkonto nur die Berechtigungen CONNECT, RESOURCE und CREATE VIEW. Informationen zu ähnlichen Anforderungen für andere Datenbanken erhalten Sie unter Vorbereiten der Installation von AEM Forms on JEE (Einzelserver).

Integrierte Sicherheit für SQL Server unter Windows für JBoss konfigurieren

  1. Ändern Sie [JBOSS_HOME]\standalone\configuration\lc_{datasource.xml}, um integratedSecurity=true zur Verbindungs-URL hinzuzufügen, wie im folgenden Beispiel gezeigt:

     jdbc:sqlserver://<serverhost>:<port>;databaseName=<dbname>;integratedSecurity=true
    
  2. Fügen Sie die Datei „sqljdbc_auth.dll“ zum Windows-Systempfad (C:\Windows) auf dem Computer hinzu, auf dem der Anwendungsserver ausgeführt wird. Die Datei „sqljdbc_auth.dll“ wird zusammen mit dem Microsoft SQL JDBC 6.2.1.0-Treiber installiert.

  3. Ändern Sie die Eigenschaft des JBoss Windows-Dienstes (JBoss for AEM Forms on JEE) für „Anmelden als“ von „Lokales System“ in ein Anmeldekonto mit einer AEM Forms-Datenbank und einem Mindestsatz von Berechtigungen. Wenn Sie JBoss von der Befehlszeile und nicht als Windows-Dienst ausführen, ist dieser Schritt nicht erforderlich.

  4. Ändern Sie die Sicherheitseinstellung von SQL Server von Gemischt in Nur Windows-Authentifizierung.

Integrierte Sicherheit für SQL Server unter Windows für WebLogic konfigurieren

  1. Beginn Sie WebLogic Server Administration Console, indem Sie die folgende URL in die Adresszeile eines Webbrowsers eingeben:

    https://[host name]:7001/console
    
  2. Klicken Sie unter „Change Center“ auf Lock & Edit.

  3. Klicken Sie unter "Domain Structure"auf [base_domain] > Services > JDBC > Data Sources und klicken Sie dann im rechten Bereich auf IDP_DS.

  4. Klicken Sie im nächsten Bildschirm auf die Registerkarte Configuration und dann auf die Registerkarte Connection Pool. Geben Sie in das Feld Properties den Eintrag integratedSecurity=true ein.

  5. Klicken Sie unter "Domain Structure"auf [base_domain] > Services > JDBC > Data Sources und klicken Sie dann im rechten Bereich auf RM_DS.

  6. Klicken Sie im nächsten Bildschirm auf die Registerkarte Configuration und dann auf die Registerkarte Connection Pool. Geben Sie in das Feld Properties den Eintrag integratedSecurity=true ein.

  7. Fügen Sie die Datei „sqljdbc_auth.dll“ zum Windows-Systempfad (C:\Windows) auf dem Computer hinzu, auf dem der Anwendungsserver ausgeführt wird. Die Datei „sqljdbc_auth.dll“ wird zusammen mit dem Microsoft SQL JDBC 6.2.1.0-Treiber installiert.

  8. Ändern Sie die Sicherheitseinstellung von SQL Server von Gemischt in Nur Windows-Authentifizierung.

Integrierte Sicherheit für SQL Server unter Windows für WebSphere konfigurieren

Unter WebSphere können Sie die integrierte Sicherheit nur konfigurieren, wenn Sie einen externen JDBC-Treiber für SQL Server und nicht den in WebSphere eingebetteten JDBC-Treiber für SQL Server verwenden.

  1. Melden Sie sich bei WebSphere Administrative Console an.
  2. Klicken Sie in der Navigationsstruktur auf Resources > JDBC > Data Sources und klicken Sie dann im rechten Bereich auf IDP_DS.
  3. Klicken Sie im rechten Bereich unter „Additional Properties“ auf Custom Properties und dann auf New.
  4. Geben Sie in das Feld Name integratedSecurity und in das Feld Wert den Wert true ein.
  5. Klicken Sie in der Navigationsstruktur auf Resources > JDBC > Data Sources und dann im rechten Bereich auf IDP_DS.
  6. Klicken Sie im rechten Bereich unter „Additional Properties“ auf Custom Properties und dann auf New.
  7. Geben Sie in das Feld Name integratedSecurity und in das Feld Wert den Wert true ein.
  8. Fügen Sie auf dem Computer, auf dem WebSphere installiert ist, die Datei „sqljdbc_auth.dll“ dem Windows-Systempfad (C:\Windows) hinzu. Die Datei "sqljdbc_auth.dll"befindet sich am selben Speicherort wie die Microsoft SQL JDBC 1.2-Treiberinstallation (standardmäßig unter [InstallDir]/sqljdbc_1.2/enu/auth/x86).
  9. Wählen Sie Start > Systemsteuerung > Dienste aus, klicken Sie mit der rechten Maustaste auf den Windows-Dienst für WebSphere (IBM WebSphere Application Server <Version> - <Knoten>) und wählen Sie Eigenschaften aus.
  10. Klicken Sie im Dialogfeld „Eigenschaften“ auf die Registerkarte Anmelden.
  11. Wählen Sie Dieses Konto aus und geben Sie die benötigten Informationen ein, um das gewünschte Anmeldekonto festzulegen.
  12. Ändern Sie die Sicherheitseinstellung von SQL Server von Gemischt in Nur Windows-Authentifizierung.

Sensible Inhalte in der Datenbank schützen

Das AEM Forms-Datenbankschema enthält sensible Informationen über die Systemkonfiguration und Geschäftsprozesse und sollte hinter der Firewall geschützt sein. Für die Datenbank sollte dieselbe Sicherheitsstufe wie für den Formularserver gelten. Um die Offenlegung von Informationen und den Diebstahl von Geschäftsdaten zu verhindern, muss die Datenbank vom DBA (Datenbankadministrator) so konfiguriert werden, dass nur autorisierte Administratoren Zugriff haben.

Als zusätzliche Sicherheitsmaßnahme sollten Sie überlegen, spezifische Werkzeuge des Datenbankherstellers für die Verschlüsselung von Spalten in Tabellen zu verwenden, die folgende Daten enthalten:

  • Rights Management-Dokumentschlüssel
  • PIN-Verschlüsselungsschlüssel für HSM-Geräte im Trust Store
  • Hashes für lokale Benutzerkennwörter

Weitere Informationen zu herstellerspezifischen Werkzeugen finden Sie unter "Datenbanksicherheitsinformationen".

LDAP-Sicherheit

AEM Forms on JEE nutzt meist einen LDAP-Ordner (Lightweight Directory Access Protocol) als Quelle für Informationen über Unternehmensbenutzer und Gruppen sowie zur Durchführung der Kennwortauthentifizierung. Sie sollten sicherstellen, dass Ihr LDAP-Ordner für die Verwendung von Secure Socket Layer (SSL) konfiguriert ist und AEM Forms on JEE für den Zugriff auf den LDAP-Ordner über dessen SSL-Anschluss konfiguriert ist.

LDAP-Dienstblockade

Angriffe mittels LDAP bestehen häufig darin, dass ein Angreifer die Authentifizierung bewusst mehrmals fehlschlagen lässt. Dies zwingt den LDAP-Ordnerserver dazu, einen Benutzer für alle auf LDAP basierenden Dienste zu sperren.

Sie können die Anzahl fehlgeschlagener Versuche sowie die nachfolgende Sperrdauer festlegen, die AEM Forms implementiert, wenn die AEM Forms-Authentifizierung eines Benutzers wiederholt fehlschlägt. Wählen Sie in Administration Console niedrige Werte. Bei der Auswahl der Anzahl von Fehlversuchen ist wichtig, dass Sie sich bewusst sind, dass der Benutzer nach Durchführung aller Versuche von AEM Forms gesperrt wird, bevor dies durch den LDAP-Ordnerserver erfolgt.

Automatische Kontosperrung festlegen

  1. Melden Sie sich bei Administration Console an.
  2. Klicken Sie auf Einstellungen > User Management > Domänenverwaltung.
  3. Stellen Sie unter „Einstellungen für die automatische Kontosperrung“ für Maximale Anzahl aufeinander folgender Authentifizierungsfehler einen niedrigen Wert, wie etwa 3 ein.
  4. Klicken Sie auf Speichern.

Prüfung und Protokollierung

Der richtige und sichere Einsatz der Anwendungsprüfung und -protokollierung kann dazu beitragen, dass sicherheitsrelevante und andere, unnormale Ereignisse schnellstmöglich verfolgt und erkannt werden. Die effektive Verwendung der Prüfung und Protokollierung innerhalb einer Anwendung beinhaltet Aspekte wie das Verfolgen erfolgreicher und fehlgeschlagener Anmeldungen sowie Schlüsselereignisse der Anwendung wie das Erstellen oder Löschen von Schlüsseldatensätzen.

Mithilfe der Prüfung lassen sich viele Arten von Angriffen feststellen wie z. B.:

  • Brute-Force-Kennwortangriffe
  • DoS-Angriffe (Denial of Service)
  • Einschleusen schädlicher Daten und ähnliche Scripting-Angriffe

In der folgenden Tabelle werden Prüfungs- und Protokollierungsverfahren beschrieben, mit denen Sie die Anfälligkeit des Servers verringern können.

Problem

Beschreibung

Zugriffssteuerungslisten für Protokolldateien

Legen Sie geeignete Zugriffssteuerungslisten für AEM Forms on JEE-Protokolldateien fest.

Das Festlegen entsprechender Berechtigungen verhindert, dass Angreifer die Dateien löschen.

Als Sicherheitsberechtigung für das Protokolldateiordner sollte „Alle Berechtigungen“ für Administratoren und SYSTEM-Gruppen festgelegt werden. Das AEM Forms-Benutzerkonto sollte nur lese- und schreibberechtigt sein.

Redundanz der Protokolldateien

Falls es die Ressourcen erlauben, senden Sie Protokolle mit Syslog, Tivoli, Microsoft Operations Manager (MOM) Server oder einem anderen Mechanismus in Echtzeit an einen anderen Server, auf den Angreifer nicht zugreifen können (schreibgeschützt).

Wenn Sie Protokolle auf diese Weise schützen, erschweren Sie damit mögliche Manipulationen. Das Speichern von Protokollen in einem zentralen Repository erleichtert zudem die Korrelation und Überwachung (wenn beispielsweise mehrere Formularserver verwendet werden und ein Password Guessing-Angriff auf mehrere Computer erfolgt, bei dem von jedem Computer ein Kennwort abgefragt wird).

Ausführung von PDF Generator durch Benutzer ohne zulassen, die keine Administratoren sind

Sie können Benutzern ohne Administratorberechtigungen die Verwendung von PDF Generator erlauben. Normalerweise können nur Benutzer mit Administratorrechten PDF Generator verwenden. Führen Sie die folgenden Schritte aus, um einem Benutzer ohne Administratorrechte die Ausführung von PDF Generator zu ermöglichen:

  1. Erstellen Sie den Umgebungsvariablennamen PDFG_NON_ADMIN_ENABLED.

  2. Legen Sie als Wert der Variablen TRUE fest.

  3. Starten Sie die AEM Forms-Instanz neu.

Konfigurieren von AEM Forms on JEE für den Zugriff außerhalb des Unternehmens

Nachdem Sie AEM Forms on JEE erfolgreich installiert haben, müssen Sie die Sicherheitseinrichtungen der Umgebung unbedingt in regelmäßigen Abständen warten. In diesem Abschnitt werden die empfohlenen Aufgaben für die Sicherheitswartung des LiveCycle AEM Forms on JEE-Produktionsservers beschrieben.

Reverse-Proxys für den Webzugriff einrichten

Sie können einen Reverse-Proxy verwenden, um sicherzustellen, dass eine Gruppe von URLs für AEM Forms on JEE-Webanwendungen sowohl für externe als auch interne Benutzer verfügbar ist. Diese Konfiguration bietet mehr Sicherheit als die Erlaubnis für Benutzer, eine direkte Verbindung zu dem Anwendungsserver herzustellen, auf dem AEM Forms on JEE ausgeführt wird. Der Reverse-Proxy führt alle HTTP-Anfragen für den Anwendungsserver durch, auf dem AEM Forms on JEE läuft. Benutzer haben nur Netzwerkzugriff auf den Reverse-Proxy und können nur URL-Verbindungen aufbauen, die der Reverse-Proxy unterstützt.

Stammordner-URLs von AEM Forms on JEE zur Verwendung mit dem Reverse-Proxy-Server

Die folgende Tabelle enthält Anwendungsstammordner-URLs für jede AEM Forms on JEE-Webanwendung. Sie sollten den Reverse-Proxy so konfigurieren, dass er nur URLs für Webanwendungsfunktionalität offenlegt, die Endbenutzern zur Verfügung gestellt werden soll.

Einige URLs sind als Endbenutzer-orientierte Webanwendungen gekennzeichnet. Sie sollten vermeiden, andere URLs für Configuration Manager für den externen Benutzerzugriff über den Reverse-Proxy offenzulegen.

Stammordner-URL

Zweck und/oder zugeordnete Webanwendung

Webbasierte Oberfläche

Endbenutzerzugriff

/ReaderExtensions/*

Acrobat Reader DC Extensions-Webanwendung für Endbenutzer zum Anwenden von Verwendungsrechten auf PDF-Dokumente

Ja

Ja

/edc/*

Rights Management-Webanwendung für Endbenutzer

Ja

Ja

/edcws/*

Webdienst-URL für Rights Management

Nein

Ja

/pdfgui/*

PDF Generator-Webanwendung für Administratoren

Ja

Ja

/Arbeitsbereich/*

Workspace-Webanwendung für Endbenutzer

Ja

Ja

/workspace-server/*

Workspace-Servlets und -Datendienste, die die Workspace-Client-Anwendung benötigt

Ja

Ja

/adobe-bootstrapper/*

Servlet für das Bootstrapping des AEM Forms on JEE-Repository

Nein

Nein

/soap/*

Informationsseite für Formularserver-Webdienste

Nein

Nein

/soap/services/*

Webdienst-URL für alle Formularserverdienste

Nein

Nein

/edc/admin/*

Rights Management-Webanwendung für Administratoren

Ja

Nein

/adminui/*

Administration Console-Startseite

Ja

Nein

/TruststoreComponent/

secured/*

Verwaltungsseiten für die Trust Store-Verwaltung

Ja

Nein

/FormsIVS/*

Forms IVS-Anwendung zum Testen und Debuggen der Formularwiedergabe

Ja

Nein

/OutputIVS/*

Output IVS, Anwendung zum Testen und Debuggen des Output-Diensts

Ja

Nein

/rmws/*

REST-URL für Rights Management

Nein

Ja

/OutputAdmin/*

Output-Verwaltungsseite

Ja

Nein

/FormServer/*

Dateien für die Forms-Webanwendung

Ja

Nein

/FormServer/GetImage

Servlet

Dient zum Abrufen von JavaScript während der HTML-Transformation

Nein

Nein

/FormServerAdmin/*

Forms-Verwaltungsseiten

Ja

Nein

/repository/*

URL für den WebDAV-Zugriff (Debugging)

Ja

Nein

/AACComponent/*

Benutzeroberfläche von „Anwendungen und Dienste“

Ja

Nein

/WorkspaceAdmin/*

Workspace-Verwaltungsseiten

Ja

Nein

/rest/*

Rest-Supportseiten

Ja

Nein

/CoreSystemConfig/*

Seite mit AEM Forms on JEE-Core-Konfigurationseinstellungen

Ja

Nein

/um/

User Management-Authentifizierung

Nein

Ja

/um/*

User Management-Verwaltungsoberfläche

Ja

Nein

/DoumentManager/*

Hoch- und Herunterladen von zu verarbeitenden Dokumenten beim Zugriff auf Remoting-Endpunkte, SOAP WSDL-Endpunkte und das Java-SDK mittels SOAP-Transport oder EJB-Transport bei aktivierten HTTP-Dokumenten.

Ja

Ja

Schutz vor Cross-Site Request Forgery-Angriffen

Ein CSRF-Angriff (Cross-Site Request Forgery) nutzt die Vertrauenswürdigkeit einer Website für den Benutzer, um Befehle zu übertragen, die vom Benutzer nicht autorisiert und unbeabsichtigt sind. Der Angriff wird eingerichtet, indem ein Link, ein Skript oder eine URL in eine E-Mail-Nachricht eingefügt werden, um auf eine andere Website zuzugreifen, für die der Benutzer bereits authentifiziert wurde.

Sie können beispielsweise bei Administration Console angemeldet sein, während Sie gleichzeitig eine andere Website besuchen. Eine der Webseiten kann ein HTML-Bild-Tag mit einem src-Attribut enthalten, dessen Ziel ein serverseitiges Skript auf einer Opfer-Website ist. Webbrowser verwenden einen auf Cookies basierenden Mechanismus zur Sitzungsauthentifizierung. Dies wird von der angreifenden Website ausgenutzt. Sie sendet bösartige Anforderungen an das serverseitige Opferskipt und gibt vor, der rechtmäßige Benutzer zu sein. Weitere Beispiele finden Sie unter https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)#Examples.

Die folgenden Merkmale sind für CSRF-Angriffe charakteristisch:

  • Betreffen Sites, die auf der Identität eines Benutzers basieren
  • Nutzen das Vertrauen Site in diese Identität aus
  • Bringen den Browser des Benutzers dazu, HTTP-Anforderungen an eine Ziel-Site zu senden
  • Verwenden HTTP-Anforderungen mit Nebeneffekten

AEM Forms on JEE verwendet die Funktion "Werber-Filter", um CSRF-Angriffe zu blockieren. Die folgenden Begriffe werden in diesem Abschnitt verwendet, um den Werber-Filtermechanismus zu beschreiben:

  • Zulässiger Werber: Ein Werber ist die Adresse der Quellseite, die eine Anforderung an den Server sendet. Bei JSP-Seiten oder -Formularen ist der Werber normalerweise die vorherige Seite im Browserverlauf. Werber für Bilder sind normalerweise die Seiten, auf denen die Bilder angezeigt werden. Sie können den Werber identifizieren, der Zugriff auf Ihre Serverressourcen hat, indem Sie ihn zur Liste "Zulässige Werber"hinzufügen.
  • Zulässige Werber-Ausnahmen: Möglicherweise möchten Sie den Zugriffsbereich für einen bestimmten Werber in Ihrer Liste für zulässige Werber einschränken. Um diese Einschränkung zu erzwingen, können Sie der Liste "Zulässige Werber - Ausnahmen"einzelne Pfade dieses Werbers hinzufügen. Anforderungen, die von Pfaden in der Liste "Zulässige Werber - Ausnahmen"stammen, können keine Ressourcen auf dem Formularserver aufrufen. Sie können Ausnahmen für zulässige Werber für eine bestimmte Anwendung definieren und eine globale Liste von Ausnahmen verwenden, die für alle Anwendungen gelten.
  • Zulässige URIs: Dies ist eine Liste von Ressourcen, die ohne Überprüfung der Kopfzeile des Werbers bereitgestellt werden sollen. Ressourcen, z. B. Hilfeseiten, die auf dem Server keine Statusänderungen hervorrufen, können zu dieser Liste hinzugefügt werden. Die Ressourcen in der Liste Zulässige URIs werden nie vom Werber-Filter blockiert, unabhängig davon, wer der Werber ist.
  • Null-Werber: Eine Serveranforderung, die nicht mit einer übergeordneten Webseite verknüpft ist oder nicht von einer übergeordneten Webseite stammt, gilt als Anforderung eines Null-Werbers. Wenn Sie beispielsweise ein neues Browserfenster öffnen, eine Adresse eingeben und die Eingabetaste drücken, ist der an den Server gesendete Werber null. Eine Desktopanwendung (.NET oder SWING), die eine HTTP-Anforderung an einen Webserver sendet, sendet auch einen Null-Werber an den Server.

Werber-Filter

Der Werber-Filterprozess kann wie folgt beschrieben werden:

  1. Der Formularserver prüft die für den Aufruf verwendete HTTP-Methode:

    1. Bei POST prüft der Formularserver den Werber-Header.
    2. Ist dies der GET, umgeht der Formularserver die Überprüfung des Werbers, es sei denn, CSRF_CHECK_GETS ist auf "true"gesetzt. In diesem Fall wird der Werber-Header überprüft. CSRF_CHECK_GETS ist in der Datei web.xml für Ihre Anwendung festgelegt.
  2. Der Formularserver prüft, ob der angeforderte URI in der Zulassungsliste vorhanden ist:

    1. Wenn der URI auf die Zulassungsliste gesetzt ist, akzeptiert der Server die Anforderung.
    2. Wenn der angeforderte URI nicht auf die Zulassungsliste gesetzt wird, ruft der Server den Werber der Anforderung ab.
  3. Wenn die Anforderung einen Werber enthält, prüft der Server, ob es sich um einen zulässigen Werber handelt. Ist dies zulässig, sucht der Server nach einer Werber-Ausnahme:

    1. Wenn sie eine Ausnahme ist, wird die Anforderung blockiert.
    2. Wenn es sich nicht um eine Ausnahme handelt, wird die Anforderung übergeben.
  4. Wenn die Anforderung keinen Werber enthält, prüft der Server, ob ein Null-Werber zulässig ist:

    1. Wenn ein Null-Werber zulässig ist, wird die Anforderung übergeben.
    2. Wenn ein Null-Werber nicht zulässig ist, prüft der Server, ob der angeforderte URI eine Ausnahme für den Null-Werber ist, und verarbeitet die Anforderung entsprechend.

Verwalten des Werber-Filters

AEM Forms on JEE bietet einen Werber-Filter, um Werber anzugeben, denen der Zugriff auf Serverressourcen erlaubt ist. Standardmäßig filtert der Werber keine Anforderungen, die eine sichere HTTP-Methode verwenden, z. B. GET, es sei denn, CSRF_CHECK_GETS ist auf true gesetzt. Wenn die Anschlussnummer für den Eintrag für einen zulässigen Werber auf 0 eingestellt ist, lässt AEM Forms on JEE alle Anforderungen mit Werber von diesem Host unabhängig von der Anschlussnummer zu. Wenn keine Anschlussnummer angegeben wird, werden nur Anforderungen vom Standardanschluss 80 (HTTP) oder von Anschluss 443(HTTPS) zugelassen. Werber-Filterung ist deaktiviert, wenn alle Einträge in der Liste "Zulässige Werber"gelöscht werden.

Wenn Sie Dokument Services zum ersten Mal installieren, wird die Liste "Zulässiger Werber"mit der Adresse des Servers aktualisiert, auf dem Dokument Services installiert ist. Die Einträge für den Server enthalten den vollständig Servernamen, die IPv4-Adresse, die IPv6-Adresse, wenn IPv6 aktiviert ist, die Loopback-Adresse und einen „localhost“-Eintrag. Die Namen, die der Liste für zulässige Werber hinzugefügt werden, werden vom Host-Betriebssystem zurückgegeben. Ein Server mit einer IP-Adresse von 10.40.54.187 enthält beispielsweise die folgenden Einträge: https://server-name:0, https://10.40.54.187:0, https://127.0.0.1:0, http://localhost:0. Für alle vom Host-Betriebssystem zurückgegebenen unqualifizierten Namen (Namen, die keine IPv4-Adresse, IPv6-Adresse oder qualifizierte Domänennamen haben) wird die Zulassungsliste nicht aktualisiert. Ändern Sie die Liste für zulässige Werber entsprechend Ihrer geschäftlichen Umgebung. Stellen Sie den Formularserver nicht mit der standardmäßigen Liste für zulässigen Werber in der Produktions-Umgebung bereit. Nachdem Sie einen der zulässigen Werber, Werber-Ausnahmen oder URIs geändert haben, müssen Sie den Server neu starten, damit die Änderungen wirksam werden.

Verwalten der Liste für zulässige Werber

Sie können die Liste für zulässige Werber über die User Management-Oberfläche von Administration Console verwalten. Die User Management-Oberfläche stellt Funktionen zum Erstellen, Bearbeiten oder Löschen der Liste bereit. Weitere Informationen zum Arbeiten mit der Liste "Zulässige Werber"finden Sie im Abschnitt CSRF-Angriffe verhindern* der Administrationshilfe.

Zulässige Werber-Ausnahmen und zulässige URI-Listen verwalten

AEM Forms on JEE stellt APIs zur Verwaltung der Liste "Zulässige Werber - Ausnahmen"und der Liste "Zulässige URI"bereit. Mithilfe dieser APIs können Sie die Listen abrufen, erstellen, bearbeiten oder löschen. Im Folgenden Finden Sie eine Liste mit verfügbaren APIs:

  • createAllowedURIsList
  • getAllowedURIsList
  • updateAllowedURIsList
  • deleteAllowedURIsList
  • addAllowedRefererExceptions
  • getAllowedRefererExceptions
  • updateAllowedRefererExceptions
  • deleteAllowedRefererExceptions

Weitere Informationen zu den APIs finden Sie in der* AEM Forms on JEE API Reference*.

Verwenden Sie die Liste LC_GLOBAL_ALLOWED_REFERER_EXCEPTION für "Zulässige Werber - Ausnahmen"auf globaler Ebene, um Ausnahmen zu definieren, die für alle Anwendungen gelten. Diese Liste enthält nur URIs mit einem absoluten Pfad (z. /index.html) oder einen relativen Pfad (z.B. /sample/). Sie können auch einen regulären Ausdruck an das Ende eines relativen URI anhängen, z. /sample/(.)*.

Die Listen-ID LC_GLOBAL_ALLOWED_REFERER_EXCEPTIONS wird als Konstante in der Klasse UMConstants des Namespace com.adobe.idp.um.api definiert, der in adobe-usermanager-client.jar zu finden ist. Sie können die AEM Forms-APIs zum Erstellen, Ändern oder Bearbeiten dieser Liste verwenden. Verwenden Sie zum Erstellen der Liste für die für globale zulässige Werber Ausnahmen beispielsweise Folgendes:

addAllowedRefererExceptions(UMConstants.LC_GLOBAL_ALLOWED_REFERER_EXCEPTION, Arrays.asList("/index.html", "/sample/(.)*"))

Verwenden Sie die Liste CSRF_ALLOWED_REFERER_EXCEPTIONS für anwendungsspezifische Ausnahmen.

Deaktivieren des Werber-Filters

In dem Ereignis, dass der Werber-Filter den Zugriff auf den Formularserver vollständig blockiert und Sie die Liste "Zulässiger Werber"nicht bearbeiten können, können Sie das Serverstartskript aktualisieren und die Werber-Filterung deaktivieren.

Schließen Sie das JAVA-Argument -Dlc.um.csrffilter.disabled=true in das Startskript ein und starten Sie den Server neu. Stellen Sie sicher, dass Sie das JAVA-Argument löschen, nachdem Sie die Liste für zulässige Werber entsprechend neu konfiguriert haben.

Werber-Filter für benutzerdefinierte WAR-Dateien

Möglicherweise haben Sie benutzerdefinierte WAR-Dateien für die Verwendung mit AEM Forms on JEE speziell für Ihre Geschäftsanforderungen erstellt. Um den Werber-Filter für Ihre benutzerdefinierten WAR-Dateien zu aktivieren, fügen Sie adobe-usermanager-client.jar in den Klassenpfad für die WAR ein und fügen Sie einen Filtereintrag in die Datei* web.xml* mit den folgenden Parametern ein:

CSRF_CHECK_ GETSsteuert die Überprüfung des Werbers bei GET. Wenn dieser Parameter nicht definiert wird, wird für den Standardwert „false“ festgelegt. Fügen Sie diesen Parameter nur ein, wenn Sie Ihre GET-Anforderungen filtern möchten.

CSRF_ALLOWED_REFERER_ EXCEPTIONSist die ID der Liste "Zulässige Werber - Ausnahmen". Der Werber-Filter verhindert, dass Anforderungen, die von Werbern in der durch die Listen-ID identifizierten Liste stammen, Ressourcen auf dem Formularserver aufrufen.

CSRF_ALLOWED_URIS_LIST_NAME ist die ID der Liste „Zulässige URIs“. Der Werber-Filter blockiert keine Anfragen für Ressourcen in der durch die Listen-ID identifizierten Liste, unabhängig vom Wert des Werber-Headers in der Anforderung.

CSRF_ALLOW_NULL_ REFERERsteuert das Verhalten des Werber-Filters, wenn der Werber null ist oder nicht vorhanden ist. Wenn dieser Parameter nicht definiert wird, wird für den Standardwert „false“ festgelegt. Schließen Sie diesen Parameter nur ein, wenn Sie Null-Werber zulassen möchten. Das Zulassen von Null-Werbern kann einige Arten von Cross-Site Request Forgery-Angriffen zulassen.

CSRF_NULL_REFERER_ EXCEPTIONSist eine Liste der URIs, für die keine Werber-Prüfung durchgeführt wird, wenn der Werber null ist. Dieser Parameter wird nur aktiviert, wenn für CSRF_ALLOW_NULL_REFERER „false“ festgelegt wird. Trennen Sie mehrere URIs in der Liste mit einem Komma.

Im Folgenden finden Sie ein Beispiel für den Filtereintrag in der Datei web.xml für die WAR-Datei SAMPLE:

<filter> 
       <filter-name> filter-name </filter-name> 
       <filter-class> com.adobe.idp.um.auth.filter.RemoteCSRFFilter </filter-class> 
     <!-- default is false --> 
     <init-param> 
      <param-name> CSRF_ALLOW_NULL_REFERER </param-name> 
      <param-value> false </param-value> 
     </init-param> 
     <!-- default is false --> 
     <init-param> 
      <param-name> CSRF_CHECK_GETS </param-name> 
      <param-value> true </param-value> 
     </init-param> 
     <!-- Optional --> 
     <init-param> 
       <param-name> CSRF_NULL_REFERER_EXCEPTIONS </param-name> 
       <param-value> /SAMPLE/login, /SAMPLE/logout  </param-value> 
     </init-param> 
     <!-- Optional --> 
     <init-param> 
      <param-name> CSRF_ALLOWED_REFERER_EXCEPTIONS </param-name> 
      <param-value> SAMPLE_ALLOWED_REF_EXP_ID </param-value> 
     </init-param> 
     <!-- Optional --> 
     <init-param> 
      <param-name> CSRF_ALLOWED_URIS_LIST_NAME </param-name> 
      <param-value> SAMPLE_ALLOWED_URI_LIST_ID     </param-value> 
     </init-param> 
</filter> 
    ........ 
    <filter-mapping> 
      <filter-name> filter-name </filter-name> 
      <url-pattern>/*</url-pattern> 
    </filter-mapping>

Fehlerbehebung

Wenn rechtmäßige Serveranforderungen vom CSRF-Filter blockiert werden, haben Sie folgende Möglichkeiten:

  • Wenn die abgelehnte Anforderung über einen Werber-Header verfügt, sollten Sie diese der Liste Zulässiger Werber hinzufügen. hinzufügen nur Werber, dem du vertraust.
  • Wenn die abgelehnte Anforderung keinen Werber-Header enthält, ändern Sie Ihre Clientanwendung, um einen Werber-Header einzuschließen.
  • Wenn der Client einen Browser verwenden kann, versuchen Sie es mit diesem Bereitstellungsmodell.
  • Als letzten Ausweg können Sie die Ressource zur Liste „Zulässige URIs“ hinzufügen. Diese Vorgehensweise wird jedoch nicht empfohlen.

Sichere Netzwerkkonfiguration

In diesem Abschnitt finden Sie Beschreibungen der für AEM Forms on JEE erforderlichen Protokolle und Anschlüsse sowie Empfehlungen für die Bereitstellung von AEM Forms on JEE in einer sicheren Netzwerkkonfiguration.

Von AEM Forms on JEE verwendete Netzwerkprotokolle

Wenn Sie, wie im vorherigen Abschnitt beschrieben, eine sichere Netzwerkarchitektur konfigurieren, sind die folgenden Netzwerkprotokolle für die Interaktion zwischen AEM Forms on JEE und anderen Systemen in Ihrem Unternehmensnetzwerk erforderlich.

Protokoll

Verwenden Sie

HTTP

  • Browser zeigt Configuration Manager und Endbenutzer-Webanwendungen an

  • Alle SOAP-Verbindungen

SOAP

  • Webdienst-Clientanwendungen wie .NET-Anwendungen

  • Adobe Reader® verwendet SOAP für AEM Forms on JEE-Server-Webdienste

  • Adobe Flash®-Anwendungen verwenden SOAP für Formularserver-Webdienste

  • AEM Forms on JEE SDK-Aufrufe bei der Verwendung im SOAP-Modus

  • Workbench-Entwurfsumgebung

RMI

AEM Forms on JEE SDK-Aufrufe bei der Verwendung im Enterprise JavaBeans-Modus (EJB)

IMAP/POP3

  • Auf E-Mail basierende Eingabe für einen Dienst (E-Mail-Endpunkt)

  • Aufgabenbenachrichtigungen per E-Mail

UNC-Dateieingabe/ausgabe

AEM Forms on JEE-Überwachung von überwachten Ordnern auf Eingabe in einen Dienst (Überwachter Ordner-Endpunkt)

LDAP

  • Synchronisierung von Informationen über Firmenbenutzer und -gruppen in einem Ordner

  • LDAP-Authentifizierung für interaktive Benutzer

JDBC

  • Abfrage- und Prozeduraufrufe an eine externe Datenbank, die während des Ausführung eines Prozesses mithilfe des JDBC-Diensts durchgeführt werden

  • Interner Zugriff auf AEM Forms on JEE-Repository

WebDAV

Ermöglicht das Remote-Durchsuchen der Entwurfsversion des AEM Forms on JEE-Repositorys (Formulare, Fragmente usw.) durch einen beliebigen WebDAV-Client

AMF

Adobe Flash-Anwendungen, in denen AEM Forms on JEE-Serverdienste mit einem Remoting-Endpunkt konfiguriert sind

JMX

AEM Forms on JEE legt MBeans für die Überwachung mit JMX offen

Anschlüsse für Anwendungsserver

In diesem Abschnitt werden die Standardanschlüsse (und alternativen Konfigurationsbereiche) für jeden unterstützten Anwendungsservertyp beschrieben. Abhängig davon, welche Netzwerkfunktionalität Sie für Clients bereitstellen möchten, die eine Verbindung zu dem Anwendungsserver herstellen, auf dem AEM Forms on JEE ausgeführt wird, müssen diese Anschlüsse in der inneren Firewall aktiviert bzw. deaktiviert werden.

HINWEIS

Standardmäßig legt der Server mehrere JMX MBeans unter dem Namespace adobe.com offen. Dabei werden nur für die Überwachung des Serverzustands nützliche Informationen offengelegt. Um die Offenlegung von Informationen zu verhindern, sollten Sie jedoch Aufrufe von einem nicht vertrauenswürdigen Netzwerk davon abhalten, JMX MBeans zu suchen und auf Serverzustandsmetriken zuzugreifen.

JBoss-Anschlüsse

Zweck

Anschluss

Zugriff auf Webanwendungen

[JBOSS_Stammordner]/standalone/configuration/lc_[Datenbank].xml

HTTP/1.1 Connector-Anschluss 8080

AJP 1.3 Connector-Anschluss 8009

SSL/TLS Connector-Anschluss 8443

CORBA-Unterstützung

[JBoss-Stammordner]/server/all/conf/jacorb.properties

OAPort 3528

OASSLPort 3529

WebLogic-Anschlüsse

Zweck

Anschluss

Zugriff auf Webanwendungen

  • Überwachungsanschluss des Verwaltungsservers: 7001 (Standard)

  • Überwachungsanschluss des Verwaltungsservers: 7002 (Standard)

  • Für verwalteten Server konfigurierter Anschluss, z. B. 8001

WebLogic-Administrationsports sind nicht für den Zugriff auf AEM Forms on JEE erforderlich

  • Überwachungsanschluss des verwalteten Servers: Konfigurierbar zwischen 1 und 65534

  • SSL-Überwachungsanschluss des verwalteten Servers: Konfigurierbar zwischen 1 und 65534

  • Überwachungsanschluss von Node Manager: 5556 (Standard)

WebSphere -Anschlüsse

Informationen zu WebSphere-Anschlüssen, die für AEM Forms on JEE erforderlich sind, finden Sie unter Port number setting in WebSphere Application Server UI.

Konfigurieren von SSL

Bezogen auf die physische Architektur, die im Abschnitt AEM Forms on JEE Physical architecture beschrieben ist, sollten Sie SSL für alle Verbindungen konfigurieren, die Sie verwenden möchten. Besonders alle SOAP-Verbindungen müssen über SSL erfolgen, um die Offenlegung von Benutzerberechtigungen im Netzwerk zu verhindern.

Anleitungen für die Konfiguration von SSL unter JBoss, WebLogic und WebSphere finden Sie unter „Konfigurieren von SSL“ in der Administration-Hilfe.

Anweisungen zum Importieren von Zertifikaten in JVM (Java Virtual Machine), die für einen AEM Forms-Server konfiguriert sind, finden Sie im Abschnitt "Gegenseitige Authentifizierung"in der AEM Forms Workbench-Hilfe.

SSL-Umleitung konfigurieren

Nachdem Sie den Anwendungsserver auf die Unterstützung von SSL konfiguriert haben, müssen Sie sicherstellen, dass der gesamte HTTP-Verkehr zu -Anwendungen und -Diensten gezwungen wird, den SSL-Anschluss zu verwenden.

Informationen zum Konfigurieren der SSL-Umleitung für WebSphere oder WebLogic finden Sie in der Dokumentation zu Ihrem jeweiligen Anwendungsserver.

  1. Öffnen Sie die Eingabeaufforderung, navigieren Sie zum Ordner /JBOSS_HOME/standalone/configuration und führen Sie den folgenden Befehl aus:

    keytool -genkey -alias jboss7 -keyalg RSA -keystore server.keystore -validity 10950

  2. Öffnen Sie die Datei JBOSS_HOME/standalone/configuration/standalone.xml zur Bearbeitung.

    Fügen Sie nach dem Element <Subsystem xmlns="urn:jboss:domain:web:1.1" native="false" default-virtual-server="default-host"> die folgenden Details hinzu:

    <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enabled="true" secure="true" />

  3. hinzufügen Sie den folgenden Code im Element https connector:

    <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true" enabled="true"> 
     <ssl name="jboss7_ssl" key-alias="jboss71" password="Tibco321" certificate-key-file="../standalone/configuration/server.keystore" protocol="TLSv1"/> 
     </connector>
    

    Speichern und schließen Sie die Datei "standalone.xml".

Windows-spezifische Sicherheitsempfehlungen

Dieser Abschnitt enthält Sicherheitsempfehlungen, die für Windows spezifisch sind, wenn AEM Forms on JEE unter Windows ausgeführt wird.

JBoss-Dienstkonten

Bei der AEM Forms on JEE-Turnkey-Installation wird standardmäßig unter Verwendung des Kontos „Lokales System“ ein Dienstkonto eingerichtet. Das integrierte Benutzerkonto „Lokales System“ hat hohe Zugriffsrechte; es gehört zur Gruppe „Administratoren“. Wenn eine Worker Process-ID als Benutzerkonto „Lokales System“ ausgeführt wird, hat dieser Worker Process vollen Zugriff auf das gesamte System.

Anwendungsserver unter Verwendung eines Kontos ohne Administratorrechte ausführen

  1. Erstellen Sie in der Microsoft Management Console (MMC) einen lokalen Benutzer für den Formularserverdienst, der für die Anmeldung verwendet werden soll:

    • Wählen Sie Benutzer kann Kennwort nicht ändern aus.
    • Stellen Sie sicher, dass auf der Registerkarte Mitglied von die Gruppe „Benutzer“ aufgeführt ist.
  2. Klicken Sie auf Einstellungen > Verwaltung > Dienste.

  3. Doppelklicken Sie auf den Dienst „ Application Server“ und halten Sie diesen an.

  4. Wählen Sie auf der Registerkarte Anmelden die Option Dieses Konto aus, suchen Sie das Benutzerkonto, das Sie erstellt haben, und geben Sie das Kennwort für das Konto ein.

  5. Weisen Sie im Fenster „Lokale Sicherheitseinstellungen“ unter „Zuweisen von Benutzerrechten“ dem Benutzerkonto, unter dem der Formularserver ausgeführt wird, die folgenden Rechte zu:

    • Anmeldung über Terminaldienste verweigern
    • Anmeldung bei locallyxx verweigern
    • Als Dienst anmelden (sollte bereits festgelegt sein)
  6. Weisen Sie dem neuen Benutzerkonto die folgenden Berechtigungen zu:

    • Ordner der globalen Dokument-Datenspeicherung: Der Speicherort des Ordners des globalen Dokumentenspeichers wird während des AEM Forms-Installationsprozesses manuell konfiguriert. Wenn die Speicherorteinstellung während der Installation leer bleibt, wird als Speicherort standardmäßig ein Ordner unter der Anwendungsserverinstallation unter [JBoss root]/server/[type]/svcnative/DocumentStorage verwendet
    • CRX-Repository-Ordner: Der Standardspeicherort ist [AEM-Forms-installation-location]\crx-repository
    • AEM Forms-temporäre Ordner:
      • (Windows) TMP oder TEMP gemäß Einstellung in den Umgebungsvariablen
      • (AIX, Linux oder Solaris) Basisordner des angemeldeten Benutzers
        Benutzer, die bei UNIX-basierten Systemen nicht als Root-Benutzer angemeldet sind, können den folgenden Ordner als temporären Ordner verwenden:
      • (Linux) /var/tmp oder /usr/tmp
      • (AIX) /tmp oder /usr/tmp
      • (Solaris) /var/tmp oder /usr/tmp
  7. Weisen Sie dem neuen Benutzerkonto Schreibberechtigungen für die folgenden Ordner zu:

    • [JBoss-directory]\standalone\deployment
    • [JBoss-directory]\standalone\
    • [JBoss-directory]\bin\
    HINWEIS

    Der Standardspeicherort für die Installation von JBoss Application Server:

    • Windows: C:\Adobe\Adobe_Experience_Manager_Forms\jboss
    • Linux: /opt/jboss/.
  8. Starten Sie den Application Server-Dienst.

Dateisystemsicherheit

AEM Forms on JEE verwendet das Dateisystem wie folgt:

  • Speichern temporärer Dateien, die bei der Verarbeitung von Dokumentein- und -ausgaben verwendet werden
  • Speichern von Dateien im globalen Archiv, die zur Unterstützung der installierten Lösungskomponenten verwendet werden
  • Speichern von Dateien in überwachten Ordnern, die als Eingabe für einen Dienst verwendet werden und von einem Ordnerspeicherort im Dateisystem aus abgelegt werden

Wenn Sie überwachte Ordner verwenden, um Dokumente mit einem Formularserverdienst zu senden und zu empfangen, müssen Sie besondere Sicherheitsmaßnahmen für das Dateisystem ergreifen. Wenn ein Benutzer Inhalte in einem überwachten Ordner ablegt, werden diese Inhalte durch den überwachten Ordner offengelegt. In diesem Fall wird der tatsächliche Endbenutzer nicht vom Dienst authentifiziert. Stattdessen ist der Dienst darauf angewiesen, dass durch Zugriffssteuerungslisten und Freigabesicherheitseinstellungen auf Ordnerebene bestimmt wird, von wem der Dienst tatsächlich aufgerufen werden darf.

JBoss-spezifische Sicherheitsempfehlungen

Dieser Abschnitt enthält spezifische Empfehlungen zur Anwendungsserverkonfiguration für JBoss 7.0.6, wenn es zum Ausführen von AEM Forms on JEE verwendet wird.

JBoss Management Console und JMX-Konsole deaktivieren

Wenn Sie AEM Forms mit der Turnkey-Installationsmethode unter JBoss installieren, ist der Zugriff auf JBoss Management Console und die JMX-Konsole bereits konfiguriert (die JMX-Überwachung ist deaktiviert). Wenn Sie einen eigenen JBoss-Anwendungsserver verwenden, stellen Sie sicher, dass JBoss Management Console und die JMX-Überwachungskonsole geschützt sind. Der Zugriff auf die JMX-Überwachungskonsole wird in der JBoss-Konfigurationsdatei „jmx-invoker-service.xml“ festgelegt.

Directory Browsing deaktivieren

Nach der Anmeldung bei Administration Console können Sie die Ordnerliste der Konsole durchsuchen, indem Sie die URL ändern. Wenn Sie beispielsweise die URL in eine der folgenden URLs ändern, wird eine Liste angezeigt:

https://<servername>:8080/adminui/secured/ 
https://<servername>:8080/um/

WebLogic-spezifische Sicherheitsempfehlungen

Dieser Abschnitt enthält Empfehlungen für die Anwendungsserverkonfiguration zum Schützen von WebLogic 9.1 beim Ausführen von AEM Forms on JEE.

Directory Browsing deaktivieren

Stellen Sie in der Datei „weblogic.xml“ die Eigenschaften zu „index-directories“ auf false ein, wie im folgenden Beispiel gezeigt:

<container-descriptor> 
    <index-directory-enabled>false 
    </index-directory-enabled> 
</container-descriptor>

Aktivieren des SSL-Anschlusses in WebLogic

WebLogic aktiviert den SSL-Standardüberwachungsanschluss 7002 standardmäßig nicht. Aktivieren Sie diesen Anschluss in der WebLogic Server Administration Console, bevor Sie SSL konfigurieren.

WebSphere-spezifische Sicherheitsempfehlungen

Dieser Abschnitt enthält Empfehlungen für die Anwendungsserverkonfiguration zum Schützen von WebSphere beim Ausführen von AEM Forms.

Directory Browsing deaktivieren

Legen Sie die Eigenschaft directoryBrowsingEnabled in der Datei "ibm-web-ext.xml"auf false fest.

Administrative Sicherheit in WebSphere aktivieren

  1. Melden Sie sich bei WebSphere Administrative Console an.
  2. Wechseln Sie in der Navigationsstruktur zu Sicherheit > Globale Sicherheit
  3. Wählen Sie Enable administrative security aus.
  4. Deaktivieren Sie sowohl Enable application security als auch Use Java 2 security.
  5. Klicken Sie auf OK oder auf Apply.
  6. Klicken Sie im Feld Messages auf Save directly to the master configuration.

Auf dieser Seite