Это странно, у меня есть несколько экземпляров, работающих в частной подсети. Эти подсети не имеют прямого доступа к Интернету, у них нет публичного IP, и весь исходящий трафик направляется через экземпляр NAT.
Однако GuardDuty выдает мне такие предупреждения для всех экземпляров в этой частной подсети:
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
Итак, здесь возникает несколько вопросов:
- Как вообще возможно, что мой экземпляр будет просканирован, если у него нет публичного IP-адреса?
- Почему IP-адрес субъекта отличается от удаленного IP-адреса?
решение1
Думаю, я сам нашел причину и опубликую ее в качестве ответа на случай, если другие люди тоже столкнутся с этой проблемой:
Эти экземпляры были частью кластера Kubernetes, и я использую nginx в качестве контроллера входящего трафика. Этот контроллер входящего трафика представлен через type:Loadbalancer
и с аннотацией, которая заставляет AWS использовать Network LoadBalancer (NLB).
Поскольку NLB сохраняет исходный IP-адрес, эти IP-адреса также отображаются в журналах AWS GuardDuty.