Zero Trust ist ein Sicherheitskonzept, das auf dem Grundsatz basiert:
„Vertraue niemandem – weder innerhalb noch außerhalb des Netzwerks – ohne vorherige Prüfung.“
Im Gegensatz zu klassischen Sicherheitsmodellen, die internen Netzwerkzugriffen oft automatisch vertrauen, verlangt Zero Trust, dass jeder Zugriff authentifiziert, autorisiert und kontinuierlich überwacht wird – unabhängig vom Standort des Nutzers oder Geräts.
Verifikation statt Vertrauen
Jeder Nutzer, jedes Gerät, jeder Dienst muss sich authentifizieren – selbst wenn er „innerhalb“ des Netzwerks ist.
Least Privilege Access (Minimalrechte)
Benutzer und Dienste bekommen nur die Rechte, die sie wirklich brauchen – nicht mehr.
Kontinuierliche Überprüfung
Vertrauensentscheidungen werden laufend neu bewertet: z. B. durch Verhaltenserkennung, Standortänderungen, Geräte-Status etc.
Mikrosegmentierung
Netzwerke werden in kleine, isolierte Bereiche unterteilt, damit Angreifer sich nicht frei bewegen können.
Zentrale Sichtbarkeit und Logging
Jeder Zugriff wird protokolliert und überwachbar gemacht – für Audits, Compliance und Angriffsanalysen.
Multi-Faktor-Authentifizierung (MFA)
Identity & Access Management (IAM)
Gerätebewertung (Device Posture): z. B. Virenschutz, aktuelle Patches
VPN-Ersatz durch ZTNA (Zero Trust Network Access)
Cloud-native Firewalls, Mikrosegmentierung mit SDN
Monitoring & Anomalie-Erkennung (SIEM, UEBA)
Remote Work / Home Office: Mitarbeiter sind überall – nicht mehr „im sicheren Firmen-LAN“.
Cloud & SaaS-Dienste: Daten liegen nicht mehr nur im Rechenzentrum.
Höhere Bedrohungslage: Ransomware, Social Engineering, Insider-Angriffe.
Ohne Zero Trust:
Ein VPN-Nutzer erhält vollen Netzwerkzugriff, nur weil er eingeloggt ist.
Mit Zero Trust:
Der Nutzer muss sich regelmäßig authentifizieren, sein Gerät muss sicher sein, und er sieht nur die Dienste, die er wirklich braucht – kein „Blindvertrauen“.
Zero Trust ist kein einzelnes Produkt, sondern ein Strategieansatz für moderne IT-Sicherheit. Ziel ist es, durch ständige Verifikation und Minimierung von Zugriffsrechten Schäden durch Cyberangriffe, Fehlkonfigurationen oder menschliches Versagen drastisch zu reduzieren.
Least Privilege (deutsch: Prinzip der minimalen Rechte oder Minimalprinzip) ist ein grundlegendes Sicherheitsprinzip in der IT und Informationssicherheit. Es besagt:
Jede Person, jedes System oder jeder Prozess soll nur genau die Zugriffsrechte erhalten, die für die Ausführung seiner Aufgaben unbedingt notwendig sind – nicht mehr und nicht weniger.
Das Prinzip des geringsten Privilegs hilft dabei:
Sicherheitsrisiken zu minimieren: Wenn ein Angreifer ein Nutzerkonto kompromittiert, kann er nur auf das zugreifen, wozu dieses Konto berechtigt ist.
Fehlbedienungen zu vermeiden: Benutzer können keine unbeabsichtigten Änderungen an kritischen Systemen oder Daten vornehmen, wenn sie keinen Zugriff darauf haben.
Compliance-Anforderungen zu erfüllen: Viele Normen (z. B. ISO 27001, DSGVO) fordern eine Rechtevergabe nach dem Least-Privilege-Prinzip.
Ein Buchhalter hat Zugriff auf das Finanzsystem, aber nicht auf die Serverkonfiguration.
Ein Webserver-Prozess kann nur in seinem eigenen Verzeichnis schreiben, nicht ins Systemverzeichnis.
Ein Praktikant hat nur Leserechte auf einem Projektordner, aber keine Schreibrechte.
Rollenbasierte Zugriffskontrolle (RBAC)
Trennung von Administrator- und Benutzerkonten
Zeitlich begrenzte Berechtigungen
Regelmäßige Überprüfung von Berechtigungen (Access Reviews)
Directory Traversal (auch Path Traversal genannt) ist eine Sicherheitslücke in Webanwendungen, bei der ein Angreifer Zugriff auf Dateien oder Verzeichnisse außerhalb des beabsichtigten Verzeichnisses erhält. Dabei nutzt der Angreifer manipulierte Pfadangaben, um sich durch das Dateisystem des Servers zu bewegen.
Eine unsichere Webanwendung verarbeitet Dateipfade oft direkt aus Benutzereingaben, z. B. in einer URL wie:
https://example.com/getFile?file=report.pdf
Wenn der Server die Eingabe nicht ausreichend überprüft, könnte ein Angreifer sie manipulieren:
https://example.com/getFile?file=../../../../etc/passwd
Hierbei nutzt der Angreifer ../
(die Parent-Directory-Notation), um sich aus dem vorgesehenen Verzeichnis herauszubewegen und eine Systemdatei wie /etc/passwd
(unter Linux) auszulesen.
Ein Bearer Token ist eine Art von Zugriffstoken, das zur Authentifizierung und Autorisierung in Webanwendungen und APIs verwendet wird. Der Begriff "Bearer" bedeutet „Inhaber“, was bedeutet, dass jeder, der dieses Token besitzt, Zugriff auf die geschützten Ressourcen hat – ohne zusätzliche Überprüfung.
Authorization: Bearer <token>
.GET /geschuetzte-daten HTTP/1.1
Host: api.example.com
Authorization: Bearer abcdef123456
💡 Tipp: Um die Sicherheit zu erhöhen, kann man Token mit kurzen Laufzeiten verwenden und sie nur über HTTPS übertragen.
OAuth (Open Authorization) ist ein offenes Standardprotokoll für Autorisierungen, das es Anwendungen ermöglicht, auf Ressourcen eines Nutzers zuzugreifen, ohne dessen Zugangsdaten (z. B. Passwort) direkt zu kennen. Es wird häufig für Single Sign-On (SSO) und API-Zugriffe verwendet.
OAuth arbeitet mit Tokens, die einer Anwendung erlauben, im Namen eines Nutzers auf eine Ressource zuzugreifen. Der typische Ablauf sieht so aus:
CORS (Cross-Origin Resource Sharing) ist ein Sicherheitsmechanismus, der von Webbrowsern implementiert wird, um zu kontrollieren, welche Webseiten auf Ressourcen von anderen Domains zugreifen dürfen. Standardmäßig blockieren Browser aus Sicherheitsgründen sogenannte Cross-Origin-Anfragen, also Anfragen von einer Webseite an eine andere Domain, ein anderes Protokoll oder einen anderen Port.
Ohne CORS könnten bösartige Webseiten im Hintergrund Anfragen an andere Server senden (z. B. API-Server oder Banking-Seiten), wodurch sensible Daten gestohlen oder missbraucht werden könnten (Cross-Site Request Forgery, CSRF). CORS sorgt dafür, dass nur explizit erlaubte Webseiten auf Ressourcen zugreifen dürfen.
Wenn eine Webanwendung eine Cross-Origin-Anfrage stellt (z. B. von http://example.com
an https://api.example.com
), sendet der Browser automatisch eine CORS-Anfrage. Der Server kann dann in den HTTP-Headern antworten, ob die Anfrage erlaubt ist:
Ohne CORS-Header:
Der Browser blockiert die Anfrage.
Mit CORS-Headern:
Der Server kann mit Access-Control-Allow-Origin: *
(alle Domains) oder einer bestimmten Domain (Access-Control-Allow-Origin: https://example.com
) antworten. Damit wird der Zugriff erlaubt.
Für einige Anfragen (z. B. mit PUT
, DELETE
, speziellen Headern) führt der Browser einen Preflight-Request mit der OPTIONS
-Methode aus. Der Server muss dann mit den richtigen CORS-Headern antworten, um die Hauptanfrage zu ermöglichen.
CORS ist eine wichtige Sicherheitsmaßnahme, die verhindert, dass unerlaubte Webseiten auf fremde Ressourcen zugreifen. Entwickler müssen serverseitig die richtigen Header setzen, um den Zugriff für legitime Clients zu erlauben.
Dynamic HTML (DHTML) ist eine Kombination von Technologien, die verwendet wird, um interaktive und dynamische Webinhalte zu erstellen. Es ist kein eigenständiger Standard oder eine Programmiersprache, sondern eine Sammlung von Techniken und Tools, die zusammenarbeiten. Mit DHTML können Websites dynamisch und interaktiv gestaltet werden, ohne dass die gesamte Seite neu geladen werden muss.
HTML (Hypertext Markup Language)
Die Grundstruktur der Website.
CSS (Cascading Style Sheets)
Steuert das Aussehen und das Layout der Webseite. Mit CSS können Stile dynamisch verändert werden, z. B. durch Hover-Effekte oder das Ändern von Farben und Positionen.
JavaScript
Ermöglicht das Hinzufügen von Interaktivität und dynamischem Verhalten, wie das Aktualisieren von Inhalten, ohne die Seite neu zu laden.
DOM (Document Object Model)
Eine Programmierschnittstelle, die den Zugriff auf und die Manipulation der Struktur der Webseite ermöglicht. JavaScript interagiert mit dem DOM, um Inhalte zu ändern oder neue Elemente hinzuzufügen.
Ein einfaches Beispiel wäre ein Button, der beim Anklicken den Text auf der Seite ändert.
<!DOCTYPE html>
<html>
<head>
<style>
#text {
color: blue;
font-size: 20px;
}
</style>
<script>
function changeText() {
document.getElementById("text").innerHTML = "Text geändert!";
document.getElementById("text").style.color = "red";
}
</script>
</head>
<body>
<p id="text">Originaler Text</p>
<button onclick="changeText()">Klicke mich</button>
</body>
</html>
Heutzutage hat DHTML durch modernere Techniken wie AJAX und Frameworks (z. B. React, Vue.js) an Bedeutung verloren, war jedoch ein wichtiger Schritt in der Entwicklung interaktiver Webanwendungen.
SonarQube ist ein Open-Source-Tool zur kontinuierlichen Analyse und Qualitätssicherung von Quellcode. Es hilft Entwicklern und Teams, die Codequalität zu bewerten, Schwachstellen zu identifizieren und Best Practices in der Softwareentwicklung zu fördern.
Codequalität prüfen:
Sicherheitslücken aufdecken:
Technische Schulden bewerten:
Unterstützung für viele Programmiersprachen:
Berichte und Dashboards:
SonarQube ist in einer kostenlosen Community-Edition und in kommerziellen Versionen mit erweiterten Funktionen verfügbar (z. B. für größere Teams oder spezielle Sicherheitsanalysen).
Renovate ist ein Open-Source-Tool, das den Prozess der Abhängigkeitsverwaltung automatisiert. Es überwacht kontinuierlich die Abhängigkeiten eines Softwareprojekts (wie npm, Maven, Docker) und erstellt Pull Requests, um veraltete Pakete zu aktualisieren. So bleibt das Projekt auf dem neuesten Stand und sicher.
Hauptfunktionen umfassen:
Es hilft, technische Schulden zu reduzieren und Sicherheitslücken durch Drittabhängigkeiten zu minimieren, was es besonders bei GitHub, GitLab und Bitbucket beliebt macht.
GitHub Copilot ist ein KI-gestützter Code-Assistent, der von GitHub in Zusammenarbeit mit OpenAI entwickelt wurde. Es verwendet maschinelles Lernen, um Entwicklern bei der Programmierung zu helfen, indem es Code-Vorschläge in Echtzeit direkt in die Entwicklungsumgebung (IDE) einfügt. Copilot wurde entwickelt, um die Produktivität zu steigern, indem es automatisch Code-Blöcke, Funktionen und sogar vollständige Algorithmen basierend auf dem Kontext und den Eingaben des Entwicklers vorschlägt.
GitHub Copilot basiert auf einem maschinellen Lernmodell namens Codex, das von OpenAI entwickelt wurde. Codex ist auf Milliarden von Zeilen öffentlichem Code trainiert und in der Lage, verschiedene Programmierkonzepte zu verstehen und anzuwenden. Die Vorschläge von Copilot basieren auf den Kommentaren, den Funktionsnamen und dem aktuellen Kontext in der Datei, die der Entwickler bearbeitet.
GitHub Copilot ist als kostenpflichtiger Dienst erhältlich, bietet aber auch eine kostenlose Testphase und vergünstigte Optionen für Studenten und Open-Source-Entwickler an.
GitHub Copilot hat das Potenzial, die Art und Weise, wie Entwickler arbeiten, grundlegend zu verändern. Allerdings sollte es als Assistent und nicht als Ersatz für das eigene Verständnis und die Sorgfalt im Entwicklungsprozess gesehen werden.