Steampipe - 클라우드 리소스 가시화 툴
클라우드 리소스를 SQL 형태로 검색할 수 있음. 리소스 현황 파악을 할 수도 있고 사전에 정의한 내용에 따라 보안검사 등도 할 수가 있음.
별도 DBMS 설치 필요없고 프로그램만 설치하면 됨.
Ubuntu 에 설치
https://steampipe.io/downloads
$ sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe/main/install.sh)"
# version check
$ steampipe -v
# Install your first plugin
$ steampipe plugin install steampipe
# first query
$ steampipe query "select name from steampipe_registry_plugin;"
$ steampipe query
> .tables
https://steampipe.io/docs 문서는 AWS 기준으로 되어 있음.
Steampipe mods 라는 것을 이용하여 자주 사용하는 쿼리를 저장하고 레포트 형태로 사용을 할 수가 있음.
AWS query, dashboard
# install aws plugin
$ steampipe plugin install aws
# query
$ $ steampipe query
> .tables
select name from aws_iam_role
$ git clone https://github.com/turbot/steampipe-mod-gcp-compliance.git
$ cd steampipe-mod-gcp-compliance
$ steampipe check all
대시보드 : Steampipe를 사용하여 AWS 리소스에 대한 대시보드 및 보고서를 생성
https://hub.steampipe.io/mods/turbot/aws_insights
git clone https://github.com/turbot/steampipe-mod-aws-insights.git
cd steampipe-mod-aws-insights
steampipe dashboard
mac에서는 steampipe dashboard 가 실행이 안되었는데 이에 대해서는 확인 필요. (최신 버전으로 업데이트 시 실행이 되었음)
AWS Compliance Mod for Steampipe
https://hub.steampipe.io/mods/turbot/aws_compliance
https://github.com/turbot/steampipe-mod-aws-compliance
모든 AWS 리전에서 업계에서 정의한 보안 모범 사례를 다루는 300개 이상의 검사. PCI DSS, AWS Foundational Security, HIPAA, NIST 800-53, NIST CSF, Reserve Bank of India, Audit Manager Control Tower 및 최신(v1.4.0) CIS 벤치 마크를 포함한 여러 모범 사례 벤치마크에 대한 완전한 지원 포함
Includes support for:
AWS CIS v1.4.0 : CIS Amazon Web Services Foundations Benchmark v1.4.0
AWS Security Hub 에서 지원하는 AWS CIS는 v.1.2.0 인데 Steampipe 에서는 AWS CIS v1.3.0, AWS CIS v1.4.0 임.
AWS Security Hub 에서 지원하는 AWS Foundational Security Best Practices 은 Steampipe에서 심각도에 따라서 구분을 할 수 있어서 편리함.
CIS Amazon Web Services Foundations Benchmark v1.4.0 - 05-28-2021 https://www.cisecurity.org/cis-benchmarks/
AWS Compliance Mod for Steampipe 실행. 아래와 같이 실행시에는 여러 모범 사례 벤치마크를 실행하기 때문에 항목이 1천여가지가 됨. 필요한 벤치마크만 실행하는 것이 좋을 것 같음.
AWS CIS v1.4.0 , AWS Foundational Security Best Practices 를 먼저 활용을 하면 될 듯 하다. AWS CIS v1.4.0 는 항목이 매우 많은데 Steampipe에서는 심각도별로 정보가 나오지 않는 듯 하다. AWS Foundational Security Best Practices 의 경우는 심각도별로 정보가 나오기 때문에 심각도가 높은 것만 뽑아서 설정을 업데이트하는 것이 좋겠다.
CIS Amazon Web Services Foundations Benchmark v1.4.0
AWS CIS v1.4.0 : 5가지 항목으로 체크 함.
Identity and Access Management : MFA 강제, Access key 90일 이내, group 통해서만 권한 받기 등.
Storage : S3, ec2, RDS 데이터 암호화
Logging : CloudTrail 활성화, CloudTrail 을 CloudWatch Logs 로 보내기.
Monitoring : 보안 관련한 메트릭 및 알람 모니터링 설정
Networking : NACL, SG 체크
export 옵션에서 html로 출력.
https://steampipe.io/docs/check/overview
https://steampipe.io/docs/check/formatting
AWS Foundational Security Best Practices
AWS의 각 서비스에 따라서 체크를 함. severity 심각도를 이용할 수 있다.
benchmark check
AWS Foundational Security Best Practices 에서 critical, high만 확인.
--dry-run 플래그를 이용해서 어떤 컨트롤을 적용하는지 목록 확인.
각 항목별로 나오는 내용에 대해서는 steampipe 에서도 어떻게 작업을 하면 되는지 나오며 https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html 의 문서를 참고해도 된다. severity 는 AWS 문서에서만 나온다.
기타 AWS mod for Steampipe
https://hub.steampipe.io/mods/turbot/aws_thrifty
Be Thrifty on AWS! This mod checks for unused resources and opportunities to optimize your spend on AWS.
https://hub.steampipe.io/mods/turbot/aws_tags
Run tagging controls across all your AWS accounts to look for untagged resources, missing tags, resources with too many tags, and more.