AWS CloudShell에서 AWS 계정의 보안 감사를 수행하는 방법

AWS CloudShell을 사용하면 AWS 계정에서 바로 터미널을 쉽게 가동할 수 있습니다. CloudShell은 다른 터미널과 같기 때문에 인스턴스를 가동할 필요 없이 다른 도구를 부트스트랩할 수 있습니다.

설치Steampipe 방법과 이를 사용하여 AWS CloudShell에서 바로 SQL을 사용하여 AWS API를 즉시 쿼리하는 방법을 보여 주었습니다. 예를 들어 SteampipeAWS plugin를 사용하여 MFA를 활성화한 AWS IAM 사용자를 쿼리하는 쿼리는 다음과 같습니다.

select
  title,
  create_date,
  mfa_enabled
from
  aws_iam_user

+-----------------+---------------------+-------------+
| title           | create_date         | mfa_enabled |
+-----------------+---------------------+-------------+
| pam_beesly      | 2005-03-24 21:30:00 | false       |
| creed_bratton   | 2005-03-24 21:30:00 | true        |
| stanley_hudson  | 2005-03-24 21:30:00 | false       |
| michael_scott   | 2005-03-24 21:30:00 | false       |
| dwight_schrute  | 2005-03-24 21:30:00 | true        |
+-----------------+---------------------+-------------+


SQL을 사용하여 이러한 유형의 보안 구성 질문에 대해 환경을 간단히 쿼리할 수 있습니다. 시작하는 데 활용할 수 있는 수천 개의 예제와 AWS 구성에 대한 세부 정보를 발견할 수 있는 풍부한 가능성이 있습니다.

보안 및 규정 준수 검사 실행



쿼리를 실행하는 AWS 구성을 탐색할 수 있지만 Steampipe는 관련 대시보드, 벤치마크, 쿼리 및 컨트롤 모음인 모듈도 제공합니다. Steampipe 모드 및 모드 리소스는 벤치마크를 생성하기 위해 SQL 쿼리를 래핑하는 HCL에서 정의됩니다. 보안, 규정 준수, 태깅 및 비용 제어를 위해 즉시 사용할 수 있는 수천 개의 컨트롤을 시작하는 데 도움이 되는 많은 게시된 모드 예제가 있습니다. 게시된 모듈은 Steampipe Hub 에서 찾을 수 있으며 사용자 정의 모드는 공개 git 저장소에서 다른 사람과 공유할 수 있습니다.

예를 들어, AWS Compliance Mod 계층은 CIS, HIPAA, NIST, PCI, FedRAMP, SOC 2 등을 포함하여 13가지 규정 준수 표준을 다루는 벤치마크 및 컨트롤입니다. 각 벤치마크에는 통과/실패 제어 세트가 포함됩니다. "EC2 인스턴스"와 같은 규정 준수 권장 사항에 대한 각 제어 테스트는 AWS Systems Manager"및 보고서OK 또는 Alarm에서 관리해야 합니다.

NIST 800-53 벤치마크를 실행하는 방법은 다음과 같습니다.
1~3단계를 이미 완료한 경우 4단계로 건너뜁니다.

1. 스팀파이프 설치

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



2. AWS 플러그인 설치

steampipe plugin install aws


3. AWS 규정 준수 모드 설치

git clone https://github.com/turbot/steampipe-mod-aws-compliance
cd steampipe-mod-aws-compliance


4. NIST 800-53 벤치마크 실행:

steampipe check benchmark.nist_800_53_rev_4


해당 벤치마크에는 370개 이상의 컨트롤이 있으므로 이 명령은 많은 화면의 출력을 생성합니다. 마지막 출력은 다음과 같습니다.



조사 결과 내보내기 및 검토



요약이 도움이 되지만 전체 보고서를 다양한 형식으로 요약할 수 있습니다. CSV , Markdown , HTML 로 내보낼 수 있습니다. HTML 형식의 예:

steampipe check benchmark.nist_800_53_rev_4 --export=output.html


AWS CloudShell의 Files -> Download File 메뉴에서 Actions를 사용하여 출력 파일steampipe-mod-aws-compliance/output.html을 다운로드하고 로컬에서 작업할 수 있습니다.

HTML 보고서는 다음과 같습니다.

AWS 규정 준수 빠른 시작



위의 흐름을 부트스트랩하고 사용자에게 사용 가능한 13개의 규정 준수 벤치마크 중에서 선택하라는 메시지를 표시하는 빠른 시작 스크립트를 작성했습니다.

빠른 시작을 시작하려면 새 CloudShell을 실행하고 Steampipe를 설치하십시오.

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



그런 다음 Steampipe AWS 규정 준수 빠른 시작 스크립트를 내려 AWS 플러그인, AWS 규정 준수 모드를 설치하고 실행할 벤치마크를 묻는 선택 프롬프트를 받습니다.

/bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/turbot/steampipe-samples/main/all/aws-compliance-quickstart/quickstart.sh)"



실제로 확인하십시오:


언제든지 마지막 명령을 다시 실행할 수 있으며 설정 단계를 건너뛰고 실행할 다른 규정 준수 벤치마크를 묻는 메시지가 표시됩니다. 참고: 이 마지막 스크립트는 재미있는 샘플일 뿐이며 일반적으로 공식AWS Compliance Mod Controls을 사용하여 사용 가능한 벤치마크에 대한 컨트롤, 정의 및 최신 정보를 평가해야 합니다.

마지막 생각들



저는 AWS 계정 내에서 이러한 유형의 빠른 승리 사용 사례에 AWS CloudShell을 사용하는 것을 정말 좋아합니다. Steampipe와 같은 CLI 도구를 매우 쉽게 설치할 수 있으며 구성이 필요하지 않고 즉시 만족할 수 있습니다! 아래 설명에서 즐겨 사용하는 CLI 도구와 함께 AWS CloudShell을 사용하는 방법을 알려주십시오.

좋은 웹페이지 즐겨찾기