Blog

Coders Conquer Security Infrastructure as Code Serie: Klartextspeicherung von Passwörtern

May 18, 2020
Dr. Matias Madou

Wie sieht es bei Ihnen aus, wenn es darum geht, sichere Infrastructure as Code in Ihrem Unternehmen bereitzustellen? Es mag anfangs eine gewisse Lernkurve geben, aber sich einzuarbeiten ist eine großartige Gelegenheit, Ihre Fähigkeiten zu erweitern, sich von anderen abzuheben und die Daten Ihrer Endnutzer besser zu schützen.

Bevor wir mit dem nächsten Kapitel unserer aktuellen „Coders Conquer Security“-Reihe beginnen, möchte ich Sie zu einer spielerischen Herausforderung zum Thema Schwachstellen bei der Speicherung sensibler Daten einladen. Spielen Sie jetzt und wählen Sie zwischen Kubernetes, Terraform, Ansible, Docker oder CloudFormation:

Wie ist es gelaufen? Falls Ihr Wissen noch etwas Auffrischung gebrauchen kann, lesen Sie weiter:

Der Schlüssel zur Computersicherheit liegt heutzutage meist in Passwörtern. Auch wenn andere Sicherheitsmethoden wie die Zwei-Faktor-Authentifizierung oder biometrische Verfahren eingesetzt werden, nutzen die meisten Unternehmen passwortbasierte Sicherheit weiterhin als einen Bestandteil ihres Schutzkonzepts. Für viele Firmen sind Passwörter sogar die einzige Sicherheitsmaßnahme.

Wir verwenden so häufig Passwörter, dass es sogar Regeln für deren Erstellung gibt. Dies soll sie weniger anfällig für Brute-Force-Angriffe oder einfaches Raten machen. Natürlich verwenden manche Leute immer noch schwache Passwörter, wie ein aktueller Bericht von NordPass zeigt. Es ist kaum zu glauben, dass Menschen im Jahr 2020 immer noch „12345“ oder andere leicht zu erratende Wörter wie „chocolate“, „password“ oder „God“ verwenden, um ihre sensibelsten Daten zu schützen.

Es wird immer Leute geben, denen starke Passwörter egal sind, aber die meisten professionellen Organisationen zwingen ihre Nutzer dazu, ihre Zugangsdaten nach bestimmten Vorgaben zu erstellen. Wir alle kennen mittlerweile die Regeln: Passwörter müssen mindestens acht Zeichen lang sein und sowohl Groß- als auch Kleinbuchstaben sowie mindestens eine Zahl und ein Sonderzeichen enthalten.

Das Problem ist: Selbst wenn Nutzer die Regeln für die sichersten Passwörter befolgen, nützt das wenig, wenn diese im Klartext gespeichert werden. Das Passwort „12345“ ist genauso unsicher wie „Nuts53!SpiKe&Dog12“, wenn ein Hacker die gesamte Passwortdatei lesen kann.

Warum ist die Speicherung von Passwörtern im Klartext gefährlich?

Die Speicherung von Passwörtern im Klartext ist riskant, da sie sowohl das System als auch die Nutzer gefährdet. Es wäre natürlich katastrophal, wenn ein Hacker alle Passwörter für den Systemzugriff finden und lesen könnte. Er könnte einfach einen Nutzer mit Administratorrechten finden und das gesamte System oder die Website kompromittieren. Da der Angreifer dabei legitime Benutzernamen und Passwörter verwendet, bemerkt die interne Sicherheit den Einbruch möglicherweise gar nicht oder erst, wenn der Schaden bereits entstanden ist.

Es den Angreifern leicht zu machen, Passwörter im Klartext zu stehlen, schadet auch den Nutzern, da viele Menschen Passwörter mehrfach verwenden. Da wir die Anforderungen an Passwörter so komplex gestaltet haben, neigen viele dazu, sich leicht zu merkende Passwörter für mehrere Websites zu wiederholen. Wenn ein Angreifer eine Passwortdatei kompromittiert, wird er mit Sicherheit versuchen, mit denselben Zugangsdaten auf andere Systeme zuzugreifen, was die Nutzer einem hohen Risiko für Folgeangriffe aussetzt.

Es passiert leicht, dass Passwörter versehentlich im Klartext gespeichert werden, ohne dass man sich der langfristigen Risiken bewusst ist. Der folgende Code ist beispielsweise eine gängige Methode, um Passwörter bei der Definition einer AWS-Ressource mittels Terraform-Templates zu hinterlegen:

resource "aws_db_instance" "default" {
 engine                 = "mysql"
 allocated_storage      = 10
 instance_class         = "db.t2.micro"
 username               = "admin"
 password               = "s3.cr3t.admin.p2ss"
 db_subnet_group_name   = aws_db_subnet_group.default.name
 vpc_security_group_ids = [aws_security_group.default.id]
}

In diesem Beispiel wird das Passwort für die Verwaltung der MySQL-Datenbankinstanz in AWS im Klartext gespeichert. Das bedeutet, dass jeder, der Zugriff auf das Quellcode-Repository hat, es lesen oder sogar kopieren könnte.

Der Schutz von Passwörtern variiert je nach Framework, aber für jede Plattform gibt es entsprechende Methoden. So kann ein MySQL-Passwort beispielsweise in einem sicheren Speicher wie dem AWS Secrets Manager abgelegt werden:

resource "aws_db_instance" "default" {
 engine            = "mysql"
 allocated_storage = 10
 instance_class    = "db.t2.micro"
 username          = "admin"
 password = "${data.aws_secretsmanager_secret_version.password.secret_string}"
 db_subnet_group_name   = aws_db_subnet_group.default.name
 vpc_security_group_ids = [aws_security_group.default.id]
}

In diesem Beispiel bezieht das Terraform-Template das Passwort aus dem AWS Secrets Manager-Dienst, sodass es niemals im Klartext in den Template-Dateien gespeichert wird.

Passwortschutz durch Vermeidung von Klartextspeicherung

Passwörter sind Ihre digitalen Schlüssel und sollten niemals im Klartext gespeichert werden. Selbst interne Mitarbeiter sollten keinen Zugriff auf eine große, ungeschützte Passwortdatenbank haben, und dies sollte auch kein akzeptierter Geschäftsprozess sein (heutzutage gibt es zahlreiche Passwort-Manager, die eine verschlüsselte Weitergabe von Zugangsdaten ermöglichen – es gibt also keine Ausreden!). Zudem besteht die Gefahr, dass böswillige Insider Dateien ausspionieren und sich unbefugten Zugriff verschaffen.

Stellen Sie sich bei einem externen Angriff den doppelten Schaden vor, falls eine Hintertür zu Ihrer Datenbank durch eine einfache SQL-Injection-Schwachstelle gefunden wird und Angreifer zusätzlich Zugriff auf das Verzeichnis mit den Passwörtern erhalten. Glauben Sie, dass dies zu viele fehlerhafte Schritte erfordert, um Realität zu werden? Leider ist genau dieses Szenario beim Sony-Hack 2011 eingetreten. Über eine Million Kundenpasswörter waren im Klartext gespeichert, und die Hackergruppe Lulzsec verschaffte sich durch eine gängige SQL-Injection Zugriff darauf und auf vieles mehr.

Alle Passwörter sollten durch die im jeweiligen Framework verfügbaren Schutzmechanismen abgesichert werden. Bei Terraform sollten Passwörter niemals in Vorlagendateien gespeichert werden. Es wird empfohlen, je nach Infrastrukturanbieter sichere Speicherlösungen wie AWS Secrets Manager oder Azure Key Vault zu verwenden.

Benutzer zur Erstellung sicherer Passwörter zu zwingen ist sinnvoll, aber Sie müssen auch Ihren Teil im Backend dazu beitragen. Der Verzicht auf Klartextspeicherung trägt wesentlich zum Schutz Ihrer Benutzer und Systeme bei. Die größte Gefahr bei der Klartextspeicherung ist die mangelhafte Zugriffskontrolle; im Grunde kann jeder sie einsehen. Es ist unerlässlich (besonders in einer IaC-Umgebung, in der plötzlich mehr Personen Zugriff auf sensible Informationen haben), dass Passwörter angemessen gehasht werden und nur denjenigen Zugriff gewährt wird, die ihn zwingend benötigen.

Besuchen Sie die Secure Code Warrior-Blogseiten für weitere Einblicke in diese Schwachstelle und erfahren Sie, wie Sie Ihr Unternehmen und Ihre Kunden vor den Auswirkungen anderer Sicherheitslücken schützen können. Sie können auch eine IaC-Demo-Challenge auf der Secure Code Warrior-Schulungsplattform ausprobieren, um Ihre Cybersicherheitskenntnisse stets auf dem neuesten Stand zu halten.


Slogan

Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht

Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.

Demo buchen
Ressourcenbibliothek

Weitere Blogs entdecken

Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.

alle anzeigen
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat

Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung

Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Enabler 8: Branding für Ihr Programm

Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit

Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.

Mehr erfahren

Sichere KI-gestützte Entwicklung vor dem Release

Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.

Demo buchen
Keine Elemente gefunden.