AWS EC2 인스턴스 메타 데이터 API에 대한 호출을 방지 / 방화하는 방법은 무엇입니까?


14

AWS EC2 인스턴스 메타 데이터 API는 유용한 많은 기능을 제공합니다. 실제 EC2 인스턴스의 모든 사용자는 전화를 걸고 http://169.254.169.254/해당 인스턴스의 메타 데이터를 볼 수 있습니다 . API의 보안은 호출이 인스턴스에서 발생하는지 확인하는 것입니다. 따라서 누군가가 내 인스턴스에서 코드를 실행하도록 허용하면 액세스를 유지하면서 특정 URL에 대한 액세스를 가장 잘 차단하는 방법을 알고 싶습니다.

하이라이트로 메타 데이터 API에 액세스 할 수 있다는 사실에 놀랐습니다 http://instance-data/.

이 인스턴스에서 실행되는 모든 코드가 호출하는 URL을 검사 할 수는 있지만 IPv6 주소 (아마도) 또는 메타 데이터 IP (169.254)로 해석되는 이상한 URI 인코딩이 좋은 접근 방식이 아니라고 가정합니다. .169.254) 또는 문서화되지 않은 URL처럼 보입니다 http://instance-data/.

답변:


25

방화벽을 해제하십시오.

iptables -A OUTPUT -m owner ! --uid-owner root -d 169.254.169.254 -j DROP

이 규칙은 루트 사용자 이외의 사용자가 169.254.169.254에 대한 연결을 열 수 없도록합니다.


이것은이 서비스의 "정상적인"사용을 방해하지 않습니다. 일반적으로 서비스는 거의 루트가 아닌 EC2 사용자에 의해 호출됩니다.
Sam-T

@ Sam-T ec2- 사용자가 액세스 할 필요가 있다면이를 허용하는 규칙을 확실히 작성할 수 있습니다.
Michael Hampton

방화벽 수준에서 루트 만 허용하지 않으면 EC2 사용자에 대해 어떻게 활성화 할 것인지 잘 모르겠습니다 (모릅니다). EC2 사용자-인스턴스를 시작한 사람은 인스턴스의이 EC2 사용자가 메타 데이터에 액세스한다는 것을 이해합니다. 예를 들어 주
Sam-T
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.