{"id":395,"date":"2021-12-15T12:25:05","date_gmt":"2021-12-15T11:25:05","guid":{"rendered":"https:\/\/www.kippdata.de\/?page_id=395"},"modified":"2021-12-22T11:31:33","modified_gmt":"2021-12-22T10:31:33","slug":"log4shell","status":"publish","type":"page","link":"https:\/\/www.kippdata.de\/index.php\/log4shell\/","title":{"rendered":"Log4Shell"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8220;1&#8243; fullwidth=&#8220;on&#8220; _builder_version=&#8220;4.2.2&#8243;][et_pb_fullwidth_image src=&#8220;https:\/\/www.kippdata.de\/wp-content\/uploads\/2021\/12\/domino.png&#8220; _builder_version=&#8220;4.2.2&#8243;][\/et_pb_fullwidth_image][\/et_pb_section][et_pb_section fb_built=&#8220;1&#8243; _builder_version=&#8220;3.22&#8243;][et_pb_row _builder_version=&#8220;3.25&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220;][et_pb_column type=&#8220;4_4&#8243; _builder_version=&#8220;3.25&#8243; custom_padding=&#8220;|||&#8220; custom_padding__hover=&#8220;|||&#8220;][et_pb_text _builder_version=&#8220;4.2.2&#8243; background_size=&#8220;initial&#8220; background_position=&#8220;top_left&#8220; background_repeat=&#8220;repeat&#8220; hover_enabled=&#8220;0&#8243;]<\/p>\n<h1>Log4Shell<\/h1>\n<p>Zuletzt aktualisiert mit Hinweisen zu Log4J2 Version 2.13.1 und 2.3.1 f\u00fcr Java 7 und Java 6 am 22.12.2021, 11:25. Davor aktualisiert mit Hinweisen zu CVE-2021-45105 und Absicherung mittels mod_security am 20.12.2021, 11:55.<\/p>\n<p>Die Apache Software Foundation hat am 10.12.2021 ein kritisches Sicherheits-Problem in der Logging-Bibliothek Log4j ver\u00f6ffentlicht. Das zugeh\u00f6rige Problem hat den Namen &#8222;Log4Shell&#8220; (mancherorts auch &#8222;Log4jShell&#8220;) und tr\u00e4gt die offizielle CVE-Nummer CVE-2021-44228. Weitere Untersuchungen an denen auch kippdata beteiligt war, resultierten in der Aufdeckung und Bekanntgabe der zus\u00e4tzlichen Probleme CVE-2021-45046 und CVE-2021-45105.<\/p>\n<p>Die offizielle Erl\u00e4uterungsseite des Log4j-Projektes findet sich unter <a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/security.html\">https:\/\/logging.apache.org\/log4j\/2.x\/security.html<\/a>. Die entsprechenden CVE-Seiten sind <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-44228\">https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-44228<\/a>, <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-45046\">https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-45046<\/a> und <a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-45046\">https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-45046<\/a>.<\/p>\n<p>Die Auswirkungen der Probleme sind:<\/p>\n<ul>\n<li>Remote Code Execution (RCE), also die M\u00f6glichkeit eines Angreifers eigene Befehle und Programme auf das angegriffene System zu \u00fcbertragen und dort zur Ausf\u00fchrung zu bringen<\/li>\n<li>Denial of Service (DoS), also die M\u00f6glichkeit das angegriffene System etwa durch Abst\u00fcrze oder \u00dcberlastung disfunktional zu machen<\/li>\n<li>und Information Disclosure (ID), also die F\u00e4higkeit nicht \u00f6ffentliche Informationen aus einem System auszulesen.<\/li>\n<\/ul>\n<p>Auch wenn RCE automatisch DoS und ID zur Folge hat, werden diese hier erw\u00e4hnt, weil einige Gegenma\u00dfnahmen zwar RCE unterbinden, jedoch nicht auch den DoS- oder ID-Angriff.<\/p>\n<p>Das Problem hat zu Recht den h\u00f6chsten CVSS Score 10.0.<\/p>\n<p>&nbsp;<\/p>\n<h4>Welche Software kann betroffen sein?<\/h4>\n<p>Jede Anwendung, die Log4j in einer Version vor 2.17.0 beinhaltet &#8211; das ist die Version, die am 18.12.2021 ver\u00f6ffentlicht wurde &#8211; mit Java 7 eine Version vor 2.13.3, muss als angreifbar gelten. Allerdings ist die vorherige Version 2.16.0 bereits gut gegen RCE gesch\u00fctzt und auch Angriffe vom Typ DoS und ID sind nur m\u00f6glich, wenn die Log-Konfiguration bestimmte Eigenschaften hat. Au\u00dferdem wurden f\u00fcr den Einsatz mit Java 7 Version 2.12.2 und 2.12.3 ver\u00f6fentlicht und f\u00fcr den Einsatz mit Java 6 Version 2.3.1. Versionen 2.12.3 und 2.3.1 sind so wie 2.17.0 vollst\u00e4ndig gesch\u00fctzt, Version 2.12.2 so wie 2.16.0 nur eingeschr\u00e4nkt.<\/p>\n<p>Eine weitergehende Pr\u00fcfung, ob ein konkreter Einsatz einer anf\u00e4lligen Version angreifbar ist, ist nur durch ein aufwendiges professionelles und dennoch nicht eindeutiges Penetration Testing m\u00f6glich &#8211; oder alternativ durch ein extrem aufwendiges Source Code Review, das jede Log-Nachricht im Source Code der Anwendung und aller Hilfsbibliotheken untersucht.<\/p>\n<p>Die Log4j-Bibliothek ist in der Programmiersprache Java geschrieben und wird in sehr vielen Java-Anwendungen verwendet. Auch Anwendungen in anderen Sprachen, die in einer Java Virtual Machine laufen, wie etwa Groovy, Scala, Kotlin oder Clojure k\u00f6nnen diese Bibliothek verwenden.<\/p>\n<p>Das Problem hat auch deshalb den CVSS Score 10.0, weil die Voraussetzungen f\u00fcr einen effektiven Angriff grunds\u00e4tzlich nicht hoch sind.<\/p>\n<p>Die Bibliothek Log4j gibt es in 2 Versionen:<\/p>\n<ul>\n<li>Version 2.x ist die seit vielen Jahren gepflegte Versionslinie. Alle ver\u00f6ffentlichten Versionen vor Version 2.17.0 (ausgenommen einige Beta-Versionen, sowie die f\u00fcr den Einsatz mit Java 7 bzw. Java 6 neu ver\u00f6ffentlichten Versionen 2.12.3 und 2.3.1) sind angreifbar. Die letzte Woche ver\u00f6ffentlichten Versionen 2.16.0 bzw. 2.12.2 sind f\u00fcr die schlimmsten Szenarien nicht mehr angreifbar. Ein verbliebenes DoS-Szenario und eine schwache Form von ID wird jedoch erst mit den Versionen 2.17.0, 2.12.3 und 2.3.1 geschlossen.<\/li>\n<li>Version 1.2.x wird seit vielen Jahren nicht mehr weiter supportet und ist nur in stark abgeschw\u00e4chter Fassung von diesem neuen Problem betroffen. Jedoch wurde f\u00fcr diese Version seit etlichen Jahren keine Sicherheitspflege mehr durchgef\u00fchrt, so dass sie aus anderen Gr\u00fcnden als angreifbar gelten muss. F\u00fcr Version 1.2.x gibt es einen einfachen Update-Pfad auf 2.x, der die sogenannte Bridge Log4j 1.2 auf 2.0 (Artefakt <tt>log4j-1.2-api.jar<\/tt>) verwendet. Auf Dauer sollte jedoch eine volle Migration durchgef\u00fchrt werden, die entsprechende Source Code-Anpassungen der nutzenden Anwendung voraussetzt. Siehe hierzu die Seite <a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/manual\/migration.html\">https:\/\/logging.apache.org\/log4j\/2.x\/manual\/migration.html<\/a>.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h4>Wie steht es mit anderen Logging-Bibliotheken?<\/h4>\n<p>Nach aktuellem Stand sind die g\u00e4ngigen Logging-Fassaden und -Implementierungen SLF4J, Logback und java.util.logging nicht betroffen.<\/p>\n<p>&nbsp;<\/p>\n<h4>Wie finde ich heraus, ob meine Anwendungen wirklich betroffen sind?<\/h4>\n<p>Das schwerwiegendste Problem ist die Remote Code Execution in Versionen vor 2.16.0. Eine Pr\u00fcfung kann grunds\u00e4tzlich folgende Ans\u00e4tze verwenden:<\/p>\n<ul>\n<li>Bei Standardsoftware Nutzung von Hersteller-Informationen und anderen \u00f6ffentlichen Listen betroffener Software<\/li>\n<li>Source Code Review: Pr\u00fcfung der Log-Konfiguration, aber vor allem auch aller Code-Stellen, die Log-Nachrichten erzeugen. Dies w\u00e4re nicht nur in der eigentlichen Anwendung, sondern auch allen Hilfsbibliotheken, die sie verwendet und die ggf. ebenfalls Log4j nutzen, notwendig. Dies ist nur mit erheblichen Aufwand m\u00f6glich und wird deshalb in fast allen F\u00e4llen nicht effektiv sein.<\/li>\n<li>Penetration Testing: automatisierte Verwendung der Anwendung mit vielen unterschiedlichen &#8211; auch zuf\u00e4llig erzeugten &#8211; legitimen und falschen Daten. Ein f\u00fcr dieses Problem zuverl\u00e4ssiges Penetration Testing ist ebenfalls mit sehr hohem Aufwand verbunden und kann nur von Spezialisten sinnvoll durchgef\u00fchrt werden.<\/li>\n<\/ul>\n<p>Nach unserer Einsch\u00e4tzung muss deshalb bei jeder Anwendung, die Log4J verwendet von einer Angreifbarkeit ausgegangen werden, au\u00dfer der Hersteller eine Anwendung schliesst dies f\u00fcr diese offiziell aus.<\/p>\n<p>Das weitere DoS- und ID-Problem in Version 2.16.0 kann nur ausgenutzt werden, wenn eine verwundbare Log-Konfiguration verwendet wird. Bekannte Angriffsvektoren nutzen einen Eintrag der Form ${ctx:mykey} oder $${ctx:mykey} in einem PatternLayout in der Konfiguration. Diese k\u00f6nnen &#8211; sofern ein Angreifer Daten in den MDC (Mapped Diagnostic Context) einschleusen kann &#8211; zu einer unterminierten Rekursion und damit einem Denial of Service f\u00fchren. Indirekt kann dieser DoS dann f\u00fcr ein Information Disclosure genutzt werden, indem ein Angreifer mit bestimmten Werten durchprobiert, wann ein DoS ausgel\u00f6st wird. Die alleinige Verwendung eines MDC, etwa via %X, %mdc oder %MDC, stellt jedoch kein Problem dar.<\/p>\n<p>&nbsp;<\/p>\n<h4>Gibt es Listen, welche Anwendungen betroffen sind?<\/h4>\n<p>Eine umfangreiche inoffizielle Liste findet sich unter <a href=\"https:\/\/gist.github.com\/SwitHak\/b66db3a06c2955a9cb71a8718970c592\">https:\/\/gist.github.com\/SwitHak\/b66db3a06c2955a9cb71a8718970c592<\/a>.<\/p>\n<p>Das &#8222;Nationaal Cyber Security Centrum&#8220; aus den Niederlanden pflegt aktuell eine Liste betroffener Software unter\u00a0<a href=\"https:\/\/github.com\/NCSC-NL\/log4shell\/\">https:\/\/github.com\/NCSC-NL\/log4shell\/<\/a>. Dort gibt es verschiedene Kategorien, unter anderem die wichtige Liste\u00a0<a href=\"https:\/\/github.com\/NCSC-NL\/log4shell\/tree\/main\/software\">https:\/\/github.com\/NCSC-NL\/log4shell\/tree\/main\/software<\/a>.<\/p>\n<p>Die Apache Software Foundation (ASF) hat eine aktuelle Liste der von der ASF bereitgestellten Software mit Status unter <a href=\"https:\/\/blogs.apache.org\/security\/entry\/cve-2021-44228\">https:\/\/blogs.apache.org\/security\/entry\/cve-2021-44228<\/a>\u00a0ver\u00f6ffentlicht.<\/p>\n<p>Bitte beachten Sie, dass in den Listen als Beispiel h\u00e4ufig steht, dass Apache Tomcat nicht betroffen ist. Das ist grunds\u00e4tzlich korrekt, weil Tomcat nicht zwingend mit Log4J2 f\u00fcr das Logging kommt. Viele Distributionen &#8211; wie etwa unsere &#8211; f\u00fcgen jedoch Log4j 2 wegen seiner f\u00fcr professionelle produktive Umgebungen wichtigen F\u00e4higkeiten hinzu, wodurch Tomcat angreifbar wird. \u00c4hnliches mag auch f\u00fcr andere Software in den Listen gelten.<\/p>\n<p>&nbsp;<\/p>\n<h4>Seit wann ist das Problem bekannt?<\/h4>\n<p>Leider gibt es mittlerweile Hinweise, dass die ersten Versuche, die L\u00fccke auszunutzen, etwa am 01.12.2021 geschahen. Das Problem wurde dem Log4j-Projekt aber erst etwa eine Woche vor Ver\u00f6ffentlichung der ersten korrigierten Version und der Problembeschreibung gemeldet. Das Projekt hat also sehr z\u00fcgig reagiert, aber insgesamt war das Problem schon einige Tage fr\u00fcher in Hackerkreisen bekannt.<\/p>\n<p>&nbsp;<\/p>\n<h4>Kann ich erkennen, ob ich schon angegriffen wurde?<\/h4>\n<p>Das ist leider nicht robust m\u00f6glich. Hinweise k\u00f6nnen zwar Zeichenketten wie etwa &#8222;jndi:&#8220; in Log-Dateien sein. Aus dem Fehlen dieser l\u00e4sst sich aber nicht schlie\u00dfen, dass es keinen Angriff gab.<\/p>\n<p>&nbsp;<\/p>\n<h4>Ist mein System jetzt korrumpiert?<\/h4>\n<p>Eine Remote Code Execution l\u00e4sst nat\u00fcrlich auch eine Korruption des betroffenen Systems bis hin zum Einbau von Hintert\u00fcren zu. Der Code des Angreifers l\u00e4uft zwar &#8222;nur&#8220; unter dem Benutzer, unter dem der Java-Prozess der betroffenen Anwendung ausgef\u00fchrt wurde, kann jedoch durch Kombination mit ggf. anderen vorhandenen Sicherheitsl\u00fccken m\u00f6glicherweise auch zu erweiterten Privilegien des Angreifers f\u00fchren.<\/p>\n<p>Eine Korruption eines Systems l\u00e4sst sich also leider nicht ausschlie\u00dfen. Sofern daf\u00fcr vorher Vorkehrungen getroffen wurden, kann eine Korruption durch Abgleich mit vorhandenen Fingerprints oder Einspielung \u00e4lterer Sicherungen ausgeschlossen werden.<\/p>\n<p>&nbsp;<\/p>\n<h4>Mein System kann keine Aufrufe ins Internet machen &#8211; ist es sicher?<\/h4>\n<p>Nein.<\/p>\n<p>Viele bekannten Angriffsszenarien nutzen zwar initial einen Aufruf zu einem Netzwerkdienst, der eine vom Angreifer kontrollierte Antwort liefert. Einen solchen Dienst zu starten ist beispielsweise mit einer Java-Klasse von wenigen Bytes Gr\u00f6\u00dfe m\u00f6glich. Der Dienst ben\u00f6tigt keinen privilegierten Port oder besondere Nutzer-Rechte. Auch wenn der anzugreifende Java-Prozess keine Netzkommunikation ins Internet \u00f6ffnen kann, ist denkbar, dass ein Angreifer zun\u00e4chst auf einem weniger gut abgesicherten internen System den notwendigen Dienst startet und diesen aufruft.<\/p>\n<p>Dar\u00fcber hinaus gibt es jedoch weitere Szenarien, die \u00fcblicherweise offene Kommunikationskan\u00e4le nutzen, wie etwa die Namensaufl\u00f6sung via DNS. Dort kann ein Information Disclosure &#8211; also die Offenlegung vertraulicher Informationen &#8211; stattfinden, etwa indem ein Passwort in der Form MYSECRET.attacker.com in einen Servernamen eingebaut wird. Schon der Versuch der Kommunikation mit diesem Server f\u00fchrt zun\u00e4chst zu einer DNS-Anfrage der internen DNS-Server an den DNS-Server der Domain attacker.com bei der MYSECRET dorthin \u00fcbertragen wird.<\/p>\n<p>Es ist zu erwarten, dass weitere Szenarien auftauchen, die den externen Dienst nicht mehr voraussetzen. Die Einschr\u00e4nkung der Kommunikation auf Kommunikationspartner (Systeme und Ports), die f\u00fcr die Funktion einer Anwendung zwingend notwendig sind, ist dennoch auf jeden Fall sinnvoll. Sie alleine gen\u00fcgt jedoch nicht zur Absicherung gegen das aktuelle Problem.<\/p>\n<p>&nbsp;<\/p>\n<h4>Wie weit hilft ein Java-Patchupdate?<\/h4>\n<p>Aktuelle Java Patchversionen unterbinden das Nachladen von Klassen aus unsicheren Quellen. Die originalen Angriffsszenarien nutzten ein solches Nachladen, weshalb zun\u00e4chst der Eindruck entstand, dass Java Patchupdates ausreichen. Dies hat sich jedoch schon nach kurzer Zeit als unzureichend herausgestellt.<\/p>\n<p>Dennoch ist es wichtig regelm\u00e4ssige Java-Patchupdates durchzuf\u00fchren. Auch in diesem Falle hat dies die Angriffsfl\u00e4che verringert, die Absicherung ist aber nicht vollst\u00e4ndig.<\/p>\n<p>&nbsp;<\/p>\n<h4>Behebungsm\u00f6glichkeiten<\/h4>\n<p>Das Apache Logging-Projekt hat am Montag, dem 13.12.2021, die neue Version 2.16.0 bereit gestellt, welches das Remote Code Execution-Problem behebt. Das verbliebe DoS- und ID-Problem wird erst mit Version 2.17.0 vom 18.12.2021 behoben. Ein Update der Log4j 2 Bibliothek auf diese Version ist die beste Behebung. Wir empfehlen deshalb dringend mit Prio 1 ein schnelles Update auf 2.17.0.<\/p>\n<p>Allerdings setzt Log4j 2.17.0 minimal Java 8 voraus. F\u00fcr alte Anwendungen, die noch Java 7 verwenden, hat das Projekt am 14.12.2021 Version 2.12.2 ver\u00f6ffentlicht, die ebenfalls nicht mehr mit Remote Code Execution angreifbar ist. Seit 22.12.2021 steht die vollst\u00e4ndig gesch\u00fctzte Version 2.12.3 zur Verf\u00fcgung. Diese sollte f\u00fcr alle Anwendungen verwendet werden, die Java 7 ben\u00f6tigen. F\u00fcr den Einsatz mit Java 6 steht ebenfalls seit 22.12.2021 Version 2.3.1 zur Verf\u00fcgung, die die gleichen Probleme beseitigt.<\/p>\n<p>Sollte ein Update nicht m\u00f6glich sein, empfehlen wir folgende H\u00e4rtungen gegen Remote Code Execution:<\/p>\n<ul>\n<li><u>Variante 1: Patchen der Jar-Datei<\/u><\/li>\n<\/ul>\n<p>Falls Sie die Log4j2-Jar-Datei log4j-core.jar oder log4j-core-[VERSION].jar in einer Anwendung eindeutig identifizieren k\u00f6nnen, empfehlen wir die Entfernung der Klasse <em>org.apache.logging.log4j.core.lookup.JndiLookup<\/em> aus dieser Datei w\u00e4hrend einer Downtime sowie einen Neustart danach. Dies kann zum Beispiel durch den Befehl<\/p>\n<p><em>zip -q -d \/pfad\/zu\/datei.jar org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class<\/em><\/p>\n<p>geschehen. Hierbei muss der korrekte Pfad zur entsprechenden Jar-Datei angeben werden.<\/p>\n<p>Einige Anwendungen haben die Jar-Datei jedoch signiert und starten nach dem Entfernen nicht mehr. In diesem Falle ist die Entfernung nicht m\u00f6glich. Wir empfehlen deshalb dringend, vorher eine Sicherheitskopie der Original-Datei zu machen und nach M\u00f6glichkeit das Vorgehen auf einer Testinstanz zu pr\u00fcfen, damit es nicht zu unn\u00f6tigen Downtimes kommt.<\/p>\n<p>Es gibt au\u00dferdem F\u00e4lle, in denen die Quelle der zu entfernenden Klasse nicht robust zu erkennen ist, etwa sogenannte \u00dcber-Jar-Dateien oder auch Repackaging. Schlie\u00dflich ist auch denkbar, dass sie sowohl in einer leicht zu erkennenden Jar-Datei steckt, aber zus\u00e4tzlich auch aus einer nicht aufgefallenen Quelle kommt.<\/p>\n<p>Wir empfehlen deshalb die folgende Variante 2 zus\u00e4tzlich und nat\u00fcrlich auch dort, wo Sie Variante 1 nicht durchf\u00fchren k\u00f6nnen.<\/p>\n<ul>\n<li><u>Variante 2: Setzen von System Property oder Environment-Variable<\/u><\/li>\n<\/ul>\n<p>Dies empfehlen wir erg\u00e4nzend zu Variante 1 oder, wenn diese nicht m\u00f6glich ist, als Fallback.<\/p>\n<p>Setzen Sie das System Property &#8222;<em>log4j2.formatMsgNoLookups<\/em>&#8220; oder alternativ die Environment-Variable <em>LOG4J_FORMAT_MSG_NO_LOOKUPS<\/em> auf den Wert &#8222;<em>true<\/em>&#8222;. Das Setzen als System-Property sollte auf der Kommandozeile erfolgen, indem Sie dem Java-Prozess das zus\u00e4tzliche Argument &#8222;<em>-Dlog4j2.formatMsgNoLookups=true<\/em>&#8220; mitgeben. Wenn Sie alternativ die Environment-Variable <em>LOG4J_FORMAT_MSG_NO_LOOKUPS<\/em> auf &#8222;<em>true<\/em>&#8220; setzen, vergessen Sie bitte nicht, diese auch zu exportieren.<\/p>\n<p>Bitte beachten Sie, dass der Schutz durch Variante 2 in bestimmten F\u00e4llen nicht wirkt. Der Schutz wird f\u00fcr viele Anwendungen vollst\u00e4ndig sein. Es ist jedoch schwer herauszufinden, f\u00fcr welche Anwendungen dies nicht gilt. Ist eine Anwendung davon betroffen, dass die Schalter nicht helfen, ist sie weiter voll angreifbar. Deshalb verzichten Sie bitte nicht auf die H\u00e4rtung nach Variante 1.<\/p>\n<ul>\n<li><u>Variante 3: Pr\u00fcfung der Logging-Konfiguration (nur CVE-2021-45105)<br \/><\/u><\/li>\n<\/ul>\n<p>Zur Behebung des verbleibenden DoS-Szenarios ohne Updates muss die Log-Konfiguration gepr\u00fcft und ggf. angepasst werden. Wir verweisen hierf\u00fcr auf den Eintrag zu CVE-2021-45105 auf der Seite <a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/security.html\">https:\/\/logging.apache.org\/log4j\/2.x\/security.html<\/a>.<\/p>\n<ul>\n<li><u>Variante 4: Nutzung von Regeln in einer Web Application Firewall (WAF, etwa mod_security)<br \/><\/u><\/li>\n<\/ul>\n<p>Erg\u00e4nzend zu diesen Behebungen kann es sinnvoll sein, bei Einsatz einer Web Application Firewall (WAF), wie etwa Apache Web Server mit mod_security, g\u00e4ngige Angriffe durch zus\u00e4tzliche Regeln abzufangen. Auch wenn diese Regeln nach einiger Zeit vom Angreifer erkannt und evtl. umgangen werden k\u00f6nnen, sichert man sich doch gegen einfache Angriffe ab und kauft sich damit Zeit f\u00fcr die Bestandsaufnahme betroffener Anwendung und die Umsetzung der vollst\u00e4ndigen Behebung.<\/p>\n<p>F\u00fcr mod_security ist eine entsprechende Regel (Regel &#8222;1005&#8220;) beschrieben im folgenden Blog-Beitrag des wichtigen Core Rule Set (CRS) Entwicklers Christian Folini: <a href=\"https:\/\/coreruleset.org\/20211213\/crs-and-log4j-log4shell-cve-2021-44228\/\">https:\/\/coreruleset.org\/20211213\/crs-and-log4j-log4shell-cve-2021-44228\/<\/a>. Bitte beachten sie auch ggf. hinzugef\u00fcgte sp\u00e4tere Blog-Beitr\u00e4ge.<\/p>\n<p>&nbsp;<\/p>\n<h4>Wie ist die technische Ursache f\u00fcr das Problem?<\/h4>\n<p>Die Java-Logging-Bibliothek Log4j 2 unterst\u00fctzt die Aufl\u00f6sung von String-Referenzen der Form &#8222;<em>${etwas}<\/em>&#8220; im Nachrichten-Teil der Log-Zeile durch Nachschlagen in Tabellen und anderen Quellen. Dies sind sogenannte Lookups. Ein solcher Quell-Typ ist ein JNDI-Lookup (Java Naming and Directory Interface), der andere Server etwa \u00fcber RMI- oder LDAP-URLs ansprechen kann. Solch ein Lookup wird von Log4j 2 dann zun\u00e4chst durch die Antwort dieses Servers auf den RMI- oder LDAP-Aufruf ersetzt. Da die Aufl\u00f6sung der Referenzen jedoch rekursiv geschieht, kann es durch weitere Aufl\u00f6sungen in diesen Antworten zur Ausf\u00fchrung von Anwendungs-Code kommen.<\/p>\n<p>Andere Lookups als mittels JNDI sind bislang nicht als Angriffsvektoren bekannt. Weil sich jedoch die erste H\u00e4rtung in Version 2.15.0 als unvollst\u00e4ndig herausgestellt hat, wurden in Version 2.16.0 alle Lookup-M\u00f6glichkeiten entfernt.<\/p>\n<p>Wie aber schafft es ein Angreifer einen Text der Form &#8222;<em>${etwas}<\/em>&#8220; in eine Log-Nachricht zu bekommen, die doch meist vom Entwickler als fester Text vorgesehen wird? Nehmen wir an, eine Anwendung empf\u00e4ngt Daten aus dem Internet und erwartet an einer bestimmten Stelle eine Zahl. Wird dort etwas anderes geschickt, gibt die Anwendung intern eine Fehlermeldung in die Log-datei aus. Damit besser nachvollziehbar wird, warum es zu dem Fehler kam, wird dann h\u00e4ufig auch der Text, der statt einer Zahl empfangen wurde mit ausgegeben. Schickt der Angreifer jetzt also einfach statt der Zahl den Text &#8222;<em>${etwas}<\/em>&#8222;, wird dieser in die Fehlernachricht f\u00fcr das Log integriert und verursacht das Lookup.<\/p>\n<p>&nbsp;<\/p>\n<h4>Wie hat kippdata f\u00fcr seine Apache Tomcat-Distribution reagiert?<\/h4>\n<p>Wir haben unsere Kunden nach Bekanntgabe des Problems zeitnah \u00fcber die Auswirkungen und die m\u00f6glichen Behebungen informiert. Diese Information wurde sofort aktualisiert, als wir selbst weitere Angriffsszenarien gegen die bis dahin noch als sicher geltende Version 2.15.0 gefunden haben.<\/p>\n<p>Wir haben unseren Kunden dann ein robustes Werkzeug bereit gestellt, um eine H\u00e4rtung nach Variante 1 durchzuf\u00fchren sowie genaue Informationen gegeben, wie Variante 2 umgesetzt wird. Danach haben wir umgehend neue Versionen aller unterst\u00fctzten Versionslinien von Apache Tomcat bereit gestellt, in denen wir die geb\u00fcndelte Log4J-Bibliothek aktualisiert haben.<\/p>\n<p>Dar\u00fcber hinaus haben wir unsere Support-Kunden durch Beantwortung individueller Fragen betreut und dar\u00fcber hinausgehende Beratungen auch f\u00fcr nicht von uns gelieferte Java-Anwendungen angeboten.<\/p>\n<p><!-- \/divi:paragraph --><\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Log4Shell Zuletzt aktualisiert mit Hinweisen zu Log4J2 Version 2.13.1 und 2.3.1 f\u00fcr Java 7 und Java 6 am 22.12.2021, 11:25. Davor aktualisiert mit Hinweisen zu CVE-2021-45105 und Absicherung mittels mod_security am 20.12.2021, 11:55. Die Apache Software Foundation hat am 10.12.2021 ein kritisches Sicherheits-Problem in der Logging-Bibliothek Log4j ver\u00f6ffentlicht. Das zugeh\u00f6rige Problem hat den Namen &#8222;Log4Shell&#8220; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"<!-- wp:paragraph -->\r\n<p>die Apache Software Foundation hat am 10.12.2021 einen Hinweis zu einem kritischen Sicherheits-Problem in Log4j herausgegeben. Das zugeh\u00f6rige Problem hat den Namen \"Log4Shell\" und tr\u00e4gt die Nummer CVE-2021-44228.<br><br>Offizielle Referenz ist:<br><br><a href=\"https:\/\/logging.apache.org\/log4j\/2.x\/security.html\">https:\/\/logging.apache.org\/log4j\/2.x\/security.html<\/a><br><br>und:<br><br><a href=\"https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-44228\">https:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2021-44228<\/a><br><br>Die Auswirkungen des Problems sind Remote Code Execution. Treffen also die Voraussetzungen f\u00fcr die Angreifbarkeit zu, kann der Angreifer eigenen Anwendungscode auf dem angegriffenen Server ausf\u00fchren. Das Problem hat deshalb den h\u00f6chsten CVSS Score 10.0.<br><\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><strong>Was ist das Problem?<\/strong><br><br>Die Java-Logging-Bibliothek Log4j 2 unterst\u00fctzt die Aufl\u00f6sung von String-Referenzen der Form \"${etwas}\" im Message-Teil der Log-Zeile. Dabei kann \"etwas\" auf unterschiedliche Quellen verweisen. Ein solcher Quell-Typ ist ein JNDI-Lookup, der andere Server etwa \u00fcber RMI- oder LDAP-URLs ansprechen kann. Solch ein Lookup wird von Log4j 2 dann zun\u00e4chst durch die Antwort dieses Servers auf den RMI- oder LDAP-Aufruf ersetzt. Da die Aufl\u00f6sung der Referenzen jedoch iterativ geschieht, kann es durch weitere Aufl\u00f6sungen in diesen Antworten zur Ausf\u00fchrung von Anwendungs-Code kommen.<br><br>Dabei m\u00fcssen folgende Voraussetzungen erf\u00fcllt sein:<br><br>- Der Angreifer schafft es, eine solche URL in den Meldungstext oder Parameter des Meldungstextes hinein zu bekommen. Beispiel: Eine Anwendung loggt im Meldungstext den Wert eines HTTP-Headers, und der Angreifer kann diesen von au\u00dfen frei auf einen beliebigen Wert setzen. Insbesondere gelingt dies, wenn dieser Header durch vorgeschaltete Reverse Proxies ungefiltert hindurch l\u00e4uft.<br><br>- Der laufende Java-Prozess - in unserem Fall ein Tomcat-Prozess - hat Netzwerk-Zugriff auf ein System und einen Port, die unter Kontrolle des Angreifers stehen, so dass dieser von dort die b\u00f6sartige Antwort ausliefern kann.<\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><strong>Welche Software kann betroffen sein?<\/strong><br><br>Grunds\u00e4tzlich kann jede Software betroffen sein, die die Java-Logging-Bibliothek Log4j 2 bis zur Version 2.14.1 einsetzt. In unseren Auslieferungen wird Log4j 2 eingesetzt in:<br><br>- Apache Tomcat 10.0.x, 9.0.x, 8.5.x und 8.0.x<br><br>Bislang ist dem Tomcat-Projekt und uns kein direktes Angriffszenario bekannt, bei dem die L\u00fccke im Tomcat oder einem der von uns geb\u00fcndelten Addons, die ebenfalls Log4j 2 verwenden, ausgenutzt werden kann.<br><br>Da eine komplette Pr\u00fcfung jedoch eine Sichtung aller m\u00f6glichen Log-Texte bedingt, kann aktuell eine Angreifbarkeit auch nicht vollst\u00e4ndig ausgeschlossen werden. Wir raten deshalb zu einer der weiter unten beschriebenen Ma\u00dfnahmen.<br><br>Selbstverst\u00e4ndlich k\u00f6nnen au\u00dferdem Web-Anwendungen, die in Tomcat deployt wurden, unabh\u00e4ngig vom umgebenden Tomcat betroffen sein. Bei den unten beschriebenen Ma\u00dfnahmen geben wir an, welche automatisch auch das Problem in den deployten Web-Anwendungen beheben.<br><br>Das \"Nationaal Cyber Security Centrum\" aus den Niederlanden pflegt aktuell eine Liste betroffener Java-Software unter:<br><br><a href=\"https:\/\/github.com\/NCSC-NL\/log4shell\/\">https:\/\/github.com\/NCSC-NL\/log4shell\/<\/a><br><br>Dort gibt es verschiedene Kategorien, unter anderem eine Liste unter:<br><br><a href=\"https:\/\/github.com\/NCSC-NL\/log4shell\/tree\/main\/software\">https:\/\/github.com\/NCSC-NL\/log4shell\/tree\/main\/software<\/a><br><\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><strong>Ist auch Log4j 1.2.x betroffen?<\/strong> <br><br>Nach aktuellem Stand ist die alte Versionslinie Log4j 1.2.x nicht von dem eigentlichen schwerwiegenden Problem betroffen. Hier kann es h\u00f6chstens zu einem Problem kommen, wenn der Angreifer auf anderem Wege die Log4j-Konfiguration ver\u00e4ndern kann. Dazu m\u00fcsste in die Log4j 1.2-Konfiguration ein Appender vom Typ JMSAppender aufgenommen werden, der au\u00dferdem unsichere Parameter verwendet. In unseren Auslieferungen ist dies nicht der Fall.<\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><strong>Wie steht es mit anderen Logging-Bibliotheken?<\/strong><br><br>Nach aktuellem Stand sind die g\u00e4ngigen Logging-Fassaden und -Implementierungen SLF4J, Logback und java.util.logging nicht betroffen.<\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><strong>Behebungsm\u00f6glichkeiten<\/strong><br><br>Das Apache Logging-Projekt hat am Montag, dem 13.12.2021, die neue Version 2.16.0 bereit gestellt. Ein Update der Log4j 2 Bibliothek auf diese Version ist die beste Behebung. Ein Update auf die Version 2.15.0 vom Freitag, dem 10.12.2021, wird nicht mehr empfohlen, auch wenn sie dieses Problem ebenfalls behebt. Wir empfehlen dringend mit Prio 1 ein schnelles Update auf 2.16.0. Allerdings setzt Log4j 2.16.0 minimal Java 8 voraus, und diese Behebung wirkt sich in der Regel nicht auch auf in Tomcat deployte Anwendungen als Behebung aus. <br><br>Sollte ein Update auf 2.16.0 nicht m\u00f6glich sein oder Java < 8 eingesetzt werden, empfehlen wir alternativ:<br><br><u>Variante 1: Patchen der Jar-Datei<\/u><br><br>Falls Sie die Log4j2-Jar-Datei log4j-core.jar oder log4j-core-[VERSION].jar in einer Anwendung eindeutig identifizieren k\u00f6nnen, empfehlen wir die Entfernung der Klasse<br><br>org.apache.logging.log4j.core.lookup.JndiLookup<br><br>aus dieser Datei w\u00e4hrend einer Downtime plus Neustart danach. Dies kann zum Beispiel durch den Befehl<br><br>zip -q -d \/pfad\/zu\/datei.jar org\/apache\/logging\/log4j\/core\/lookup\/JndiLookup.class<br><br>geschehen. Hierbei den korrekten Pfad zur Jar-Datei angeben. Einige Anwendungen haben die Jar-Datei jedoch signiert und starten nach dem Entfernen nicht mehr. In diesem Falle ist die Entfernung nicht m\u00f6glich. Wir empfehlen deshalb dringend, vorher eine Sicherheitskopie der Original-Datei zu machen und nach M\u00f6glichkeit das Vorgehen auf einer Testinstanz zu pr\u00fcfen, damit es nicht zu unn\u00f6tigen Downtimes kommt.<br><br>Es gibt F\u00e4lle, in denen die Quelle der zu entfernenden Klasse nicht robust zu erkennen ist, etwa sogenannte Uber-Jar-Dateien oder auch Repackaging. Au\u00dferdem kann die Klasse auch in einer signierten und deshalb nicht ver\u00e4nderbaren Jar-Datei stecken. Schlie\u00dflich ist auch denkbar, dass sie sowohl in einer leicht zu erkennenden Jar-Datei steckt, aber zus\u00e4tzlich auch aus einer nicht aufgefallenen Quelle kommt.<br><br>Wir empfehlen deshalb Variante 2 zus\u00e4tzlich und nat\u00fcrlich auch dort, wo Sie Variante 1 nicht durchf\u00fchren k\u00f6nnen.<br><br><u>Variante 2: Setzen von System Property oder Environment-Variable<\/u><br><br>Dies empfehlen wir erg\u00e4nzend zu Variante 1 oder, wenn diese nicht m\u00f6glich ist, als Fallback.<br><br>Setzen Sie das System Property \"log4j2.formatMsgNoLookups\" oder alternativ die Environment-Variable LOG4J_FORMAT_MSG_NO_LOOKUPS auf den Wert \"true\". Das Setzen als System-Property sollte auf der Kommandozeile erfolgen, indem Sie dem Java-Prozess das zus\u00e4tzliche Argument \"-Dlog4j2.formatMsgNoLookups=true\" mitgeben. Im konkreten Fall eines Tomcat k\u00f6nnen Sie dies als Erg\u00e4nzung in die Variable JAVA_OPTS in der Datei bin\/setenv.sh aufnehmen. Wenn Sie alternativ die Environment-Variable LOG4J_FORMAT_MSG_NO_LOOKUPS auf \"true\" setzen, vergessen Sie bitte nicht, diese auch zu exportieren.<br><br>Bitte beachten Sie, dass der Schutz durch Variante 2 in bestimmten F\u00e4llen nicht wirkt. Der Schutz ist vollst\u00e4ndig beispielsweise f\u00fcr das Tomcat-eigene Logging und wird auch f\u00fcr die meisten Anwendungen vollst\u00e4ndig sein. Es ist jedoch schwer herauszufinden, f\u00fcr welche Anwendungen dies nicht gilt. Ist eine Anwendung davon betroffen, dass die Schalter nicht helfen, ist sie weiter voll angreifbar.<br><br><u>Variante 3: Java Patch-Update<\/u><br><br>Dies ist nat\u00fcrlich generell empfohlen, auch ganz unabh\u00e4ngig vom aktuellen Problem!<br><br>Im Kontext des aktuellen Sicherheitsproblems stellt dies keine L\u00f6sung f\u00fcr Anwendungen innerhalb eines Tomcat dar. F\u00fcr andere angreifbare Anwendungen ist es durchaus m\u00f6glich, dass sie nach einem Java-Patch-Update nicht mehr angreifbar sind.<br><\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><strong>Umgang mit der kippdata Tomcat-Distribution<\/strong><br><br>In unseren Auslieferungen ist Log4j2 mit 2.10.0 oder neuer enthalten in: <br><br> - allen Versionen von Tomcat 10.0<br> - allen Versionen von Tomcat 9.0<br> - in Tomcat 8.5 ab Version 8.5.24-1<br> - in Tomcat 8.0 ab Version 8.0.48-1 <br><br>Wir haben unseren Tomcat Support-Kunden zun\u00e4chst am Dienstag, 14.12.2021, ein Skript zur Verf\u00fcgung gestellt, mit dem bei bereits installierten und betroffenen Tomcat-Paketen das in Variante 1: Patchen der Jar-Datei beschriebene Entfernen einer Klasse in dem von uns gelieferten Log4j 2 robust durchgef\u00fchrt werden kann.<br><br>Zus\u00e4tzlich werden wir im Laufe der Woche aktualisierte Tomcat-Versionen bereit stellen, die ein abgesichertes Log4j 2 enthalten.<br><\/p>\r\n<!-- \/wp:paragraph -->\r\n\r\n<!-- wp:paragraph -->\r\n<p><strong>Weitere FAQ<\/strong><br><br><u>Gibt es Listen, welche Anwendungen betroffen sind?<\/u><br><br>Die bereits erw\u00e4hnte Liste des \"Nationaal Cyber Security Centrum\" aus den Niederlanden ist unter<br><br><a href=\"https:\/\/github.com\/NCSC-NL\/log4shell\/\">https:\/\/github.com\/NCSC-NL\/log4shell\/<\/a><br><br>und dort vor allem<br><br><a href=\"https:\/\/github.com\/NCSC-NL\/log4shell\/tree\/main\/software\">https:\/\/github.com\/NCSC-NL\/log4shell\/tree\/main\/software<\/a><br><br>erreichbar.<br><br>Die Apache Software Foundation hat eine aktuelle Liste der von der ASF bereitgestellten Software mit Status ver\u00f6ffentlicht:<br><br><a href=\"https:\/\/blogs.apache.org\/security\/entry\/cve-2021-44228\">https:\/\/blogs.apache.org\/security\/entry\/cve-2021-44228<\/a><br><br>Eine weitere umfangreiche inoffizielle Liste findet sich unter<br><br><a href=\"https:\/\/gist.github.com\/SwitHak\/b66db3a06c2955a9cb71a8718970c592\">https:\/\/gist.github.com\/SwitHak\/b66db3a06c2955a9cb71a8718970c592<\/a><br><br>Bitte beachten Sie, dass in den Listen meist steht, dass Tomcat nicht betroffen ist. Das ist grunds\u00e4tzlich korrekt, weil Tomcat nicht zwingend mit Log4J2 f\u00fcr das Logging kommt. Viele Distributionen - wie etwa unsere - f\u00fcgen jedoch Log4j 2 wegen seiner F\u00e4higkeiten hinzu, wodurch Tomcat angreifbar wird. \u00c4hnliches mag auch f\u00fcr andere Software in den Listen gelten.<br><br><u>Mein System kann keine Aufrufe ins Internet machen - ist es sicher?<\/u><br><br>Die bekannten Angriffsszenarien nutzen alle initial einen Aufruf zu einem Netzwerkdienst, der eine vom Angreifer kontrollierte Antwort liefert.<br><br>Einen solchen Dienst zu starten ist beispielsweise mit einer Java-Klasse von wenigen Bytes Gr\u00f6\u00dfe m\u00f6glich. Der Dienst ben\u00f6tigt keinen privilegierten Port oder besondere Nutzer-Rechte.<br><br>Auch wenn der anzugreifende Java-Prozess keine Netzkommunikation ins Internet \u00f6ffnen kann, ist denkbar, dass ein Angreifer zun\u00e4chst auf einem weniger gut abgesicherten internen System den notwendigen Dienst startet und diesen aufruft.<br><br>Auch ist denkbar, dass weitere Szenarien auftauchen, die den externen Dienst nicht mehr voraussetzen. Die Einschr\u00e4nkung der Kommunikation auf Kommunikationspartner (Systeme und Ports), die f\u00fcr die Funktion einer Anwendung zwingend notwendig sind, ist auf jeden Fall sinnvoll. Es ist aber aktuell nicht klar, ob dies in jedem Fall auch zur Absicherung gegen das aktuelle Problem ausreicht.<br><br><u>Wie weit hilft ein Java-Patchupdate?<\/u><br><br>Aktuelle Java Patchversionen unterbinden das Nachladen von Klassen aus unsicheren Quellen. Die originalen Angriffsszenarien nutzten ein solches Nachladen, weshalb zun\u00e4chst der Eindruck entstand, dass Java Patchupdates ausreichen. Anwendungen k\u00f6nnen jedoch eigene Klassen beinhalten, die so instanziiert werden k\u00f6nnen, das Fremdcode ausf\u00fchrbar wird.<br><br>Insbesondere bringt Tomcat als Ablaufumgebung f\u00fcr in ihn deploybare Anwendungen Klassen mit, mit deren Hilfe das Remote Code Execution-Problem in Log4j 2 genutzt werden kann, ohne Klassen von au\u00dfen nachzuladen.<br><br>Es findet auch bei diesen bekannten Angriffen zwar immer noch eine Kommunikation zu einem b\u00f6sartigen Server statt. Diese ist jedoch deutlich einfacherer Art, als das Nachladen von Klassen, und wird auch von aktuellen Java Patchlevels nicht unterbunden.<br><br><u>Kann ich erkennen, ob eine Anwendung angreifbar ist?<\/u><br><br>Jede Anwendung, die Log4j 2 in einer Version < 2.15.0 beinhaltet - das ist die Version, die letzten Freitag, den 10.12.2021,  ver\u00f6ffentlicht wurde - muss als angreifbar gelten. Eine weitergehende Pr\u00fcfung ist nur durch ein aufwendiges professionelles und dennoch nicht eindeutiges Penetration Testing m\u00f6glich - oder alternativ durch ein extrem aufwendiges Source Code Review, das jede Log-Nachricht im Source Code der Anwendung und aller Hilfsbibliotheken untersucht.<br><br><u>Kann ich erkennen, ob ich schon angegriffen wurde?<\/u><br><br>Das ist leider ebenfalls nicht robust m\u00f6glich. Hinweise k\u00f6nnen zwar Zeichenketten wie etwa \"jndi:\" in Log-Dateien sein. Aus dem Fehlen dieser l\u00e4sst sich aber nicht schlie\u00dfen, dass es keinen Angriff gab.<br><br><u>Seit wann ist das Problem bekannt?<\/u><br><br>Leider gibt es mittlerweile Hinweise, dass die ersten Versuche, die L\u00fccke auszunutzen, etwa am 01.12.2021 geschahen. Das Problem wurde dem Projekt aber erst etwa eine Woche vor Ver\u00f6ffentlichung der korrigierten Version und der Problembeschreibung letzten Freitag gemeldet. Das Projekt hat also sehr z\u00fcgig reagiert, aber insgesamt war das Problem bis jetzt ca. 14 Tage in Hackerkreisen bekannt.<br><br><u>Ist mein System jetzt korrumpiert?<\/u><br><br>Eine Remote Code Execution l\u00e4sst nat\u00fcrlich auch eine Korruption des betroffenen Systems bis hin zum Einbau von Backdoors zu. Der Code l\u00e4uft zwar \"nur\" unter dem Benutzer, unter dem der Java-Prozess ausgef\u00fchrt wurde, kann jedoch durch Kombination mit ggf. anderen vorhandenen Sicherheitsl\u00fccken m\u00f6glicherweise auch zu erweiterten Privilegien des Angreifers f\u00fchren.<\/p>\r\n<!-- \/wp:paragraph -->","_et_gb_content_width":"","footnotes":""},"class_list":["post-395","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/pages\/395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/comments?post=395"}],"version-history":[{"count":33,"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/pages\/395\/revisions"}],"predecessor-version":[{"id":465,"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/pages\/395\/revisions\/465"}],"wp:attachment":[{"href":"https:\/\/www.kippdata.de\/index.php\/wp-json\/wp\/v2\/media?parent=395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}