Implementieren von Beobachtbarkeit für Lambda-Sicherheit und -Compliance - AWS Lambda

Implementieren von Beobachtbarkeit für Lambda-Sicherheit und -Compliance

AWS Config ist ein hilfreiches Tool, um nicht konforme AWS-Serverless-Ressourcen zu finden und zu beheben. Jede Änderung, die Sie an Ihren Serverless-Ressourcen vornehmen, wird in AWS Config aufgezeichnet. AWS Config ermöglicht es Ihnen außerdem, Konfigurations-Snapshot-Daten auf S3 zu speichern. Sie können mit Amazon Athena und Amazon Quick Suite Dashboards erstellen und AWS Config-Daten anzeigen. In Erkennen Sie nicht konforme Lambda-Bereitstellungen und -Konfigurationen mit AWS Config haben wir besprochen, wie sich bestimmte Konfigurationen wie Lambda-Layer visualisieren lassen. Dieses Thema erweitert diese Konzepte.

Abrufen von Informationen zu Lambda-Konfigurationen

Sie können Abfragen verwenden, um wichtige Konfigurationen wie AWS-Konto-ID, Region, AWS X-Ray-Ablaufverfolgungskonfiguration, VPC-Konfiguration, Speichergröße, Laufzeit und Tags abzurufen. Hier ist eine Beispielabfrage, mit der Sie diese Informationen von Athena abrufen können:

WITH unnested AS ( SELECT item.awsaccountid AS account_id, item.awsregion AS region, item.configuration AS lambda_configuration, item.resourceid AS resourceid, item.resourcename AS resourcename, item.configuration AS configuration, json_parse(item.configuration) AS lambda_json FROM default.aws_config_configuration_snapshot, UNNEST(configurationitems) as t(item) WHERE "dt" = 'latest' AND item.resourcetype = 'AWS::Lambda::Function' ) SELECT DISTINCT account_id, tags, region as Region, resourcename as FunctionName, json_extract_scalar(lambda_json, '$.memorySize') AS memory_size, json_extract_scalar(lambda_json, '$.timeout') AS timeout, json_extract_scalar(lambda_json, '$.runtime') AS version json_extract_scalar(lambda_json, '$.vpcConfig.SubnetIds') AS vpcConfig json_extract_scalar(lambda_json, '$.tracingConfig.mode') AS tracingConfig FROM unnested

Sie können die Abfrage verwenden, um ein Quick-Suite-Dashboard zu erstellen und die Daten zu visualisieren. Informationen zum Aggregieren von AWS-Ressourcenkonfigurationsdaten, Erstellen von Tabellen in Athena und Erstellen von Quick-Suite-Dashboards mit den Daten aus Athena finden Sie unter Visualizing AWS Config data using Athena and Amazon Quick Suite im Blog „AWS Cloud Operations & Management“. Diese Abfrage ruft auch Tag-Informationen für die Funktionen ab. Dies ermöglicht eine genauere Untersuchung Ihrer Workloads und Umgebungen, insbesondere wenn Sie benutzerdefinierte Tags verwenden.

Query results in Quick Suite dashboard

Weitere Informationen über die Aktionen, die Sie ergreifen können, finden Sie im Abschnitt Behandlung von Beobachtbarkeitsbefunden weiter unten in diesem Thema.

Abrufen von Informationen zur Lambda-Konformität

Mit den AWS Config von generierten Daten können Sie Dashboards auf Organisationsebene erstellen, um die Einhaltung von Vorschriften zu überwachen. Dies ermöglicht eine konsistente Nachverfolgung und Überwachung von:

  • Compliance-Paketen nach Konformitätsbewertung

  • Regeln von nicht konformen Ressourcen

  • Compliance status (Compliance-Status)

AWS Config console dashboard

Überprüfen Sie jede Regel, um Ressourcen zu identifizieren, die für diese Regel nicht konform sind. Wenn Ihre Organisation beispielsweise vorschreibt, dass alle Lambda-Funktionen einer VPC zugeordnet werden müssen, und Sie eine AWS Config-Regel zur Konformitätserkennung bereitgestellt haben, können Sie die lambda-inside-vpc-Regel in der obigen Liste auswählen.

View non-compliant resources in AWS Config console

Weitere Informationen über die Aktionen, die Sie ergreifen können, finden Sie im Abschnitt Behandlung von Beobachtbarkeitsbefunden weiter unten.

Abrufen von Informationen zu den Lambda-Funktionsgrenzen über Security Hub

Diagram of example AWS Security Hub CSPM inputs for Lambda, such as resource policy, runtime, and code

Um sicherzustellen, dass AWS-Dienste, einschließlich Lambda, sicher verwendet werden können, hat AWS die Foundational Security Best Practices v1.0.0 eingeführt. Diese Sammlung von bewährten Methoden enthält klare Richtlinien für den Schutz von Ressourcen und Daten in der AWS-Umgebung und unterstreicht, wie wichtig Sicherheitsmaßnahmen sind. AWS Security Hub CSPM ergänzt dieses Angebot um ein zentrales Sicherheits- und Compliance-Center. Darin werden Sicherheitsinformationen aus verschiedenen AWS-Diensten wie Amazon Inspector, AWS Identity and Access Management Access Analyzer und Amazon GuardDuty zusammengefasst, organisiert und priorisiert.

Wenn Sie in Ihrer AWS-Organisation Security Hub, Amazon Inspector, IAM Access Analyzer und GuardDuty aktiviert haben, aggregiert Security Hub automatisch die Ergebnisse dieser Dienste. Betrachten wir zum Beispiel Amazon Inspector. Mit Security Hub können Sie Code- und Paketschwachstellen in Lambda-Funktionen effizient identifizieren. Navigieren Sie in der Security-Hub-Konsole zum unteren Abschnitt Aktuelle Befunde aus AWS-Integrationen. Hier können Sie Ergebnisse aus verschiedenen integrierten AWS-Diensten einsehen und untersuchen.

Security Hub console "Latest findings from AWS integrations" section

Für Details klicken Sie in der zweiten Spalte auf den Link Befunde anzeigen. Daraufhin wird eine nach Produkten gefilterte Liste mit Ergebnissen angezeigt, z. B. Amazon Inspector. Um Ihre Suche auf Lambda-Funktionen zu beschränken, setzen Sie ResourceType auf AwsLambdaFunction. Nun werden Ergebnisse von Amazon Inspector zu Lambda-Funktionen angezeigt.

Filter for Amazon Inspector results related to Lambda functions

Für GuardDuty können Sie verdächtige Netzwerkverkehrsmuster identifizieren. Solche Anomalien könnten auf die Existenz von potenziell bösartigem Code in Ihrer Lambda-Funktion hindeuten.

Mit IAM Access Analyzer können Sie Richtlinien überprüfen, insbesondere solche mit Bedingungsanweisungen, die externen Entitäten Funktionszugriff gewähren. Darüber hinaus bewertet IAM Access Analyzer die Berechtigungen, die festgelegt wurden, wenn der Vorgang AddPermission in der Lambda API zusammen mit einem EventSourceToken verwendet wird.

Behandlung von Beobachtbarkeitsbefunden

Angesichts der vielfältigen Konfigurationen, die für Lambda-Funktionen möglich sind, und ihrer unterschiedlichen Anforderungen ist eine standardisierte Automatisierungslösung für die Problembehebung möglicherweise nicht für jede Situation geeignet. Darüber hinaus werden Änderungen in den verschiedenen Umgebungen unterschiedlich implementiert. Wenn Sie auf eine Konfiguration stoßen, die nicht konform zu sein scheint, beachten Sie die folgenden Richtlinien:

  1. Strategie zur Kennzeichnung

    Wir empfehlen die Implementierung einer umfassenden Kennzeichnungsstrategie. Jede Lambda-Funktion sollte mit folgenden Schlüsselinformationen gekennzeichnet sein:

    • Eigentümer: Die Person oder das Team, die für die Funktion verantwortlich ist.

    • Umgebung: Produktion, Staging, Entwicklung oder Sandbox.

    • Anwendung: Der breitere Kontext, zu dem diese Funktion gehört, falls zutreffend.

  2. Kontakt zum Eigentümer

    Anstatt notwendige Änderungen zu automatisieren (wie die Anpassung der VPC-Konfiguration), sollten Sie sich an die Eigentümer nicht konformer Funktionen (siehe Eigentümer-Tag) wenden und ihnen genügend Zeit geben, um entweder:

    • nicht konforme Konfigurationen für Lambda-Funktionen anzupassen

    • eine Erklärung bereitzustellen und eine Ausnahme anzufordern oder die Compliance-Standards anzupassen

  3. Fühen Sie eine Configuration Management Database (CMDB)

    Tags können zwar unmittelbar Kontext liefern, eine zentralisierte CMDB kann jedoch genauere Informationen liefern. Die Datenbank kann detaillierte Informationen über jede Lambda-Funktion, ihre Abhängigkeiten und andere wichtige Metadaten enthalten. Eine CMDB ist eine unschätzbare Ressource für Audits, Konformitätsprüfungen und die Identifizierung der Eigentümer einer Funktion.

Da sich Serverless-Infrastrukturen kontinuierlich weiterentwickeln, ist es wichtig, Überwachungsmaßnahmen proaktiv zu organisieren. Mit Tools wie AWS Config, Security Hub und Amazon Inspector können potenzielle Anomalien oder nicht konforme Konfigurationen schnell identifiziert werden. Tools allein können jedoch keine vollständige Konformität oder optimale Konfigurationen gewährleisten. Es ist wichtig, diese Tools mit gut dokumentierten Prozessen und bewährten Verfahren zu kombinieren.

  • Feedback-Schleife: Sobald Korrekturmaßnahmen ergriffen werden, sollten Sie sicherstellen, dass es eine Feedback-Schleife gibt. Dabei werden nicht konforme Ressourcen regelmäßig überprüft, um zu ermitteln, ob sie aktualisiert wurden oder immer noch dieselben Probleme haben.

  • Dokumentation: Beobachtungen, Maßnahmen und alle gewährten Ausnahmen sollten immer dokumentiert werden. Eine ordnungsgemäße Dokumentation hilft nicht nur bei Audits, sondern trägt auch dazu bei, den Prozess zu verbessern, um die Compliance und Sicherheit dauerhaft zu stärken.

  • Schulung und Sensibilisierung: Alle Beteiligten, insbesondere die Eigentümer der Lambda-Funktionen, sollten regelmäßig geschult und über bewährte Verfahren, Unternehmensrichtlinien und Compliance-Vorschriften informiert werden. Regelmäßige Workshops, Webinare oder Schulungen können einen großen Beitrag dazu leisten, dass alle Beteiligten bezüglich Sicherheit und Compliance auf dem gleichen Stand sind.

Zusammenfassend lässt sich sagen, dass Tools und Technologien zwar die Erkennung und Meldung von potenziellen Problemen unterstützen, der Faktor Mensch –Verständnis, Kommunikation, Schulung und Dokumentation – aber weiterhin von zentraler Bedeutung ist. Beides zusammen ergibt eine leistungsstarke Kombination, um sicherzustellen, dass Ihre Lambda-Funktionen und die größere Infrastruktur konform, sicher und für Ihre Geschäftsanforderungen optimiert sind.