IT STUDY LOG

[SECTION 5] <Final Project> DAY 6 LOG 본문

devops bootcamp 4/project log

[SECTION 5] <Final Project> DAY 6 LOG

roheerumi 2023. 6. 19. 09:05

# Daily Plan

  1. 날짜 : 2023.06.19
  2. 금일 주요 업무
    • 아키텍처 구현 업무 구체화 회의
    • 아키텍처 구현 업무 분담
    • 아키텍처 구현
  3. 명일 예정사항
    • 아키텍처 구현
  4. 쉬는시간
    • 매시 정각~10분

 


# Process Log

0. Sprint Backlog with Task

더보기
  1. [TEAM MEMBER 1] 기존 시스템 구축
    1. ECS에 web/was 배포
    2. Github에 코드가 push되면 자동으로 code pipeline, code build, code deploy 과정 수행
    3. 레거시 시스템 데모 시연을 위해 alb, ecr, ecs fargate, rds, s3 구축
    4. Alb에 waf를 활용해 네트워크 보안 강화
    5. IaC(Terraform) CI/CD
    6. (Optional) lambda CI/CD
  2. [TEAM MEMBER 2] 자산 구분시스템
    1. 자동 태깅
      • Parameter store에 자산 분류 태그 생성
      • 자산 분류 naming convetion 회의 필요
      • 기존 시스템 구축 과정에서 인스턴스가 생성되어 cloudtrail에 로그를 eventbridge의 트리거로 태깅 lambda가 동작하도록 구성
      • (Optional) 필요한 경우 cloudtrail에서 cloudwatch로 로그를 전달하도록 구성
      • 태깅 lambda에서 parameter store를 활용해 리소스 태깅 작업 수행
    2. 수동 태깅
      • Resource group과 tag editor를 사용해 리소스 분류 작업 수행
  3. [TEAM MEMBER 3, 4, 2] 자산 점검 프로세스
    1. 태깅된 자산의 분류에 따라 inspector로 실시간으로 cve를 점검해 취약점이 발견되면 security hub로 전달하도록 구성
    2. 태깅된 자산의 분류에 따라 config의 실시간으로 구성 규칙을 선별해 cce를 점검하고 취약점이 발견되면 security hub로 전달하도록 구성
    3. Guard duty를 활용해 실시간으로 지능 위협 취약점 탐지 후 취약점이 발견되면 security hub로 전달하도록 구성
    4. 취약점이 발생하면 Security hub에서 event bridge를 통해 cloudwatch와 SNS로 전달
    5. (Optional) SNS lambda로 전달 후 SNS lambda에서 SNS로 전달
    6. SNS에 전달된 이벤트 메시지를 email lambda로 전달 후 Email lambda에서 취약점 보고서 형식으로 가공 후 email 및 slack으로 전달하도록 코드 작성
    7. Config에서 자동 수정이 가능한 일부 취약점의 경우 system manager를 활용해 자동 수정 진행
  4. [TEAM MEMBER 5] 모니터링
    1. 기존 구축된 시스템에 adot 컨테이너 이미지를 사이드카 컨테이너를 동작시켜서 리소스들의 메트릭, 트레이스 수집하도록 구성
    2. 메트릭은 amp, 트레이스는 x-ray로 전달되도록 구성
    3. Grafana는 cloudwatch에 전달된 취약점 로그와, amp의 메트릭, x-ray의 트레이스를 데이터 소스로 사용하며 쿼리를 통해 시각화 대시보드 생성
    4. eventbridge를 통해 정기적으로 스케쥴링된 email lambda를 트리거
    5. Email lambda는 수집한 로그, 메트릭, 트레이스릉 가공해 일별 점검 리포트를 생성하며, 이때 grafana의 report api를 통해 시각화된 보고서 생성.
    6. 생성된 보고서를 email 및 slack으로 전송

 

TBD

  1. 정기적으로 sns 트리거하는 방법? -> SNS를 이벤트 브릿지로 대체
  2. 그라파나의 쿼리는 어떻게 선별할지? -> 개발할 사람이 선별하거나 그라파나 커뮤니티 템플릿 사용
  3. 취약점이 예를 들어 CVE에서만 발견된 경우에도 security hub에서 통합된 기록을 통해 모든 취약점에 대한 보고가 이루어지는가? -> security hub는 취약점 등이 발견되었을 경우에만 로그가 적재됨
  4. 만일 config에서 자동 조치가 가능한 부분/불가한 부분이 있을 경우 이를 구분해서 보고하는가? 자동으로 조치된 취약점은 실시간으로로 알리는가? -> 정 안되면 중복 보고
  5. Sns lambda의 역할? -> 현재로서는 불필요 판단, 추후 필요시 추가

 

1. Task Log

⓿ Security Hub에 Config, Inspector, GuardDuty 통합

 

❶ 태깅된 자산의 분류에 따라 config의 실시간으로 구성 규칙을 선별해 cce를 점검하고 취약점이 발견되면 security hub로 전달하도록 구성

Step 1 : config console에서 config 시작하기

Step 2 : 설정

  1. 설정 페이지의 기록할 리소스 유형에서 AWS Config에 기록할 모든 리소스 유형을 지정(AWS Config가 기록하는 리소스 선택)
  2. AWS Config역할의 경우 기존 AWS Config 서비스 연결 역할을 선택하거나 계정에서 역할을 선택
  3. 전달 방법
     
    • 전송 방법에서 구성 기록 및 구성 스냅샷 파일을 AWS Config 전송할 S3 버킷을 선택
      • 버킷 생성  S3 버킷 이름으로 S3 버킷의 이름을 입력
      • 계정에서 버킷 선택  S3 버킷 이름의 경우 선호하는 버킷을 선택
      • 다른 계정에서 버킷 선택  S3 버킷 이름에 버킷 이름을 입력
  4. Amazon SNS 주제의 경우 구성 변경 및 알림을 Amazon SNS 주제로 스트리밍을 선택하면 구성 기록 전송, 구성 스냅샷 전송, 규정 준수와 같은 알림을 AWS Config 전송 가능
    • 주제 생성  주제 이름에 SNS 주제의 이름을 입력
    • 계정에서 주제 선택  주제 이름에서 원하는 주제를 선택
    • 다른 계정에서 주제 선택  주제 ARN 에 주제의 Amazon 리소스 이름 (ARN) 을 입력 다른 계정에서 주제를 선택하는 경우, 해당 주제에 AWS Config에 액세스 권한을 부여하는 정책이 있어야 함(Amazon SNS 주제에 대한 권한을 참조)

Step 3 : 규칙

- 규칙을 지원하는 리전에서 AWS Config를 설정하는 경우, 선택할 관리형 규칙을 선택하고 다음(자세한 정보는 AWS Config규칙 관리 참고)

Step 4 : Security Hub에 통합 확인

 

❷ 태깅된 자산의 분류에 따라 inspector로 실시간으로 cve를 점검해 취약점이 발견되면 security hub로 전달하도록 구성

Step 1 : Amazon Inspector 활성화

  1. https://console.aws.amazon.com/inspector/v2/home 에서 Amazon Inspector 콘솔 접속
  2. 시작하기(Get Started)를 선택
  3. Amazon Inspector 활성화를 선택

Step 2 : Amazon Inspector 결과 보기 (참고 : 대시보드 이해)

  1. https://console.aws.amazon.com/inspector/v2/home 에서 Amazon Inspector 콘솔 접속
  2. 탐색 창에서 대시보드를 선택 후 대시보드의 링크 중 하나를 선택하여 Amazon Inspector 콘솔에서 해당 항목에 대한 세부 정보가 있는 페이지로 이동 가능
  3. 탐색 창에서 검색 결과를 선택
  4. 기본적으로 해당 환경의 모든 EC2 인스턴스, ECR 컨테이너 이미지, AWS Lambda 함수 결과를 표시하는 All finds 탭이 표시됨
  5. 검색 결과 목록의 제목 열에 있는 검색 결과 이름을 선택하여 해당 검색 결과에 대한 세부 정보 창 접속 가능, 모든 검색 결과에는 검색 결과 세부 정보 탭이 존재하며 검색 결과 세부 정보 탭과 상호 작용 가능
    • 유형을 찾는 방법에 대한 자세한 내용은 아마존 인스펙터에서 유형 찾기 단원을 참조
    • 취약성에 대한 자세한 내용을 보려면 취약성 세부 정보 섹션의 링크를 따라 이 취약성에 대한 설명서 확인
    • 리소스를 더 자세히 조사하려면 영향을 받는 리소스 섹션의 리소스 ID 링크를 따라 영향을 받는 리소스의 서비스 콘솔로 접속
$ sudo ssm-cli get-diagnostics --output table
┌──────────────────────────────────────┬─────────┬──────────────────────────────────────────┐
│ Check                                │ Status  │ Note                                     │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ EC2 IMDS                             │ Success │ IMDS is accessible and has instance id   │
│                                      │         │ i-09c58864a317a7592 in region            │
│                                      │         │ ap-northeast-2                           │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Hybrid instance registration         │ Skipped │ Instance does not have hybrid            │
│                                      │         │ registration                             │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Connectivity to ssm endpoint         │ Success │ ssm.ap-northeast-2.amazonaws.com is      │
│                                      │         │ reachable                                │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Connectivity to ec2messages endpoint │ Success │ ec2messages.ap-northeast-2.amazonaws.com │
│                                      │         │ is reachable                             │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Connectivity to ssmmessages endpoint │ Success │ ssmmessages.ap-northeast-2.amazonaws.com │
│                                      │         │ is reachable                             │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Connectivity to s3 endpoint          │ Success │ s3.ap-northeast-2.amazonaws.com is       │
│                                      │         │ reachable                                │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Connectivity to kms endpoint         │ Success │ kms.ap-northeast-2.amazonaws.com is      │
│                                      │         │ reachable                                │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Connectivity to logs endpoint        │ Success │ logs.ap-northeast-2.amazonaws.com is     │
│                                      │         │ reachable                                │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Connectivity to monitoring endpoint  │ Success │ monitoring.ap-northeast-2.amazonaws.com  │
│                                      │         │ is reachable                             │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ AWS Credentials                      │ Failed  │ EC2RoleRequestError: no EC2 instance     │
│                                      │         │ role found                               │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Agent service                        │ Success │ Agent service is running and is running  │
│                                      │         │ as expected user                         │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ Proxy configuration                  │ Skipped │ No proxy configuration detected          │
├──────────────────────────────────────┼─────────┼──────────────────────────────────────────┤
│ SSM Agent version                    │ Success │ SSM Agent version is 3.1.1732.0, latest  │
│                                      │         │ agent version in ap-northeast-2 is       │
│                                      │         │ 3.2.1041.0                               │
└──────────────────────────────────────┴─────────┴──────────────────────────────────────────┘

Inspector 활성화 후 점검 결과 확인

Step 3 : Security Hub에 통합 확인

 

❸ Guard duty를 활용해 실시간으로 지능 위협 취약점 탐지 후 취약점이 발견되면 security hub로 전달하도록 구성

Step 1 : 아마존 활성화 GuardDuty

  1. https://console.aws.amazon.com/guardduty/ 에서 GuardDuty 콘솔 접속
  2. 시작하기(Get Started)를 선택
  3. GuardDuty 활성

Step 2 : 샘플 결과 생성 및 기본 작업 살펴보기

  1. 탐색 창에서 설정(Settings)을 선택
  2. [Settings] 페이지의 [Sample findings] 아래에서 [Generate sample findings]를 선택
  3. 탐색 창에서 Findings를 선택 샘플 결과는 [SAMPLE] 접두사와 함께 현재 검색 결과 페이지에 표시됨
  4. 목록에서 검색 결과를 선택하면 검색 결과에 대한 세부 정보가 표시됨
    • 창 상단에서 검색 ID를 선택하여 검색 결과에 대한 전체 JSON 세부 정보 확인
      • 전체 JSON 파일은 이 패널에서 다운로드 가능
      • JSON은 콘솔 보기에 포함되지 않은 몇 가지 추가 정보를 포함하며 다른 도구 및 서비스에서 수집할 수 있는 형식
    • 영향을 받는 리소스 섹션을 확인
      • 계정에서 조사해야 할 리소스를 식별하는 데 도움이 되며 실행 가능한 적절한AWS Management Console 리소스로 연결되는 링크를 포함
    • + 또는 - 모양의 유리 아이콘을 선택하여 해당 세부 정보에 대한 포괄적 또는 독점적 필터를 만들 수 있음 ( 필터 찾기에 대한 자세한 내용은 결과 필터링 단원을 참고)
  5. 모든 샘플 결과 보관
    1. 목록 상단의 확인란을 선택하여 모든 결과를 선택
    2. 보관하려는 검색 결과를 모두 선택 취소
    3. 작업 메뉴를 선택한 다음 아카이브를 선택하여 샘플 결과를 숨김

Step 3 : Security Hub에 통합 확인


# Daily Reporting

☑️ 일일업무보고

☑️ 아키텍처 구현 업무 구체화 회의

☑️ 태그 명명 규칙 회의

☑️ 아키텍처 구현 업무 배분

☑️ 태깅된 자산의 분류에 따라 config의 실시간으로 구성 규칙을 선별해 cce를 점검하고 취약점이 발견되면 security hub로 전달하도록 구성

☑️ 태깅된 자산의 분류에 따라 inspector로 실시간으로 cve를 점검해 취약점이 발견되면 security hub로 전달하도록 구성


# references

https://docs.aws.amazon.com/ko_kr/config/latest/developerguide/WhatIsConfig.html

 

AWS Config이란 무엇입니까? - AWS Config

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/config/latest/developerguide/managed-rules-by-trigger-type.html

 

트리거 유형별 AWS Config 관리형 규칙 목록 - AWS Config

관리형 규칙에 지정된 기본값은 콘솔을 사용할 때만 미리 채워집니다. AWS API, CLI 또는 SDK에 대해 제공되지 않습니다.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/config/latest/developerguide/manual-setup.title.html

 

수동 설정 - AWS Config

2022년 2월 이후 AWS Config 녹화에 온보딩된 글로벌 리소스 유형은 상용 파티션의 경우 서비스의 홈 지역과 파티션의 경우 AWS GovCloud (미국 서부) 에만 기록됨 GovCloud 이러한 새로운 글로벌 리소

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/securityhub/latest/userguide/securityhub-prereq-config.html

 

활성화 및 구성AWS Config - AWS Security Hub

보안 검사 후에 새로운 결과를 생성하고 유효하지 않은 결과를 방지하려면 구성 레코더에 연결된 IAM 역할에 기본 리소스를 평가할 수 있는 충분한 권한이 있어야

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/inspector/latest/user/what-is-inspector.html

 

Amazon Inspectora를 사용하려면 무엇인가요? - Amazon Inspector

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/inspector/latest/user/getting_started_tutorial.html

 

Amazon Inspector 시작하기 - Amazon Inspector

이 자습서에서는 현재 작업을 AWS 리전 완료 다른 지역에서 Amazon Inspector를 설정하려면 각 지역에서 다음 단계를 완료해야

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/config/latest/developerguide/aws-config-landing-page.html

 

AWS 리소스 구성 보기 및 AWS Config 관리 - AWS Config

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://repost.aws/ko/knowledge-center/amazon-inspector-ec2-scanning

 

EC2 인스턴스에 대한 Amazon Inspector 스캔 문제 해결

Amazon Inspector를 켰지만 Elastic Compute Cloud(Amazon EC2) 인스턴스를 스캔하지 않습니다. Amazon Inspector 대시보드 상태는 “관리되지 않는 EC2 인스턴스”, “지원되지 않는 OS”, “내부 오류”, “초기 스

repost.aws

https://docs.aws.amazon.com/ko_kr/inspector/latest/user/scanning-ec2.html

 

Amazon Inspector로 Amazon EC2 인스턴스 스캔 - Amazon Inspector

호스트가 발신 인터넷 액세스 없이 Amazon VPC 실행되고 있는 경우, Windows 스캔을 하려면 호스트가 지역 Amazon S3 엔드포인트에 액세스할 수 있어야 Amazon S3 Amazon VPC 엔드포인트를 구성하는

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/ssm-agent.html

 

SSM Agent로 작업하기 - AWS Systems Manager

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/ssm-agent-status-and-restart.html

 

SSM Agent 상태 확인 및 에이전트 시작 - AWS Systems Manager

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/sysman-inventory-configuring.html#sysman-inventory-config-collection

 

인벤토리 수집 구성 - AWS Systems Manager

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/inspector/latest/user/supported.html#supported-os-ec2

 

Amazon Inspector에서 지원하는 운영 체제 및 프로그래밍 언어 - Amazon Inspector

기계 번역으로 제공되는 번역 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선 Amazon Inspector에서 지원하는 운영 체제 및 프로그래밍 언어 Amazon Inspector는 Am

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/general/latest/gr/ssm.html

 

AWS Systems Manager엔드포인트 및 할당량 - AWS 일반 참조

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/ssm-cli.html

 

ssm-cli를 사용하여 Amazon EC2 관리형 인스턴스 가용성 문제 해결 - AWS Systems Manager

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://musma.github.io/2019/11/29/about-aws-ssm.html

 

AWS SSM으로 EC2 인스턴스에 접근하기 (SSH 대체)

목차 서론 들어가기: 더 좋은 방법 대상 독자 SSM: AWS Systems Manager 원격 호스트 접속 방법 비교: SSH (기존) vs. SSM (개선) S...

musma.github.io

https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/systems-manager-setting-up-ec2.html

 

EC2 인스턴스용 Systems Manager 설정 - AWS Systems Manager

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사 실망시켜 드려 죄송 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/guardduty/latest/ug/guardduty_findings.html

 

아마존 GuardDuty 조사 결과 이해하기 - Amazon GuardDuty

어떤 경우에는 특정 결과가 생성된 후 오탐이라는 사실을 알게 GuardDuty 됨 GuardDuty검색 결과의 JSON에 신뢰 필드를 제공하고 값을 0으로 설정 이렇게 GuardDuty 하면 이러한 결과를 무시

docs.aws.amazon.com

 

Comments