AP2_FIAE - Webentwicklung - Sicherheit von Webanwendungen
Deck: AP2_FIAE Kategorie: Webentwicklung Subkategorie: Sicherheit von Webanwendungen Anzahl Karten: 34
Was ist Profiling?::Profiling ist ein Prozess, bei dem herausgefunden wird, wo eine Anwendung die meiste Zeit verbringt oder am meisten Ressourcen verbraucht. Tools wie Chrome DevTools für Frontend und VisualVM für Java-Anwendungen können dabei helfen.
Was ist Caching?::Caching ist eine effektive Methode, um die Performance zu verbessern. Statische Inhalte wie Bilder oder CSS-Dateien sollten per Browser-Caching zugegriffen werden, während Datenbankanfragen durch Anwendungs-Caching optimiert werden können.
Was sind Lasttests?::Lasttests simulieren eine hohe Anzahl von Benutzern, um zu überprüfen, wie eine Anwendung unter hohem Verkehrsaufkommen skaliert. Tools wie Apache JMeter oder Locust können dabei helfen.
Was ist Kapazitätsplanung?::Bei der Kapazitätsplanung wird basierend auf den Lasttestergebnissen abgeschätzt, welche Ressourcen (CPU, RAM, Bandbreite) unter erwarteten Lastspitzen benötigt werden.
Was ist vertikale Skalierung?::Vertikale Skalierung bedeutet, dass mehr Ressourcen (z.B. CPU, RAM) einem Server hinzugefügt werden. Es ist einfacher, hat aber physische Grenzen.
Was ist horizontale Skalierung?::Horizontale Skalierung bedeutet, dass mehr Server hinzugefügt werden und die Last zwischen ihnen verteilt wird. Dies erfordert einen Load Balancer, der eingehende Anfragen an die verschiedenen Server verteilt.
Was ist ein CDN?::Ein Content Delivery Network (CDN) speichert Kopien deiner statischen Inhalte in verschiedenen geografischen Standorten. Durch die Bereitstellung von Inhalten von einem Standort, der dem Endbenutzer geografisch näher ist, kann die Ladegeschwindigkeit erheblich verbessert werden.
Was ist Edge Computing?::Bei Edge Computing werden Berechnungen näher an der Datenquelle (am “Rand” des Netzwerks) durchgeführt, was sich positiv auf die Reaktionszeiten auswirkt.
Was ist Versionsverwaltung?::Versionsverwaltung ist unerlässlich für die Teamarbeit. Git ist das weit verbreitete Tool für diesen Zweck.
Was sind Branching-Strategien?::Branching-Strategien wie Git Flow oder GitHub Flow helfen Teams, organisiert zu bleiben und Konflikte zu vermeiden.
Was sind Code-Reviews?::Code-Reviews sind eine regelmäßige Überprüfung des Codes durch Teammitglieder, die nicht nur die Codequalität verbessern, sondern auch den Wissensaustausch fördern.
Was ist Build-Automatisierung?::Build-Automatisierung nutzt Tools wie Maven, Gradle oder Webpack, um den Build-Prozess zu automatisieren.
Was ist Continuous Integration (CI)?::Dank CI-Tools wie Jenkins, GitLab CI oder GitHub Actions wird der Code automatisch gebaut und getestet, sobald Änderungen vorgenommen werden, was eine schnelle Feedback-Schleife ermöglicht.
Was ist Continuous Deployment (CD)?::Mit CD-Strategien können Änderungen automatisch in Produktion gebracht werden, sobald sie den Testprozess passiert haben.
Was ist Containerisierung?::Tools wie Docker erlauben es, Anwendungen zusammen mit ihren Umgebungen zu “containerisieren”, was konsistente und reproduzierbare Bereitstellungen gewährleistet.
Was ist Kubernetes?::Kubernetes ermöglicht die Verwaltung von containerisierten Anwendungen über Cluster hinweg und bietet Funktionen wie Selbstheilung, Skalierung und Load Balancing.
Was ist Authentifizierung?::Die Authentifizierung verifiziert die Identität eines Nutzers. Dies geschieht üblicherweise durch die Eingabe von Anmeldedaten, wie einem Benutzernamen und einem Passwort.
Was ist Zwei-Faktor-Authentifizierung (2FA)?::Bei der Zwei-Faktor-Authentifizierung (2FA) ist nach der Eingabe des Passworts ein zusätzlicher Code erforderlich, der an das Handy des Nutzers gesendet wird.
Was ist Autorisierung?::Nach erfolgreicher Authentifizierung wird die Autorisierung verwendet, um zu bestimmen, auf welche Ressourcen oder Funktionen ein Nutzer Zugriff hat. Dies wird oft über Rollen oder Gruppenzugehörigkeiten geregelt.
Was ist Zugriffskontrolle?::Die Zugriffskontrolle prüft anhand der Autorisierungsinformation eines Nutzers, ob dieser die nötigen Berechtigungen für einen bestimmten Zugriff besitzt. Dies wird auf Serverseite an jedem Endpunkt der Webanwendung durchgeführt, der geschützte Ressourcen bereitstellt.
Was ist ein JSON Web Token (JWT)?::Ein JSON Web Token (JWT) ist ein kompaktes URL-sicheres Mittel zur Repräsentation von Ansprüchen, die zwischen zwei Parteien ausgetauscht werden. Es wird häufig für Authentifizierung und Autorisierung in Webanwendungen verwendet.
Was ist SSL/TLS?::SSL (Secure Sockets Layer) und sein Nachfolger TLS (Transport Layer Security) sind Protokolle zur Verschlüsselung von Informationen, die zwischen Webserver und Browser ausgetauscht werden.
Was ist HTTPS?::HTTPS (Hypertext Transfer Protocol Secure) ist ein Protokoll zur sicheren Übertragung von Daten im Internet. Es kombiniert HTTP mit SSL/TLS, um Datenverschlüsselung, Datenintegrität und Authentifizierung zu bieten.
Welche Vorteile hat HTTPS?::Die Vorteile von HTTPS sind Datenverschlüsselung, Datenintegrität und Authentifizierung.
Was sind SSL-Zertifikate?::SSL-Zertifikate sind digitale Zertifikate, die die Identität einer Webseite bestätigen und öffentliche Schlüssel enthalten, die zur Verschlüsselung von Daten verwendet werden.
Welche Typen von SSL-Zertifikaten gibt es?::Es gibt Domain Validated (DV) Zertifikate, Organization Validated (OV) Zertifikate und Extended Validation (EV) Zertifikate. EV-Zertifikate bieten die strengsten Validierungsstandards.
Was ist statische Analyse (SAST) im Security Testing?::Statische Analyse (Static Application Security Testing, SAST) durchsucht den Quellcode nach Sicherheitslücken, ohne die Anwendung auszuführen. Nützlich, um Fehler in der Entwicklung frühzeitig zu erkennen.
Was ist dynamische Analyse (DAST) im Security Testing?::Dynamische Analyse (Dynamic Application Security Testing, DAST) testet die Anwendung während ihrer Ausführung, um Laufzeitschwachstellen zu identifizieren. Es simuliert echte Angriffszenarien.
Was ist interaktive Analyse (IAST) im Security Testing?::Interaktive Analyse (Interactive Application Security Testing, IAST) kombiniert Aspekte von SAST und DAST, indem sie Tests innerhalb der laufenden Anwendung ausführt und gleichzeitig den Quellcode analysiert.
Was ist Penetration Testing?::Penetration Testing sind manuelle oder automatisierte Tests, die darauf abzielen, Schwachstellen in einer Webanwendung durch simulierte Cyberangriffe zu identifizieren.
Was ist Härtung von Webanwendungen?::Die Härtung von Webanwendungen ist der Prozess der Implementierung zusätzlicher Sicherheitseinstellungen und Konfigurationen, um bestehende Schwachstellen zu mindern und potenzielle Angriffe zu erschweren.
Was ist das Prinzip der geringsten Berechtigungen?::Das Prinzip der geringsten Berechtigungen beschränkt die Zugriffsrechte für Benutzer und Anwendungen auf das absolut Notwendige.
Was ist Input Validation?::Input Validation ist die Implementierung von strengen Überprüfungen der Benutzereingaben, um SQL-Injection, Cross-Site Scripting (XSS) und andere Injection-Angriffe zu verhindern.
Was ist eine Content Security Policy (CSP)?::Eine Content Security Policy (CSP) reduziert die Möglichkeiten eines Angreifers, schädlichen Inhalt in eine Webanwendung einzufügen.