Absicherung unternehmenskritischer Webapplikationen

Webapplikationen gewinnen für Unternehmen immer mehr an Bedeutung und sind zunehmend als unternehmenskritisch einzustufen. In Zukunft wird sich dies noch mehr steigern, da immer mehr Applikationen, die herkömmlich einen lokal installierten Client erforderten, als Webapplikationen und somit als zentraler Dienst zur Verfügung gestellt werden. Da diese Art der Bereitstellung deutliche Vorteile gegenüber traditionellen Client/Server Anwendungen bieten, wird sich dieser Trend weiter fortsetzen. Durch diese Änderung in der Applikationslandschaft müssen auch die Sicherheitsmechanismen entsprechend angepasst werden.

Der breite Einsatz von Webapplikationen verändert viele Bereiche in der IT und macht somit eine neue Bewertung der geänderten Situation erforderlich. Es ist keine Frage, ob sich die Webapplikationen durchsetzen werden oder nicht, sondern nur, wann es denn so weit sein wird. Als Verantwortlicher im Bereich der Client Infrastruktur oder des End User Computing ergeben sich gleich mehrere Vorteile, wenn lokal installierte Applikationen auf dem Client nicht mehr benötigt werden. Die Aufwände für das Ausrollen der Anwendung und deren stetige Aktualisierung werden schlagartig obsolet und es ist nur noch eine Konzentration auf das Betriebssystem und den Browser notwendig, der für den Zugriff auf die Webapplikation benötigt wird. Da Microsoft mit ihrem Edge Browser einen neuen Weg eingeschlagen hat und in Zukunft die Chromium-Engine verwendet, ist es vorstellbar, dass ein Windows System „out of the box“ direkt vom Benutzer verwendet werden kann, ohne, dass die IT noch eine große Menge an zusätzlichen Installationspakete auf das System ausbringen muss. Dies alles spart sehr viel Zeit und macht auch einen Client schlanker und zugleich dadurch auch sicherer, da er weniger Angriffsfläche für Cyber Attacken bietet. Denn gerade Software von Drittanbietern, wie Adobe Acrobat oder Reader, Oracle Java, 7-zip & Co. sind oft Einfallstore für Schadcode. Denk man hier aber nur etwas weiter, so öffnet sich die Tür für eine andere Art von Clients, die vielleicht gar nicht mehr auf Windows basieren, was BYOD Szenarien einfacher möglich macht oder auch von Apps für mobiler Device mehr als nur ein kleiner Spalt, gegenüber denjenigen Clients, die eine IT normalerweise bereitstellt und die zugleich den Nachteil haben, dass mit ihnen viele neue Konzepte einfach nicht umsetzbar sind. Läuft die Applikation im Browser sind auch lokal auf dem System keine Daten im herkömmlichen Sinne mehr gespeichert. Dies spielt wieder weit in das Thema IT Sicherheit und Datenschutz respektive DSGVO mit hinein, vor allen auch deshalb, weil es mit Webapplikationen sehr einfach zu protokollieren ist, wer wann auf welche Daten wie zugegriffen hat. Sollte es einen für die DSGVO relevanten Datenabfluss geben, lässt es sich ebenfalls viel einfacher nachvollziehen, welche Daten betroffen sind und welchen Umfang der Vorfall hatte. Damit ist man direkt im Thema DSGVO und Meldepflichten angekommen, was für sehr viele eine sehr große Herausforderung darstellt. Um nun wieder die Kurve Richtung Absicherung zu bekommen, spielt das Thema Remote oder VPN Zugang zum Unternehmen eine wichtige Rolle. Ein vollwertiges VPN mit einer Netzwerkkopplung zwischen einem externen Client und dem Unternehmensnetzwerk ist viel schwieriger abzusichern und somit komplexer und fehleranfälliger gegenüber einer einzelnen Applikationsverbindung. Mit einem VPN in Form einer Netzwerkkopplung öffnet man das Unternehmensnetzwerk gezwungenermaßen in Richtung des Clients. Oft hat man hier als Verantwortlicher auch keine große Wahl, da der Client entsprechende Verbindungen zum AD benötigt und die lokal installierten Anwendungen dann direkt mit den Serversystemen und Datenbanken kommunizieren müssen. Bei einer Webapplikation hingegen benötigt man nur https und ggf. http für den Redirect. Die Verschlüsselung eines VPN’s und einer https-Verbindung basiert schlussendlich auf der gleichen Basis von AES Verschlüsselung, elliptischen Kurven und Prüfsummen. Daher ist die Diskussion welcher Zugang der sicherere ist, ebenfalls obsolet und vor allem dann, wenn statt IPSec ein SSLVPN zum Einsatz kommt. Der Mehrwert bei der Absicherung kommt auch bei der Serverumgebung zum Tragen. Hier lässt sich durch die klaren Strukturen von Applikationsservern, ggf. einer Middelware, den Datenbankservern und den Frontend Systemen, wie Reverse Proxies usw. ein sehr einfaches und zugleich sehr effektives Regelwerk mit Firewalls erstellen um die jeweiligen Systeme entsprechend vor unerwünschten Zugriffen zu schützen. Bei einer klassischen Client/Server Umgebung muss der Zugriff auf die Server von jedem Client aus erlaubt sein, damit die Anwendung funktioniert. Gegenüber der Webapplikation ist diese Angriffsfläche so zu sagen eher riesig, statt minimal. Ein gutes Beispiel hierfür sind Datenbankserver, die immer wieder von massiven Sicherheitsproblemen betroffen sind. Da die Datenbank mehr oder weniger von jedem Client direkt angesprochen werden kann, müsste diese sofort aktualisiert werden, was aber in den meisten Fällen im normalen Betrieb überhaupt nicht möglich ist. Bei einer Webapplikation hingegen hat ein normaler Client gar keinen direkten Zugriff auf die Datenbank und diese ist somit durch einen Client gar nicht erst angreifbar. Dies verschafft der IT Zeit ein entsprechendes Wartungsfenster für die Aktualisierung zu planen ohne die Sicherheit der Daten so massiv zu gefährden, als hätte jeder die Möglichkeit nun diese Sicherheitslücke auszunutzen. Das Thema der Webapplikationen hält daher viele Synergieeffekte bereit, die die vermeintlichen Nachteile dieser Art der Applikationsbereitstellung überwiegen. Denn häufig hört man das Argument, dass man um Arbeiten zu können online sein muss. Aber wenn man hier ganz ehrlich ist, dann ist dies doch der Normalzustand und für den Remote Zugriff gibt es sowieso keine andere Option. Dies gilt auch für die Zusammenarbeit mit Kunden und Partnern, ohne online zu sein, ist hier ebenfalls nichts mehr möglich. Noch nicht mal mehr telefonieren, da der SIP Trunk auch auf einer Kommunikation per IP-Protokoll basiert.

Unternehmen, die diesen Weg der Applikationsbereitstellung weitergehen, müssen sich Gedanken machen, wie man die so über das Internet bereitgestellte Applikationen entsprechend absichert. Vielen ist es wahrscheinlich gar nicht bewusst, aber diese Art Anwendungen bereitzustellen, wird von den meisten seit mehr als zehn Jahren schon gemacht – Outlook-Web-Access oder jetzt Outlook-Web-App (OWA), Outlook Anywhere und ActiveSync wird per https über das Internet für die Mitarbeiter bereitgestellt, damit diese mit ihren mobilen Geräten Zugriff auf ihre Mails, Kontakte und Kalender haben. Dabei spielt es gar keine Rolle ob der Exchange in Eigenregie oder in der Public Cloud läuft, der Weg dorthin ist immer https und somit ist es eine Webapplikation. Die Vorteile von überall an seine Mails, Termine und Aufgaben zu kommen, will keiner mehr abgeben und daher ist es nur eine Frage der Zeit, bis die anderen Anwendungen ebenfalls nur noch auf diesem Weg genutzt werden. Aber dieser Weg benötigt eine für den Betrieb ausreichende Sicherheit und eine entsprechende Absicherung der Anwendung selbst. Die gute Nachricht ist, dass es auf dem IT Markt Produkte gibt, die genau dazu in der Lage sind. Es steht alles zur Verfügung, man muss die vorhandenen Produkte nur entsprechend einsetzen. Wer Applikationen so bereitstellt, muss Systeme wie Web Application Firewalls (WAF), Application Delivery Controller (ADC), Intrusion Prevention System (IPS) sowie Reverse Proxies und Load Balancer ebenso selbstverständlich einsetzen wie Firewalls zur Absicherung der Netzwerksegmente. Grundsätzlich gehört aber auch ein Netzwerk- und Segmentierungskonzept mit dazu, dass die verschieden Systeme zu deren Schutz in unterschiedlichen Bereiche (Zonen) passend aufteilt. Ein solches Konzept muss auch die zukünftige Skalierbarkeit der Applikation berücksichtigen. Ein gutes Beispiel für eine solche Eigendynamik sind Intranet Lösungen oder Plattformen für den Austausch von Dateien. Häufig beginnen solche Projekte mit einer kleinen Anfrage aus einer Fachabteilung für die Bereitstellung entsprechender Webapplikationen im Rahmen eines Kundenprojektes oder für die Zusammenarbeit mit einem Partner. Bei allen Beteiligten zeigen sich sehr schnell die Vorteile von diesen Anwendungen und deren einfache Erreichbarkeit ohne aufwendiges bereitstellen von VPN Zugängen für interne und externe Benutzer. Es dauert dann meist nicht lange, bis die Eigendynamik ins Spiel kommt und immer mehr Abteilungen und externe Benutzer die Anwendungen verwenden bis schlussendlich das komplette Unternehmen dies tut. Spätestens zu diesem Zeitpunkt werden die Anwendungen dann unternehmenskritisch, denn bei einem Ausfall hat dies einen direkten Einfluss auf die Produktivität. Daher ist es sehr ratsam von Anfang an auf die Skalierbarkeit der jeweiligen Anwendung zu achten, weil es auf einmal für die IT Abteilung sehr schnell gehen kann, diese Anwendungen einer größeren Anzahl von Anwendern für das parallele Arbeiten auf diesen Systemen bereitstellen zu müssen. Designfehler von Quick’n Dirty Installationen lassen sich später nur mit großem Aufwand wieder beheben, meist es ist eine komplette Restrukturierung der Applikation mit aufwendiger Übernahme der vorhandenen Daten. Vor allem bietet ein durchdachtes Design von Anfang an überhaupt erst die Möglichkeit Webapplikationen entsprechend abgesichert bereitzustellen. Bei selbst entwickelten Applikationen müssen alle Abteilungen, wie Software Entwicklung, Netzwerk, IT Sicherheit, Serversysteme, Infrastruktur usw. von Anfang an zusammenarbeiten. Es ist sehr wichtig, dass Trennungen zwischen Frontend, Backend, Datenbanken usw. existieren und auch neuen Möglichkeiten wie Microservices und Container berücksichtigt werden. Der Einsatz von Reverse Proxy Diensten bzw. ADC’s in Kombination mit Schutz vor DoS Angriffen auf die Applikation sowie einer WAF und einem IPS ist mehr oder weniger Pflicht für den Betrieb von Webapplikationen die öffentlich erreichbar sind und auch sein müssen, damit die ganzen Vorteile auch zum Tragen kommen. Diese öffentliche Erreichbarkeit führt dann direkt zum nächsten Schritt der Absicherung. Wie authentifiziert man zuverlässig seine Benutzer und wie schützt man sich gegen den Missbrauch und Brute Force Attacken. Hier bieten sich SAML bzw. Single Sign On (SSO) Anmeldung auf Basis einer Zwei-Faktor-Authentifizierung (2FA) an. Aber auch hier gibt es geeignete Dienste und Produkte, die nur eingesetzt werden müssen. Der Einsatz einer 2FA für die eigenen Mitarbeiter ist noch relativ einfach umzusetzen, da man es hier einfacher hat eine entsprechende Lösung umzusetzen. Etwas schwieriger wird es bei externen Benutzern, die aber auch Zugriff auf die Anwendungen haben müssen. Hier sollte man sich entsprechende Gedanken machen, wie es auch für die externen Benutzer praktikabel ist, sich mit einer 2FA anmelden zu können. Vor allem sollte einem hier Bewusst sein, dass u.U. der externe Mitarbeiter mehr als nur einen Account mit einer 2FA hat. Demzufolge ist der Einsatz von Hardware Token oft schwierig. Einfacher ist es die 2FA ggf. mit einer App für das Mobiltelefon bereitzustellen, hier muss jedoch geklärt werden, ob der Mitarbeiter diese überhaupt auf sein Dienstgerät installieren darf. Eine Absprache mit der jeweiligen IT kann viel dazu beitragen, schnell eine Lösung herbeizuführen. Hat man diese Probleme alle erfolgreich gelöst, sind noch ein paar Punkte offen, die es zu bedenken gilt. Dazu gehören das Monitoring und die Anomalie Erkennung und ein entsprechendes Update Konzept für die Server, die Anwendungskomponenten und die Sicherheitssysteme selbst. Eine solche Anwendung steht exponiert im Internet zur Verfügung, was sie ja auch sein muss, denn sonst hätten die Benutzer ja keinen Zugriff auf diese. Demzufolge ist die Anwendung des ganz normalen Wahnsinns im Internet ausgesetzt. Wer sich im Vorfeld entsprechende Gedanken gemacht hat und seine Anwendung(en) passend bereitstellt, der profitiert von allen Vorteilen, der Webapplikationen und hat sogar deutlich weniger Probleme und Nachteile der klassischen Client/Server Anwendungen, denn als deren Entwicklung begann, hat keiner an eine Bereitstellung über das Internet gedacht. Alles was heute für diese Anwendungen implementiert wird, ist so zu sagen eine Krücke um es überhaupt möglich zu machen. Die Zukunft gehört den Webapplikationen und den RestAPI’s.

Bei Fragen zu Thema stehen wir wie gewohnt zur Verfügung.