GuardDuty teilt mir mit, dass private Instanzen von Hosts im Internet untersucht werden

GuardDuty teilt mir mit, dass private Instanzen von Hosts im Internet untersucht werden

Das ist komisch, ich habe einige Instanzen in einem privaten Subnetz laufen. Diese Subnetze sind nicht direkt dem Internet ausgesetzt, sie haben keine öffentliche IP und der gesamte ausgehende Datenverkehr wird über eine NAT-Instanz geleitet.

GuardDuty gibt mir jedoch für alle Instanzen in diesem privaten Subnetz Warnungen wie diese aus:

Recon:EC2/PortProbeUnprotectedPort
Action
Action type
PORT_PROBE


Blocked
false
First seen
12-21-2019 22:22:10 (a month ago)
Last seen
01-19-2020 11:18:12 (38 minutes ago)
Actor
IP address
159.65.11.106
Location
country:
Singapore
lat:
1.314
lon:
103.6839
Organization
asn:
14061
asnOrg:
DigitalOcean, LLC
isp:
Digital Ocean
org:
Digital Ocean

Additional information
Threat name
Scanner
Threat list name
ProofPoint
Local port
30539
Archived
false
Remote IP details
ipAddress:
5.101.0.209
location:
Moscow, Russia
organization:
PinSPB

Hier stellen sich also mehrere Fragen:

  • Wie ist es überhaupt möglich, dass meine Instanz gescannt wird, wenn sie keine öffentliche IP-Adresse hat?
  • Warum unterscheidet sich die IP-Adresse des Akteurs von der Remote-IP?

Antwort1

Ich glaube, ich habe den Grund selbst gefunden und werde ihn als Antwort posten, für den Fall, dass auch andere Leute auf dieses Problem stoßen:

Diese Instanzen waren Teil eines Kubernetes-Clusters und ich verwende nginx als Ingress-Controller. Dieser Ingress-Controller wird über type:Loadbalancerund mit einer Annotation bereitgestellt, die AWS veranlasst, einen Network LoadBalancer (NLB) zu verwenden.

Da NLBs die ursprüngliche IP-Adresse beibehalten, werden diese IPs auch in den AWS GuardDuty-Protokollen angezeigt.

verwandte Informationen