이러한 CloudTrail IP 주소는 어디에서 오는 것입니까?

CloudTrail 설정은 사용자의 AWS API 활동(무엇이 누구에 의해 어디에서 발생했는지)을 이해하는 데 필수적입니다. 이벤트 로그의 한 필드는 소스 IP 주소입니다. 그러나 이는 AWS API 작업이 어디에서 오는지 알려주지 않습니다. 이 게시물에서는 SteampipeAWS 플러그인과 함께 ipstack을 사용하여 위치 정보로 CloudTrail 이벤트를 강화하는 방법을 보여줍니다.

이전과 마찬가지로 로그인한 AWS 자격 증명을 활용하는 빠른 시작 경험을 위해 AWS CloudShell을 사용합니다. CloudTrail 정보로 계정에서 나만의 CloudShell을 시작하고 따라해보세요!

설정



먼저 Steampipe를 설치합니다.

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"



그런 다음 AWS 플러그인을 설치합니다.

steampipe plugin install aws


그런 다음 ipstack 플러그인:

steampipe plugin install ipstack


CloudTrail CloudWatch 로그 그룹 찾기



사용자, 역할 또는 AWS 서비스가 수행한 작업은 CloudTrail에 이벤트로 기록됩니다. 이러한 이벤트는 쉽게 모니터링할 수 있도록 CloudWatch 로그 그룹으로 보낼 수 있습니다. Steampipe에는 추적에서 이벤트를 기록하도록 구성된 CloudWatch 로그 그룹에서 CloudTrail 이벤트 데이터를 읽는 관련 테이블이 있습니다.

이제 Steampipe와 플러그인이 설치되었으므로 steampipe query를 실행하고 AWSipstack 플러그인에서 제공하는 테이블을 참조하는 SQL 쿼리를 작성할 수 있습니다. 먼저 aws_cloudtrail_trail 테이블을 쿼리하여 이 예에서 사용할 CloudTrail 및 관련 CloudWatch 로그 그룹을 찾습니다.

$ steampipe query
Welcome to Steampipe v0.15.0
For more information, type .help
> select 
    name, 
    region,
    log_group_arn,
    latest_delivery_time
 from 
    aws_cloudtrail_trail

+-----------------------+-----------+----------------------+----------------------------------------------------------+
| name                  | region    | latest_delivery_time | log_group_arn                                            |
+-----------------------+-----------+----------------------+----------------------------------------------------------+
| cloudtrail-for-devto  | us-east-1 | 2022-07-06T20:38:09Z | arn:aws:logs:us-east-1:810361751552:cloudtrail-cwg-devto |
+-----------------------+-----------+----------------------+----------------------------------------------------------+



로그에 IP 주소 나열



이제 해당 추적에서 소스 IP 주소를 검토해 보겠습니다.

select
    source_ip_address
  from
    aws_cloudtrail_trail_event
  where
    log_group_name = 'cloudtrail-cwg-devto'
    and source_ip_address ~ '^\d+\.\d+' -- filter ipv4 addresses

+-------------------+
| source_ip_address |
+-------------------+
| 104.53.216.85     |
| 82.102.17.180     |
| 89.248.165.99     |
| 107.170.20.63     |
| 212.102.58.164    |
+-------------------+


IP 주소의 지리적 위치 파악



마지막으로 해당 주소를 ipstack_ip와 결합하여 어디에서 왔는지 알아봅시다.

with addrs as (
  select 
    a.source_ip_address::inet
  from 
    aws_cloudtrail_trail_event a
  where 
    a.log_group_name = 'cloudtrail-cwg-devto'
    and a.source_ip_address ~ '^\d+\.\d+' -- filter ipv4 addresses
)
select 
  a.source_ip_address as ip,
  i.continent_name,
  i.country_name,
  i.region_name,
  i.city
from 
  addrs a
join
  ipstack_ip i
on
  a.source_ip_address = i.ip

+-----------------+----------------+----------------+-------------------+------------+
| ip              | continent_name | country_name   | region_name       | city       |
+-----------------+----------------+----------------+-------------------+------------+
| 104.53.216.85   | North America  | United States  | California        | Windsor    |
| 82.102.17.180   | Europe         | Spain          | Madrid            | Madrid     |
| 89.248.165.99   | Europe         | Netherlands    | North Holland     | Diemen     |
| 107.170.20.63   | North America  | United States  | New York          | Manhattan  |
| 157.230.162.15  | North America  | United States  | California        | Palo Alto  |
| 212.102.58.164  | North America  | United States  | Illinois          | Chicago    |
+-----------------+----------------+----------------+-------------------+------------+



로그에서 IP 주소를 보강하는 더 많은 방법



Net 플러그인은 DNS 역방향 조회를 제공할 수 있고, AbuseIPDB 플러그인은 IP 주소와 관련된 악의적인 활동을 찾고, Shodan 플러그인은 악용 가능한 취약점을 검색합니다. 다른 플러그인과 함께 여기에 표시된 것과 동일한 기술을 개별적으로 또는 조합하여 사용하여 AWS CloudTrail 로그에 캡처된 IP 주소를 추가로 보강할 수 있습니다.

좋은 웹페이지 즐겨찾기