Startseite » Business & Software » Softwareindustrie » SAP Sicherheit jenseits des Berechtigungskonzeptes

SAP Sicherheit jenseits des Berechtigungskonzeptes

Netzwerkzonierung und Absicherung der Kommunikation

Um die Angriffsfläche, die ein SAP Web Application Server (SAP WebAS) bietet, kontrollieren zu können, ist eine Zonierung auf Netzwerkebene notwendig. Datenbank und Zentralinstanz bilden das Backend und sollten ausschließlich für administrative Benutzer erreichbar sein. Je nach Größe der Installation bieten dann dedizierte Applikationsserver (Java) bzw. Dialoginstanzen (ABAP) den Zugangspunkt für Endbenutzer oder Partnersyste-me. Bei umfangreichen Installationen empfiehlt sich außerdem der zusätzliche Einsatz von Applikationsproxies. Für den Zugang mit SAP GUI kann dies z.B. der SAP Router sein. Generell sollte jedoch das Netzwerkdesign sicherstellen, dass der Zugriff auf Dienste eines SAP Systems nur den jeweiligen Nutzern möglich ist. Der Zugriff für nicht berechtigte Dritte sollte bereits auf Netzwerkebene verhindert werden. Das für SAP GUI verwendete SAP Protokoll “DIAG” bietet nur einen Minimalschutz gegen einfache Mithör-Attacken, da nur eine Komprimierung des Datenstroms stattfindet. Bei SAP Systemen mit mittlerem oder hohem Schutzbedarf in Bezug auf Vertraulichkeit oder Integrität sollte jedoch unbedingt eine Verschlüsselung mittels SNC (Secure Network Communication bei SAP GUI und RFC Zugriff) bzw. SSL (bei Zugriff über den Webbrowser) erfolgen.

SAP Web Application Server

Die Härtung eines SAP Web Application Server (Web AS) erfordert sowohl die Absicherung der ABAP, als auch der Java spezifischen Systemteile. Bei der Installation des SAP Web AS werden standardmäßig Komponenten mitinstalliert, die nicht in jeder Umgebung benötigt werden und ein Sicherheitsrisiko darstellen. Da verschiedene SAP Dienste bereits eine einschlägige Sicherheitshistorie in Form von über Netzwerk nutzbaren Schwachstellen haben, ist die Einschränkung auf benötigte Dienste besonders wichtig. Für die sichere Konfiguration eines SAP Web AS muss an verschiedenen Fronten Hand angelegt werden. Ein Großteil der Konfiguration ist mit Hilfe von Profilparametern möglich, die im ABAP Stack mit Hilfe der Transaktion RZ11 gepflegt werden. In der Transaktion kann weiterhin eine ausführliche Hilfe zu den Parametern aufgerufen werden. Im Folgenden sind beispielhaft sicherheitsrelevante Parametergruppen mit ihrem jeweiligen Zweck aufgeführt:

– login/*password*
Die Vorgaben für die Stärke von Kennwörtern im ABAP Stack erfolgt mit den Parametern dieser Gruppe. Hier sollte sichergestellt werden, dass die Werte eine ausreichende Passwortkomplexität gemäß der Unternehmensrichtline vorschreiben.

– icm/*
Die Einstellungen für den Internet Communication Manager (ICM) beeinflussen das Verhalten des Web AS in Bezug auf HTTP, HTTPS oder auch SMTP Verbindungen. Für Produktions-systeme sollte sichergestellt werden, dass die webbasierte Administration des ICM nur aus vertrauenswürdigen Netzen möglich ist. Weiterhin sollten keine detaillierten Fehlerinformationen des ICM ausgegeben werden.

– auth/*
In dieser Parametergruppe wird unter anderem das Verhalten des Systems bei der Prüfung von Berechtigungsobjekten festgelegt. Um das Berechtigungskonzept in Produktivsystemen nicht zu untergraben, sollte hier eingestellt werden, dass keine Deaktivierung von Berechtigungsobjekten möglich ist und auch für Remote Function Call (RFC) Aufrufe eine vollständige Berechtigungsprüfung stattfindet.

Je nachdem, ob das SAP System auch webbasierte Dienste bereitstellt, sollten diese Dienste nun weiter gehärtet werden. Stellt beispielsweise der Internet Communication Manager (ICM) einen Zugang zu Web-Diensten des ABAP Stacks bereit, so sollte nun dieser Teil so konfiguriert werden, dass nur benötigte Dienste aufrufbar sind. Anderenfalls kann ein Angreifer über diesen Weg nähere Informationen über das System ermitteln oder Schwachstellen in Programmen (z.B. Programmierbeispielen) ausnutzen, obwohl diese für den Betrieb nicht notwendig sind. Zusätzlich zur Einschränkung der angegebenen Dienste sollte sichergestellt werden, dass bei Business Server Page (BSP) Anwendungen keine fremden HTML Inhalte eingeschleust werden können. Dies ist beispielsweise mit bestimmten URL Parametern möglich, die das von einer BSP Anwendung verwendete Darstellungs-Schema übersteuern kann und so u.U. fremde HTML-Inhalte in eine Seite einbringt.

Besonders gefährlich ist auch die Existenz von Systembenutzern mit Standardpasswörtern, da ein Angreifer diese im Allgemeinen zuerst prüft. Diese Benutzer (z.B. SAP*, DDIC oder auch EARLYWATCH) werden für viele Aktivitäten rund um den Basisbetrieb benötigt und sind immer vorhanden. Da diese Benutzer auch unpersonalisierten Zugang zu Produktivsystemen ermöglichen, sollten sie hier generell gesperrt und nur bei Bedarf mit Protokollierung aktiviert werden.

Der Java Anteil im SAP WebAS stellt einen eigenständigen Applikationsserver auf J2EE Basis dar. Die Kommunikation zwischen Java und ABAP Anteil des SAP WebAS erfolgt mit dem JavaConnector, der als Schnittstelle zwischen den beiden Welten dient. Bei Dual-Stack (also ABAP- und Java-Anteil) Installationen gilt es somit, eine weitere Komponente abzusichern.
Auch in der Java Stack Installation sollten nur benötigte Anteile mitinstalliert werden. Falls z.B. Knowledge Management, das TREX System oder auch Beispielprogramme nicht verwendet werden, sollten diese auch nicht mitinstalliert oder mittels SDM deinstalliert werden. Hier lauert jedoch eine Falle: mit Softwareupdates halten die deinstallierten Programme unter Umständen wieder Einzug in das System. Aus diesem Grund ist es empfehlenswert entweder nach jedem Update die Liste der installierten Komponenten entweder prüfen, oder die nicht benötigten Komponenten auf dem System belassen aber zu deaktivieren. Nach der Installation enthält der Java Anteil des Web AS standardmäßig verschiedene aktive Dienste, die für die Ausführung von Anwendungen erforderlich sind. Einige dieser Dienste bedienen eigene Netzwerkports und bieten somit zusätzliche Fläche für einen Angreifer. Die Konfiguration bzw. Deaktivierung von Diensten des Java Stack erfolgt mit Hilfe des Visual Administrator bzw. dem Config Tool. Generell gilt für die Konfiguration der Dienste wieder das Minimalprinzip: Nur tatsächlich notwendige Dienste sollten aktiviert bleiben- insbesondere be Netzwerkdiensten wie z.B. dem Telnet oder dem HTTP Provider. Ist klar welche Dienste benötigt werden, sollte versucht werden, mögliche Angriffspunkte auf Ebene dieser einzelnen Dienste zu minimieren. Für einen HTTP Provider bedeutet dies, dass in produktiven Java Systemen z.B. die HTTP Methoden “TRACE” und “PUT”, sowie das Directory Browsing abgeschaltet werden sollten, um z.B. Cookie-Stealing Attacken entgegenzuwirken. Auch dies kann mit entsprechender Konfiguration des Dienstes verhindert werden. Abhängig von der eingesetzten Version des SAP Web AS Java, sind diese Optionen bereits standardmäßig deaktiviert.

Als Unternehmensberatung in allen Fragen der Informationssicherheit setzt die Secaron AG die höchste Priorität darauf, mit ihren Kunden ein adäquates, wirtschaftlich sinnvolles Sicherheits-Niveau festzulegen. Secaron hilft sowohl bei der Umsetzung organisatorischer, als auch technischer Maßnahmen, um die Geschäftsprozesse der Kunden sicher ablaufen zu lassen.

Posted by on 13. März 2008. Filed under Softwareindustrie. You can follow any responses to this entry through the RSS 2.0. You can leave a response or trackback to this entry

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.


Blogverzeichnis - Blog Verzeichnis bloggerei.de Blog Top Liste - by TopBlogs.de Blogverzeichnis