GuardDuty는 개인 인스턴스가 인터넷의 호스트에 의해 탐색되고 있다고 알려줍니다.

GuardDuty는 개인 인스턴스가 인터넷의 호스트에 의해 탐색되고 있다고 알려줍니다.

이상하네요. 일부 인스턴스가 프라이빗 서브넷에서 실행되고 있습니다. 이러한 서브넷은 인터넷에 직접 노출되지 않으며, 공용 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:LoadbalancerAWS가 NLB(Network LoadBalancer)를 사용하도록 하는 주석을 통해 노출됩니다.

NLB는 원본 IP 주소를 유지하므로 해당 IP는 AWS GuardDuty 로그에도 표시됩니다.

관련 정보