Ermitteln der Sicherheitsanforderungen Ihrer VPC - AWS Präskriptive Leitlinien

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.

Ermitteln der Sicherheitsanforderungen Ihrer VPC

Wichtig

Es ist eine bewährte Methode, die Sicherheitsarchitektur Ihrer VPC für ausgehenden Datenverkehr in einer Testumgebung zu entwerfen und zu testen. Durch das Testen von Architekturänderungen in einer Entwicklungsumgebung wird das Risiko verringert, dass unbeabsichtigtes Systemverhalten live übertragen wird.

Bevor Sie Änderungen an den Mustern des ausgehenden Datenverkehrs in Ihrem Netzwerk vornehmen, ist es wichtig, die Verkehrsmuster zu verstehen, die Ihre Anwendung benötigt, um wie vorgesehen zu funktionieren. Anhand dieser Informationen können Sie ermitteln, welche Datenverkehrsmuster bei der Neugestaltung Ihres Netzwerks zugelassen und welche verweigert werden sollten.

Um die bestehenden Muster des ausgehenden Datenverkehrs in Ihrer VPC zu analysieren, schalten Sie zunächst die Option VPC Flow Logs ein. Verwenden Sie dann eine Testumgebung, um Ihre Anwendung durch verschiedene Nutzungsszenarien laufen zu lassen und den simulierten Verkehr in den Flow-Protokollen zu analysieren.

VPC Flow Logs zeichnet den ein- und ausgehenden IP-Verkehr Ihrer VPC auf. Amazon VPC sendet die Protokolle dann entweder an Amazon Simple Storage Service (Amazon S3) oder Amazon CloudWatch. Sie können die Protokolle mit einem der folgenden Tools anzeigen und analysieren:

  • (Für Amazon S3) Amazon Athena

  • (Für CloudWatch) CloudWatch Logs Insights

Weitere Informationen und Beispielabfragen finden Sie im Folgenden:

Einzelheiten zu den Arten von Informationen, die VPC Flow Logs erfasst, finden Sie unter Beispiele für Flow-Protokolldatensätze im Benutzerhandbuch für Amazon VPC.

Hinweis

VPC Flow Logs erfassen keine Informationen auf Anwendungsebene (Layer 7), wie z. B. DNS-Hostnamen. Wenn Ihre Sicherheitsanforderungen die Analyse von Daten auf Anwendungsebene erfordern, können Sie AWS Network Firewall bereitstellen, um die erforderlichen Details zu erfassen. Weitere Informationen finden Sie im Abschnitt Beschränkung des ausgehenden Datenverkehrs einer VPC mithilfe AWS Network Firewall von DNS-Hostnamen in diesem Handbuch.

Bewährte Methoden für die Analyse des ausgehenden Datenverkehrs Ihrer VPC bei Verwendung von VPC Flow Logs

Wenn Sie Ihre VPC-Flow-Logs mithilfe von Amazon Athena- oder CloudWatch Logs Insights-Abfragen analysieren, stellen Sie sicher, dass Sie Folgendes tun:

  • Identifizieren und analysieren Sie den ein- und ausgehenden Datenverkehr, der über die elastischen Netzwerkschnittstellen fließt, die mit den von Ihrer Anwendung verwendeten Ressourcen verbunden sind.

  • Identifizieren und analysieren Sie den Anwendungsverkehr, der über die Netzwerkschnittstelle fließt, die mit dem NAT-Gateway verbunden ist.

  • Stellen Sie sicher, dass Sie den gesamten ausgehenden Datenverkehr für eine Netzwerkschnittstelle erfassen, indem Sie die Quelladresse in Ihrer Abfrage zur privaten IP-Adresse der Netzwerkschnittstelle machen.

  • Schreiben Sie Ihre Abfragen so, dass sie sich nur auf unerwartete Verkehrsmuster konzentrieren. (Wenn Ihre Anwendung beispielsweise mit Entitäten von Drittanbietern wie einem HTTPS-API-Endpunkt kommuniziert, können Sie Ihre Abfragen so konstruieren, dass diese Entitäten nicht enthalten sind.)

  • Untersuchen Sie die Gültigkeit der einzelnen Ports und Ziel-IP-Adressen. (Beispielsweise könnte ein ausgehender Zielport 22 für einen Bastion-Host normal sein oder für einen Host, der Repositorys von Git mithilfe von SSH klont.)

Hinweis

Wenn Sie zum ersten Mal mit Amazon Athena arbeiten, stellen Sie sicher, dass Sie einen Speicherort für Abfrageergebnisse konfigurieren. Eine Anleitung finden Sie unter Angeben eines Speicherorts des Abfrageergebnisses mithilfe der Athena-Konsole im Amazon-Athena-Benutzerhandbuch.

Abfragebeispiele für Amazon Athena

Beispiel für eine Athena-Abfrage, die ausgehenden Administratorverkehr von einer bestimmten Netzwerkschnittstelle zurückgibt

Die folgende Athena-Abfrage gibt die ersten 200 Zeilen ausgehenden Administratordatenverkehrs von einer Netzwerkschnittstelle mit der IP-Adresse von 10.100.0.10 zurück:

SELECT * FROM "<vpc_flow_logs_table_name>" WHERE interface_id = 'eni-1234567890000000' AND srcaddr LIKE '10.100.0.10' AND dstport < 1024 LIMIT 200;

Output example

#

1

Version

2

account_id

<account-id>

interface_id

eni-123456789000000

srcaddr

10.32.0.10

dstaddr

11,22,33,44

srcport

36952

dstport

443

Protokoll

6

packets

25

Bytes

5445

start

1659310200

end

1659310225

Aktion

ACCEPT

log_status

OK

date

16.07.2022

Hinweis

Die Ausgabe in diesem Muster ist zu Präsentationszwecken formatiert und kann auf Ihrem System anders aussehen.

Beispiel für eine Athena-Abfrage, die externe IP-Adressen zurückgibt, die den meisten Verkehr von einer bestimmten VPC erhalten

Die folgende Athena-Abfrage gibt die externen IP-Adressen und Ports zurück, die den meisten ausgehenden Verkehr von einer VPC empfangen, wobei ein CIDR-Block mit '10.32' beginnt:

SELECT dstport, dstaddr, count(*) AS count FROM "<vpc_flow_logs_table_name>" WHERE dstaddr not like '10.32%' AND interface_id = 'eni-1234567890000000' GROUP BY dstport, dstaddr ORDER BY count desc LIMIT 200;

Output example

#

Dstport

Dstaddr

Anzahl

1

443

52.x.x.x

1442

2

443

63.x.x.x

1201

3

443

102.x.x.x

887

Beispiel für eine Athena-Abfrage, die abgelehnten ausgehenden Verkehr von einer bestimmten VPC zurückgibt

Die folgende Athena-Abfrage gibt den abgelehnten ausgehenden Verkehr von einer VPC mit einem CIDR-Block zurück, der mit '10.32' beginnt:

SELECT *              FROM "<vpc_flow_logs_table_name>"  WHERE srcaddr like '10.32%' AND action LIKE 'REJECT'

Output example

#

1

Version

2

account_id

<account-id>

interface_id

eni-123456789000000

srcaddr

10.32.0,10

dstaddr

11,22,33,44

srcport

36952

dstport

443

Protokoll

6

packets

25

Bytes

5445

start

1659310200

end

1659310225

Aktion

REJECT

log_status

OK

date

16.07.2022

Hinweis

Die Ausgabe in diesem Muster ist zu Präsentationszwecken formatiert und kann auf Ihrem System anders aussehen.

Weitere Hinweise zur Interpretation der Athena-Abfrageergebnisse finden Sie unter Flow-Protokolldatensätze im Benutzerhandbuch für Amazon VPC.

CloudWatch Beispiele für Logs Insights-Abfragen

CloudWatch Beispiel für eine Logs Insights-Abfrage, die ausgehenden Administratorverkehr von einer bestimmten Netzwerkschnittstelle zurückgibt

Die folgende CloudWatch Logs Insights-Abfrage gibt die ersten 200 Ergebnisse des ausgehenden Administratorverkehrs von einer Netzwerkschnittstelle mit der IP-Adresse 10.100.0.10 zurück:

fields @timestamp, @message | filter interfaceId = 'eni-1234567890000000' | filter srcAddr = '10.100.0.10' | filter dstPort < 1024 | limit 200

Output example

Feld

Wert

@ingestionTime

1659310250813

@log

<account-id>:/aws/vpc/flowlogs

@logStream

eni-123456789000000-all

@message

2 <account-id> eni-123456789000000 10.100.0.10 11.22.33.44 36952 443 6 25 5445 1659310200 1659310225 ACCEPT OK

@timestamp

1659310200000

accountId

<account-id>

action

ACCEPT

bytes

5445

dstAddr

11,22,33,44

dstPort

443

end

1659310225

interfaceId

eni-123456789000000

logStatus

OK

packets

25

Protokoll

6

srcAddr

10.100.0.10

srcPort

36952

start

1659310200

version

2

Beispiel für eine CloudWatch Logs Insights-Abfrage, die externe IP-Adressen zurückgibt, die den meisten Traffic von einer bestimmten VPC erhalten

Die folgende CloudWatch Logs Insights-Abfrage gibt die externen IP-Adressen und Ports zurück, die den meisten ausgehenden Datenverkehr von einer VPC mit einem CIDR-Block erhalten, der mit '10.32' beginnt:

filter @logstream = 'eni-1234567890000000' | stats count(*) as count by dstAddr, dstPort | filter dstAddr not like '10.32' | order by count desc | limit 200

Output example

#

dstAddr

dstPort

Anzahl

1

52.x.x.x

443

439

2

51.79.x.x

63.x.x.x

25

Beispiel für eine CloudWatch Logs Insights-Abfrage, die abgelehnten ausgehenden Datenverkehr von einer bestimmten VPC zurückgibt

Die folgende CloudWatch Logs Insights-Abfrage gibt den zurückgewiesenen ausgehenden Datenverkehr von einer VPC mit einem CIDR-Block zurück, der mit '10.32' beginnt:

filter @logstream = 'eni-0123456789000000' | fields @timestamp, @message | filter action='REJECT'

Output example

Feld

Wert

@ingestionTime

1666991000899

@log

<account-id>:/aws/vpc/flowlogs

@logStream

eni-0123456789000000-all

@message

2 <account-id> 'eni-0123456789000000' 185.x.x.x 10.10.2.222 55116 11211 17 1 43 1666990939 1666990966 REJECT OK

@timestamp

1666990939000

accountId

<account-id>

action

REJECT

bytes

43

dstAddr

10.10.2.222

dstPort

11211

end

1666990966

interfaceId

'eni-0123456789000000'

logStatus

OK

packets

1

Protokoll

17

srcAddr

185.x.x.x

srcPort

55116

start

1666990939

version

2