Behebung von Risiken für Lambda-Funktionen - AWS Security Hub

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Behebung von Risiken für Lambda-Funktionen

Anmerkung

Security Hub befindet sich in der Vorschauversion und kann sich ändern.

AWS Security Hub kann Ergebnisse zur Gefährdung von AWS Lambda (Lambda-) Funktionen generieren.

In der Security Hub Hub-Konsole sind die Lambda-Funktion, die an einer Risikofeststellung beteiligt war, und ihre identifizierenden Informationen im Abschnitt Ressourcen der Ergebnisdetails aufgeführt. Programmgesteuert können Sie Ressourcendetails mithilfe der GetFindingsV2Security Hub Hub-API abrufen.

Nachdem Sie die Ressource identifiziert haben, die an einer Risikofeststellung beteiligt war, können Sie die Ressource löschen, falls Sie sie nicht benötigen. Durch das Löschen einer nicht benötigten Ressource können Sie Ihr Expositionsprofil und Ihre AWS Kosten reduzieren. Wenn es sich bei der Ressource um eine wichtige Ressource handelt, befolgen Sie diese empfohlenen Abhilfemaßnahmen, um das Risiko zu minimieren. Die Themen zur Problembehebung sind nach der Art des Merkmals unterteilt.

Ein einziger Risikobefund umfasst Probleme, die in mehreren Problembehebungsthemen identifiziert wurden. Umgekehrt können Sie mit einem Problembehebungsproblem umgehen und dessen Schweregrad verringern, indem Sie sich mit nur einem Problembehebungsthema befassen. Ihr Ansatz zur Risikominderung hängt von den Anforderungen und der Arbeitsbelastung Ihres Unternehmens ab.

Anmerkung

Die in diesem Thema enthaltenen Hinweise zur Problembehebung erfordern möglicherweise zusätzliche Informationen in anderen Ressourcen. AWS

Anmerkung

Die in diesem Thema enthaltenen Hinweise zur Problembehebung erfordern möglicherweise zusätzliche Konsultationen in anderen AWS Quellen.

Fehlkonfigurationsmerkmale für Lambda-Funktionen

Im Folgenden finden Sie Merkmale von Fehlkonfigurationen für Lambda-Funktionen und empfohlene Schritte zur Behebung.

Die Lambda-Funktion führt eine Laufzeit aus, die nicht unterstützt wird

Lambda ermöglicht es Entwicklern, Code auszuführen, ohne Server bereitzustellen oder zu verwalten, und zwar über Laufzeiten, die Ihren Code in einer verwalteten Umgebung ausführen. Lambda wendet automatisch Patches und Sicherheitsupdates auf verwaltete Laufzeiten und die entsprechenden Container-Basis-Images an. Wenn eine Runtime-Version nicht mehr unterstützt wird, erhält sie keine Sicherheitsupdates, Bugfixes oder technischen Support mehr. Funktionen, die auf veralteten Laufzeiten ausgeführt werden, können Sicherheitslücken aufweisen und aufgrund von Problemen wie dem Ablauf von Zertifikaten irgendwann nicht mehr funktionieren. Darüber hinaus können Laufzeiten, die nicht unterstützt werden, anfällig für neu entdeckte Sicherheitslücken sein, für die keine Patches verfügbar sind. Gemäß den bewährten Sicherheitsmethoden empfehlen wir, gepatchte, unterstützte Laufzeiten für Lambda-Funktionen zu verwenden.

Aktualisieren Sie die Laufzeit der Funktion

Öffnen Sie auf der Registerkarte Ressourcen der Exposition die Ressource mit dem Hyperlink. Dadurch wird das Lambda-Funktionsfenster geöffnet. Um Ihre Funktion auf eine unterstützte Laufzeit zu aktualisieren, konfigurieren Sie die Runtime-Management-Konfiguration. Sie können festlegen, dass Ihre Funktion automatisch auf die neueste Runtime-Version aktualisiert wird. Bevor Sie diese Option auswählen, sollten Sie jedoch prüfen, ob automatische Upgrades Auswirkungen auf Ihre laufenden Anwendungen haben könnten. Weitere Informationen finden Sie unter Grundlegendes zur Verwaltung von Laufzeitversionsupdates durch Lambda.

Die Lambda-Funktion wird außerhalb einer Amazon VPC bereitgestellt

Lambda-Funktionen werden standardmäßig mit Zugriff auf das öffentliche Internet bereitgestellt. Diese Standardkonfiguration gibt Lambda-Funktionen die Möglichkeit, AWS Service-Endpunkte und externe Endpunkte zu erreichen APIs, setzt sie aber auch potenziellen Sicherheitsrisiken aus. Funktionen mit Internetzugang könnten verwendet werden, um Daten zu exfiltrieren, mit nicht autorisierten Servern zu kommunizieren oder als Einstiegspunkte für externe Akteure zu dienen, wenn sie kompromittiert werden. Amazon VPC bietet Netzwerkisolierung, indem es Ihre Lambda-Funktionen so einschränkt, dass sie nur mit Ressourcen innerhalb Ihres definierten privaten Netzwerks kommunizieren. Gemäß den Standardsicherheitsprinzipien empfehlen wir die Bereitstellung von Lambda-Funktionen innerhalb einer VPC, um die Sicherheit durch Netzwerkisolierung zu verbessern.

Funktion an VPC anhängen

Öffnen Sie im Expositionsnachweis die Ressource mit dem Hyperlink. Dadurch wird das Lambda-Funktionsfenster geöffnet. Um Ihre Lambda-Funktion zu sichern, indem Sie ihren Netzwerkzugriff einschränken, verbinden Sie sie mit einer VPC, die über die entsprechenden Netzwerksteuerungen verfügt. Bevor Sie Ihre Funktion an eine VPC anhängen, planen Sie den eventuell benötigten AWS Dienstzugriff ein, da Funktionen in privaten Subnetzen ohne NAT-Gateways oder VPC-Endpunkte den Service nicht erreichen können. AWS APIs Informationen zum Anhängen einer Lambda-Funktion an eine Amazon VPC in Ihrem Konto finden Sie unter Lambda-Funktionen an eine Amazon VPC anhängen in Ihrem. AWS-Konto Erwägen Sie die Verwendung von VPC-Endpunkten für die Dienstkonnektivität ohne Internetzugang, wenn Ihre Funktion den Zugriff auf AWS Dienste innerhalb eines privaten Subnetzes erfordert. Konfigurieren Sie ein NAT-Gateway, wenn Sie ausgehende Internetkonnektivität von privaten Subnetzen benötigen.

Die Lambda-Funktion kann eine IAM-Rolle übernehmen.

Lambda-Funktionen verwenden IAM-Rollen, um mit AWS Diensten zu interagieren. Diese Rollen gewähren der Lambda-Funktion Berechtigungen für den Zugriff auf AWS Ressourcen während der Ausführung. Obwohl diese Rollen manchmal erforderlich sind, damit Lambda-Funktionen ihre Aufgaben erfüllen können, sollten diese Rollen dem Prinzip der geringsten Rechte folgen. Gemäß den Standardsicherheitsprinzipien AWS empfiehlt es sich, zu überprüfen, ob die mit der Rolle verknüpften Berechtigungen auf der Grundlage der beabsichtigten Funktionalität der Funktion angemessen sind.

  1. Stellen Sie fest, ob die angehängte IAM-Rolle erforderlich ist

    Stellen Sie fest, ob für die Lambda-Funktion eine IAM-Ausführungsrolle konfiguriert werden muss. Für den Betrieb der meisten Lambda-Funktionen sind grundlegende Berechtigungen erforderlich, z. B. das Schreiben von Protokollen in CloudWatch. Überprüfen Sie die der Ausführungsrolle der Funktion zugewiesenen Berechtigungen und stellen Sie fest, ob die IAM-Rolle für die Funktion erforderlich ist. Informationen zu Lambda-Ausführungsrollen finden Sie unter Definieren von Lambda-Funktionsberechtigungen mit einer Ausführungsrolle im AWS Lambda Entwicklerhandbuch.

  2. Implementieren des Zugriffs mit geringsten Berechtigungen

    Ersetzen Sie zu freizügige Richtlinien durch Richtlinien, die nur die spezifischen Berechtigungen gewähren, die für den Betrieb der Funktion erforderlich sind. Informationen zu bewährten Sicherheitsmethoden für IAM-Rollen finden Sie im Benutzerhandbuch unter Anwenden von Berechtigungen mit den geringsten Rechten.AWS Identity and Access Management Um unnötige Berechtigungen zu identifizieren, können Sie den IAM Access Analyzer verwenden, um zu verstehen, wie Sie Ihre Richtlinie auf der Grundlage des Zugriffsverlaufs ändern können. Weitere Informationen finden Sie im AWS Identity and Access Management Benutzerhandbuch unter Ergebnisse für externen und ungenutzten Zugriff. Alternativ können Sie eine neue IAM-Rolle erstellen, um zu vermeiden, dass andere Lambda-Funktionen beeinträchtigt werden, die die vorhandene Rolle verwenden. Erstellen Sie in diesem Szenario eine neue IAM-Rolle und ordnen Sie dann die neue IAM-Rolle der Instanz zu. Anweisungen zum Ersetzen einer IAM-Rolle für eine Funktion finden Sie unter Aktualisieren der Ausführungsrolle einer Funktion im AWS Lambda Entwicklerhandbuch.

Die der Lambda-Funktion zugeordnete IAM-Rolle hat eine administrative Zugriffsrichtlinie.

Administrative Zugriffsrichtlinien bieten Lambda-Funktionen umfassende Berechtigungen für AWS Dienste und Ressourcen. Diese Richtlinien beinhalten in der Regel Berechtigungen, die für die Funktionalität nicht erforderlich sind. Die Bereitstellung einer IAM-Identität mit einer administrativen Zugriffsrichtlinie für eine Lambda-Funktion anstelle der Mindestberechtigungen, die die Ausführungsrolle benötigt, kann den Umfang eines Angriffs erhöhen, wenn die Funktion beeinträchtigt wird. Gemäß den Standardsicherheitsprinzipien AWS empfiehlt es sich, die geringsten Rechte zu gewähren, d. h., dass Sie nur die Berechtigungen gewähren, die für die Ausführung einer Aufgabe erforderlich sind.

  1. Überprüfen und identifizieren Sie die Verwaltungsrichtlinien

    Identifizieren Sie in der Risikoprüfung den Rollennamen. Gehen Sie zum IAM-Dashboard und suchen Sie die Rolle mit dem zuvor identifizierten Rollennamen. Überprüfen Sie die der IAM-Rolle beigefügte Berechtigungsrichtlinie. Wenn es sich bei der Richtlinie um eine AWS verwaltete Richtlinie handelt, suchen Sie nach AdministratorAccess oderIAMFullAccess. Suchen Sie andernfalls im Strategiedokument nach Aussagen, die die Aussagen "Effect": "Allow", "Action": "*" "Resource": "*" zusammen enthalten.

  2. Implementieren des Zugriffs mit geringsten Berechtigungen

    Ersetzen Sie Verwaltungsrichtlinien durch solche, die nur die spezifischen Berechtigungen gewähren, die für den Betrieb der Funktion erforderlich sind. Weitere Informationen zu bewährten Sicherheitsmethoden für IAM-Rollen finden Sie im Benutzerhandbuch unter Anwenden von Berechtigungen mit den geringsten Rechten.AWS Identity and Access Management Um unnötige Berechtigungen zu identifizieren, können Sie den IAM Access Analyzer verwenden, um zu erfahren, wie Sie Ihre Richtlinie auf der Grundlage des Zugriffsverlaufs ändern können. Weitere Informationen finden Sie im AWS Identity and Access Management Benutzerhandbuch unter Ergebnisse für externen und ungenutzten Zugriff. Alternativ können Sie eine neue IAM-Rolle erstellen, um zu vermeiden, dass andere Lambda-Funktionen, die die vorhandene Rolle verwenden, beeinträchtigt werden. Erstellen Sie in diesem Szenario eine neue IAM-Rolle. Ordnen Sie dann die neue Rolle der Instanz zu. Informationen zum Ersetzen einer IAM-Rolle für eine Funktion finden Sie unter Aktualisieren der Ausführungsrolle einer Funktion im AWS Lambda Entwicklerhandbuch.

  3. Überlegungen zur sicheren Konfiguration

    Wenn für die Instanz Administratorzugriffsberechtigungen erforderlich sind, sollten Sie die Implementierung dieser zusätzlichen Sicherheitskontrollen in Betracht ziehen, um das Risiko zu minimieren:

Die der Lambda-Funktion zugeordnete IAM-Rolle hat eine Richtlinie mit Administratorzugriff auf einen Dienst. AWS

Mithilfe von Dienstadministratorrichtlinien können Lambda-Funktionen alle Aktionen innerhalb eines bestimmten AWS Dienstes ausführen. Diese Richtlinien gewähren in der Regel mehr Berechtigungen, als für den Betrieb einer Funktion erforderlich sind. Wenn eine Lambda-Funktion mit einer Service-Admin-Richtlinie kompromittiert wird, könnte ein Angreifer diese Berechtigungen verwenden, um potenziell auf sensible Daten oder Dienste in Ihrer AWS Umgebung zuzugreifen oder diese zu ändern. Gemäß den Standardsicherheitsprinzipien empfehlen wir, die geringsten Rechte zu gewähren, was bedeutet, dass Sie nur die Berechtigungen gewähren, die für die Ausführung einer Aufgabe erforderlich sind.

  1. Überprüfen und identifizieren Sie die Verwaltungsrichtlinien

    Identifizieren Sie im Expositionsbefund den Rollennamen im ARN. Gehen Sie zum IAM-Dashboard und suchen Sie den Rollennamen. Überprüfen Sie die der Rolle zugeordnete Berechtigungsrichtlinie. Wenn es sich bei der Richtlinie um eine AWS verwaltete Richtlinie handelt, suchen Sie nach AdministratorAccess oderIAMFullAccess. Andernfalls suchen Sie im Richtliniendokument nach Aussagen, die die Aussagen "Effect": "Allow", "Action": "*" und enthalten"Resource": "*".

  2. Implementieren des Zugriffs mit geringsten Berechtigungen

    Ersetzen Sie Verwaltungsrichtlinien durch solche, die nur die spezifischen Berechtigungen gewähren, die für den Betrieb der Funktion erforderlich sind. Weitere Informationen finden Sie unter Anwenden von geringsten Berechtigungen im AWS Identity and Access Management -Benutzerhandbuch. Um unnötige Berechtigungen zu identifizieren, können Sie den IAM Access Analyzer verwenden, um zu verstehen, wie Sie Ihre Richtlinie auf der Grundlage des Zugriffsverlaufs ändern können. Weitere Informationen finden Sie im AWS Identity and Access Management Benutzerhandbuch unter Ergebnisse für externen und ungenutzten Zugriff. Alternativ können Sie eine neue IAM-Rolle erstellen, um zu vermeiden, dass andere Lambda-Funktionen beeinträchtigt werden, die die vorhandene Rolle verwenden. Erstellen Sie in diesem Szenario eine neue IAM-Rolle und ordnen Sie dann die neue IAM-Rolle der Instanz zu. Anweisungen zum Ersetzen einer IAM-Rolle für eine Funktion finden Sie unter Aktualisieren der Ausführungsrolle einer Funktion im AWS Lambda Entwicklerhandbuch.

  3. Überlegungen zur sicheren Konfiguration

    Wenn für die Instanz Administratorberechtigungen auf Service-Ebene erforderlich sind, sollten Sie die Implementierung dieser zusätzlichen Sicherheitskontrollen in Betracht ziehen, um das Risiko zu minimieren:

Erreichbarkeitsmerkmale für Lambda-Funktionen

Im Folgenden finden Sie Merkmale der Erreichbarkeit für Lambda-Funktionen und empfohlene Schritte zur Behebung.

Die Lambda-Funktion kann öffentlich aufgerufen werden

Ressourcenbasierte Lambda-Richtlinien bestimmen, wer Ihre Funktionen aufrufen kann. Eine Funktion mit einer Ressourcenrichtlinie, die „*“ als Prinzipal (oder gar keinen Prinzipal) enthält, ermöglicht es allen authentifizierten AWS Benutzern, sie aufzurufen. Dies stellt ein erhebliches Risiko dar, insbesondere bei Funktionen, die vertrauliche Daten verarbeiten, Ressourcen ändern oder über erweiterte Berechtigungen verfügen. Unbefugte Benutzer könnten diese Konfiguration ausnutzen, um unerwünschte Operationen auszuführen, wodurch möglicherweise Daten offengelegt, Ressourcen manipuliert oder Funktionsfunktionen missbraucht werden. Gemäß den bewährten Sicherheitsmethoden empfehlen wir, den Zugriff auf Lambda-Funktionen nur auf autorisierte Prinzipale zu beschränken.

Ändern Sie die ressourcenbasierte Richtlinie der Funktion

Öffnen Sie auf der Registerkarte Ressourcen der Exposition die Ressource mit dem Hyperlink. Dadurch wird das Lambda-Funktionsfenster geöffnet. Beschränken Sie den Zugriff auf Ihre Lambda-Funktion, indem Sie in der ressourcenbasierten Richtlinie nur autorisierte AWS Konten IDs oder bestimmte IAM-Prinzipale (Benutzer, Rollen oder Dienste) angeben. Sie können ressourcenbasierte Richtlinien nur programmgesteuert ändern.

Schwachstellenmerkmale für Lambda-Funktionen

Im Folgenden finden Sie Schwachstellenmerkmale für Lambda-Funktionen und empfohlene Schritte zur Behebung.

Die Lambda-Funktion weist Softwareschwachstellen auf, die über das Netzwerk ausgenutzt werden können

Softwarepakete, die im Lambda-Funktionscode verwendet werden, können Common Vulnerabilities and Exposures (CVEs) enthalten, bei denen die Wahrscheinlichkeit hoch ist, dass sie ausgenutzt werden. Kritische CVEs Sicherheitsrisiken stellen erhebliche Sicherheitsrisiken für Ihre AWS Umgebung dar. Angreifer können diese ungepatchten Sicherheitslücken ausnutzen, um die Vertraulichkeit, Integrität oder Verfügbarkeit von Daten zu gefährden oder auf andere Systeme zuzugreifen. Kritische Sicherheitslücken mit hoher Wahrscheinlichkeit stellen unmittelbare Sicherheitsbedrohungen dar, da Exploit-Code möglicherweise bereits öffentlich verfügbar ist und von Angreifern oder automatisierten Scan-Tools aktiv genutzt wird. Wir empfehlen, diese Sicherheitslücken zu patchen, um Ihre Funktion vor Angriffen zu schützen.

Aktualisieren Sie die betroffenen Funktionen

Suchen Sie im Abschnitt Referenzen auf der Registerkarte Sicherheitslücke nach dieser Eigenschaft. Die Herstellerdokumentation kann spezifische Anleitungen zur Problembehebung enthalten. Aktualisieren Sie die anfälligen Bibliotheken gemäß den vom Hersteller empfohlenen Verfahren auf ihre neuesten sicheren Versionen. In der Regel hängt der Korrektur-Workflow davon ab, ob Sie das Lambda-Paket bereitgestellt haben, indem Sie eine ZIP-Datei hochgeladen oder eine Lambda-Funktion mit einem Container-Image erstellt haben. Nachdem Sie die Bibliotheken aktualisiert haben, aktualisieren Sie den Lambda-Funktionscode, um die feste Version zu verwenden. Stellen Sie anschließend die aktualisierte Version bereit.

Die Lambda-Funktion weist Softwareschwachstellen auf

Lambda-Funktionen verwenden häufig Bibliotheken und Abhängigkeiten von Drittanbietern, die Sicherheitslücken mit geringerem Schweregrad oder geringerer Ausnutzbarkeit enthalten können als kritische. CVEs Auch wenn diese unkritischen Sicherheitslücken möglicherweise nicht sofort ausgenutzt werden können, stellen sie dennoch Sicherheitslücken dar, die mit anderen Sicherheitslücken verkettet werden können, um Ihre Funktion zu gefährden. Im Laufe der Zeit könnten auch neue Exploit-Techniken auftauchen, die das Risiko dieser Sicherheitslücken erhöhen. Gemäß den üblichen Sicherheitsprinzipien empfehlen wir, diese Sicherheitslücken zu patchen, um eine sichere Umgebung aufrechtzuerhalten.

Das Merkmal finden Sie im Abschnitt Referenzen auf der Registerkarte Sicherheitslücke. Die Herstellerdokumentation kann spezifische Anleitungen zur Problembehebung enthalten. Aktualisieren Sie die anfälligen Bibliotheken gemäß den vom Hersteller empfohlenen Verfahren auf ihre neuesten sicheren Versionen. In der Regel hängt der Korrektur-Workflow davon ab, ob Sie das Lambda-Paket bereitgestellt haben, indem Sie eine ZIP-Datei hochgeladen oder eine Lambda-Funktion mit einem Container-Image erstellt haben. Nachdem Sie die Bibliotheken aktualisiert haben, aktualisieren Sie den Lambda-Funktionscode, um die feste Version zu verwenden. Stellen Sie anschließend die aktualisierte Version bereit.