In der guten alten Zeit konnten Unternehmen noch auf strategisch eingesetzte Proxys zurückgreifen, um die Anwendungsleistung zu verbessern. Denn herkömmliche Anwendungen – Monolithen und dreistufige Architekturen – nutzten in der Regel einen einzigen Datenpfad zwischen Client und Server.
Einfach ausgedrückt gab es für sämtliche Inhalte nur einen Übertragungsweg – unabhängig davon, ob sie statisch oder dynamisch waren oder aus Texten oder Bildern bestanden. Dadurch konnte ein Application Delivery Controller (Proxy) zwischengeschaltet werden und – sofern das richtige Modell zum Einsatz kam – die Leistung optimieren. Dies wurde und wird übrigens häufig durch die Anpassung verschiedener IP-, TCP- und sogar HTTP-Parameter erreicht. Solche Verfahren kommen bei der Bereitstellung von Anwendungsdiensten wie Caching, Komprimierung und inhaltsspezifischen Beschleunigungstechniken zum Einsatz.

Moderne Anwendungen sind jedoch nicht mehr autark. Sie bestehen heute laut Sonatype größtenteils (zu 80–90 %) aus Komponenten von Drittanbietern, die zunehmend auch Open Source sind. Dies zeigt sich an der Anzahl der Skripte und anderer einschleusbarer Codebestandteile in Webanwendungen. Manchmal wird ein solches Skript auf einem entfernten System ausgeführt und liefert ein Bild, eine Anzeige oder andere Inhalte wie Webfonts und Sprites zurück. In anderen Fällen wird das Skript selbst zur Laufzeit geladen und innerhalb des Browsers ausgeführt, wie etwa jQuery.
Dies wird als Komponentisierung bezeichnet – oder als Atomisierung, wenn Ihnen das lieber ist. Dabei werden Anwendungen in viele kleinere Teile zerlegt. Auf der Clientseite nennen wir sie Komponenten, da sie in der Regel im selben Bereich ausgeführt werden. Auf der Serverseite bezeichnen wir sie zunehmend als Microservices und stellen sie in Containern bereit. In beiden Fällen sind die Auswirkungen ähnlich: Am Ende haben wir eine unvorhersehbare Anzahl von Datenpfaden, die sich unmittelbar auf die Leistung auswirken.
Im Grunde haben Sie nur die Kontrolle über einen einzigen Datenpfad, der vielleicht 20 % Ihrer Anwendung ausmacht. Das bedeutet, dass Sie nur sehr wenig Einfluss auf die Benutzererfahrung haben, weil Sie die Performance kaum kontrollieren können.
Das gilt auch für die Sicherheit – danke für den Hinweis. Wir lernen derzeit schnell, clientseitige Programmiertechniken zur Verbesserung der Sicherheit zu nutzen. Bei der Performance funktioniert das nicht so gut, da die meisten Apps entweder mobile Apps oder Webanwendungen sind und beide kaum die Möglichkeit bieten, am Netzwerk-Stack herumzubasteln.
Eine Möglichkeit, dieses Problem zu bekämpfen, besteht darin, die Kontrolle zurückzugewinnen. Das Gute daran ist, dass sich daraus auch positive Nebeneffekte für die Sicherheit ergeben können.
WIN-WIN-SITUATION: RISIKO REDUZIEREN und LEISTUNG VERBESSERN
Wenn Ihre Apps regelmäßig Komponenten dynamisch von externen Websites laden, sollten Sie damit aufhören. Und zwar sofort. Das ist nicht nur ein Performance-, sondern ebenso ein Sicherheitsproblem. Sie erteilen einem extern bezogenen Skript damit stillschweigend eine Blankovollmacht, im Kontext Ihrer Anwendung ausgeführt zu werden. Glauben Sie mir: Im Falle einer Sicherheitsverletzung kann ein Benutzer nicht zwischen Ihren Komponenten und den extern geladenen Komponenten unterscheiden. Wie uns das jüngste Debakel um die Sicherheitslücke im runc-Container gezeigt hat, birgt das Einschleusen von Schadcode in Ressourcen, die aus Drittanbieter-Registries oder von externen Websites geladen werden, ein Sicherheitsrisiko.
Wenn es sich um ein Skript handelt, sollten Sie es besser kopieren und über Ihre eigene Infrastruktur bereitstellen. So reduzieren Sie das Risiko, da Sie die Kontrolle behalten, und können zugleich an den Stellschrauben drehen, um die Performance für Ihre Nutzer zu verbessern. Dazu gehört auch DNS, das nachweislich immer wieder den größten – und häufig negativen – Einfluss auf die Anwendungsperformance hat. Wenn Sie Komponenten von externen Websites abrufen, sind Sie darauf angewiesen, dass deren DNS-Infrastruktur die Erwartungen erfüllt. Wenn Sie Komponenten hingegen von Ihren eigenen Websites abrufen, können Sie die Auswirkungen erheblich reduzieren, da der lokale DNS-Cache des Nutzers zu Ihren Gunsten arbeitet.
Wenn Sie Skripte auf Ihrer eigenen Website hosten, können Sie außerdem TCP-Optimierungen, SSL/TLS-Offloading oder allgemeine Techniken zur Anwendungsbeschleunigung einsetzen, um die Gesamtleistung zu verbessern. Zudem haben Sie so die Möglichkeit, diese Skripte Sicherheitsprüfungen zu unterziehen, um sicherzustellen, dass sich darin keine bösen Überraschungen verbergen.
Die Aufteilung in Komponenten ist für die Entwicklung äußerst hilfreich und trägt zweifellos dazu bei, die Wertschöpfungszeit zu verkürzen. Sie kann sich jedoch negativ auf die Leistung und Sicherheit auswirken. Seien Sie sich der Risiken für die Sicherheit und Benutzerzufriedenheit bewusst und informieren Sie sich darüber, wie Sie ihnen entgegenwirken können.
Über den Autor

Lori MacVittie ist Distinguished Engineer und Chief Evangelist im Office of the CTO von F5 und verfügt über umfassende Expertise in den Bereichen Anwendungsbereitstellung, Automatisierungsstrategie und Infrastruktur. Sie ist dafür bekannt, Komplexität verständlich zu machen – ob sie Leitplanken für KI-Agenten definiert, fragile Multicloud-Architekturen analysiert oder die Grenzen skalierbarer Systeme auslotet. Sie verfügt über mehr als dreißig Jahre Branchenerfahrung in der Anwendungsentwicklung, IT-Architektur sowie im Netzwerk- und Systembetrieb. Bevor sie zu F5 kam, war sie als mehrfach ausgezeichnete Technologie-Redakteurin tätig. MacVittie hat einen Masterabschluss in Informatik und ist eine produktive Autorin, deren Veröffentlichungen die Bereiche Sicherheit, Cloud und Unternehmensarchitektur abdecken. Außerdem spielt sie leidenschaftlich gern Brett- und Videospiele und vertritt mit voller Überzeugung klare Ansichten zum Thema Käse.
Weitere Blogbeiträge von Lori Mac VittieÄhnliche Blogbeiträge
F5 und Equinix bündeln ihre Kräfte, um die sichere Anwendungsbereitstellung in Multicloud-Umgebungen zu vereinfachen
F5 und Equinix ermöglichen es Unternehmen, sich weltweit sicher und zuverlässig mit ihren Partnern zu vernetzen.

API-Sicherheitsrisiken und -herausforderungen
Erfahren Sie, warum APIs für die moderne App-Entwicklung unverzichtbar sind und wie Sie sie vor den häufigsten Sicherheitslücken schützen. Profitieren Sie von Expertentipps und direkt umsetzbaren Strategien.
Ein Meilenstein für die Community Impact Grants von F5
F5 feiert das fünfjährige Bestehen seines innovativen Community Impact Grant-Programms, das gemeinnützige Organisationen, bei denen sich F5-Mitarbeitende ehrenamtlich engagieren, mit Fördermitteln in Höhe von 5.000 US-Dollar unterstützt.
Mit moderner, anpassungsfähiger und sicherer Gesundheits-IT Leben retten
Die IT-Investitionen im Gesundheitswesen tragen dazu bei, die schnellsten Wege zu einer besseren Versorgung zu finden, indem sie die medizinische Betreuung näher an die Patientinnen und Patienten bringen. Viele Gesundheitsunternehmen nutzen riesige Mengen an klinischen und anderen Gesundheitsdaten, um Entwicklungen zu verfolgen und übergreifende Trends in der gesamten Gesundheitslandschaft zu erkennen. Gleichzeitig nähern sie sich einer möglichst präzisen, individuell zugeschnittenen Versorgung an.
Verbesserung der Benutzer- und Administrationserfahrung durch sicheren hybriden Zugriff
Diese Kombination aus BIG-IP Access Policy Manager und Azure Active Directory ermöglicht Identitätsföderation, zentralisierten Benutzerzugriff (über Single Sign-on) und erhöhte Anwendungssicherheit (durch Multi-Faktor-Authentifizierung) für geschäftskritische Anwendungen sowie cloudbasierte und SaaS-Anwendungen. Dieser Ansatz vereinfacht die Einrichtung und Bereitstellung, reduziert den Verwaltungsaufwand und verbessert die gesamte Administration.
Das Internet der Sicherheitsdinge
Nein, das ist keine Tirade über die Sicherheit des IoT. Es ist eine Geschichte über Veränderung – genauer gesagt über Veränderung und ihre Auswirkungen auf die Sicherheit. Veränderung ist allgegenwärtig. Es gibt unzählige Axiome und Sprichwörter über Veränderung, also ist es ...