보안, 자격 증명 및 규정 준수 Part

박기원·2022년 8월 2일
0
post-thumbnail

📒 Pilot Light

  • 최소 버전의 환경이 항상 클라우드에서 실행된느 DR 시나리오를 설명하는데 종종 사용된다.
  • 복구해야 할 때가 되면 중요 코어를 중심으로 전체 프로덕션 환경을 신속하게 프로비저닝 할 수 있다.

📒 AWS STS (Security Token Service)

  • AWS 리소스에 대한 액세스를 제어할 수 있는 임시 보안 자격 증명을 생성하여 신뢰받는 사용자에게 제공할 수 있다.
  • 임시 보안 자격 증명은 다음과 같은 차이점을 제외하고는 IAM 사용자가 사용할 수 있는 장기 액세스 키 자격 증명과 거의 동일한 효력을 지닌다.
  1. 임시 보안 자격 증명은 그 이름이 암시하듯 단기적이다.
    이 자격 증명은 몇 분에서 몇 시간까지 지속되도록 구성할 수 있다.
    자격 증명이 만료된 후 AWS는 더는 그 자격 증명을 인식하지 못하거나 그 자격 증명을 사용한 API 요청으로부터 이루어지는 어떤 종류의 액세스도 허용하지 않는다.

  2. 임시 보안 자격 증명은 사용자와 함께 저장되지 않지만 동적으로 생성되어 요청시 사용자에게 제공된다.
    임시 보안 자격 증명이 만료되었을 때(심지어는 만료 전이라도) 사용자는 새 자격 증명을 요청할 수 있다.
    단, 자격 증명을 요청하는 해당 사용자에게 그렇게 할 수 있는 권한이 있어야 한다.

📒 Amazon Cognito

  • 웹 및 모바일 앱에 대한 인증, 권한 부여 및 사용자 관리를 제공한다.
  • 사용자는 사용자 이름고 암호를 사용하여 직접 로그인하거나 얼굴책, Amazon, Google, 사과 같은 타사를 통해 로그인할 수 있다.

🔔 Cognito 두 가지 주요 구성 요소

사용자 풀

  • 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉터리
  • 로그인 여부와 무관하게 사용자 풀의 모든 멤버는 디렉터리 프로필을 보유하며, SDK를 통해 이를 액세스할 수 있다.

사용자 풀 제공 사항 :

  • 가입 및 로그인 서비스
  • 사용자 로그인을 위한 내장 사용자 지정 웹 UI
  • 타사를 통한 소셜 로그인 및 사용자풀의 SAML 및 OIDC 자격 증명 공급자를 통한 로그인
  • MFA
  • Lambda트리거를 통한 사용자 지정 워크플로우 및 사용자 마이그레이션

자격 증명 풀

  • 기타 AWS 서비스에 대한 사용자 액세스 권한을 부여할 수 있다.
  • 임시 자격증명을 얻어 다른 AWS 서비스에 액세스할 수 있다.
  • 익명 게스트 사용자는 물론 자격 증명에 대한 사용자 인증에 사용할 수 있는

다음 자격 증명 공급자 지원 :

  • Amazon Cognito 사용자 풀
  • 타사를 통한 소셜 로그인
  • OIDC 공급자
  • SAML 자격 증명 공급자
  • 개발자 인증 자격 증명
    사용자 풀과, 자격 증명 풀을 별도 또는 함께 사용할 수 있다.

📒 ACM (AWS Certificate Manager)

  • AWS Certificate Manager(ACM)은 AWS 웹 사이트와 애플리케이션을 보호하는 퍼블릭 및 프라이빗 SSL/TLS X.509 인증서와 키 를 만들고, 저장하고, 갱신하는 복잡성을 처리한다.
  • ACM에서 직접 발급하거나 서드 파티 인증서를 ACM 관리 시스템으로 가져오는 방법으로 통합 AWS 서비스에 대한 인증서를 제공할 수 있다.
  • ACM 인증서는 단일 도메인 이름, 여러 특정 도메인 이름, 와일드카드 도메인 또는 이러한 도메인의 조합을 보호할 수 있다.
  • ACM 와일드카드 인증서는 원하는 만큼의 하위 도메인을 보호할 수 있다.
  • 내부 PKI의 모든 위치에서 사용할 수 있도록 ACM Private CA로 서명한 ACM 인증서를 내보낼 수도 있다.

🔔 ACM의 2가지 옵션

  1. AWS Certificate Manager (ACM)
  2. ACM Private CA

📒 AWS Directory Service

  • 다른 AWS 서비스에서 Microsoft Active Directory (AD)를 사용할 수 있는 몇 가지 방법을 제공한다.
  • 디렉터리는 사용자, 그룹 및 디바이스에 대한 정보를 저장하고, 관리자는 이를 사용하여 정보 및 리소스에 대한 액세스를 관리한다.
  • AWS AD 또는 LDAP (Lightweight Directory Access Protocol) 인식 애플리케이션을 사용하려는 고객에게 다양한 디텍터리 선택 옵션을 제공한다.

📒 Amazon GuardDuty

  • GuardDuty는 데이터 원본을 분석하고 처리하는 지속적 보안 모니터링 서비스이다.

@ 데이터 원본 : CloudTrail 관리 이벤트 로그, AWS CloudTrailS3, DNS로그, EKS 감사 로그 및 VPC 흐름 로그에 대한 데이터 이벤트 이다.

  • 악성 IP 주소 및 도메인 목록 등 위협 인텔리전스 피드를 바탕으로 Machine Learning을 적용하여 예기치 않게 발생하는 잠재적 무단 활동과 악의적 활동을 찾아낸다.

📒 AWS IAM (Identity & Access Management)

  • IAM에 대한 권한 경계를 지원한다.
  • 권한 경계는 관리형 정책을 사용하여 자격 증명 기반 정책을 통해 IAM 엔터티에 부여할 수 있는 최대 권한을 설정하는 고급 기능
  • 엔터티의 권한 경계는 자격 증명 기반 정책 및 관련 권한 경계 모두에서 허용되는 작업만 수행하도록 허용한다.
  • 어떤 방식으로든 로그를 자동으로 제거하도록 IAM 정책을 구성할 수 없다.

사용자 자격 증명에 따른 액세스 방법

  1. 콘솔 암호
  2. 액세스 키
  3. CodeCommit용 SSH키
  4. 서버 인증서

🔔 AWS Single Sign-on (SSO)

  • 클라우드 기반 SSO (Single Sign-on)서비스로, 모든 사용자에 대한 SSO액세스를 중앙에서 쉽게 관리할 수 있는 서비스이다.
  • AWS계정 및 클라우드 애플리케이션 특히, 모든 사용자에 대해 SSO 액세스 및 사용자 권한을 관리하는 데 도움이 된다.
  • AWS SSO에서 직접 사용자 자격 증명을 생성하거나 Microsoft Active Directory 또는 Okta Universal Directory 또는 Azure AD와 같은 표준 기반 자격 증명 공급자에서 가져올 수 있습니다.
  • 인력 사용자는 할당된 모든 AWS 계정 또는 클라우드 애플리케이션에 액세스할 수 있는 사용자 포털을 얻는다.
  • AWS SSO는 AWS IAM을 통해 AWS 계정 액세스 관리와 함께 실행하거나 대체하도록 유연하게 구성할 수 있다.

💡 SAML 연동

  • AWS SSO는 SAML(보안 인증 마크업 언어)로 자격 증명 연동을 한다.
  • SAML 2.0은 SAML기관(ID 공급자 또는 IdP라고 함)과 SAML 소비자 (서비스 공급자 또는 SP라고 함) 간에 사용자에 대한 정보를 전달하는 SAML 어설션을 안전하게 교환하는데 사용되는 업계 표준이다.
  • AWS SSO 서비스는 이 정보를 사용하여 응용 프로그램을 사용할 권한이 있는 사용자에게 페더레이션된 SSO를 제공한다.

AWS Managed Microsoft AD 또는 AWS SSO 스토어로 SAML IdP 기능을 추가한다.

🔔 SAML 2.0 기반 페더레이션 정보

  • AWS는 많은 자격 증명 공급자(IdP)가 사용하는 개방형 표준인 SAML 2.0(Security Assertion Markup Language 2.0)이라는 ID 페더레이션을 지원한다.
  • 이 기능은 페더레이션 통합 인증 (SSO)을 활성화하므로 조직의 모든 구성원에 대해 IAM 사용자를 생성하지 않아도 사용자가 콘솔에 로그인하거나 API 작업을 호출 할 수 있다.
  • SAML을 사용하므로써 AWS로 연동을 구성하는 과정을 단순화할 수 있다.
    사용자 지정 자격 증명 프록시 코드를 작성하는 대신 IdP의 서비스를 사용할 수 있기 때문이다.

📒 Amazon Inspector

  • 지속적으로 스캔하는 취약성 관리 서비스
  • AWS 취약성을 위한 워크로드 Amazon Inspector는 ECR에 있는 EC2 인스턴스와 컨테이너 이미지를 자동으로 검색하여 소프트웨어 취약성과 의도하지 않은 네트워크 노출이 있는지 검사한다.
  • 소프트웨어 취약점이나 네트워크 문제가 발견되면 Amazon Inspector에서 검색 결과를 생성한다.
  • 검색 결과는 취약성을 설명하고, 영향을 받는 리소스를 식별하며, 취약성의 심각도를 평가하며, 수정 지침을 제공한다.
  • Amazon Inspector 콘솔을 사용하여 계정에 대한 검색 결과에 대한 세부 정보를 여러 가지 방법으로 분석하거나 다른 항목을 통해 검색 결과를 보고 처리할 수 있다.

📒 AWS KMS(AWS Key Management Service)

  • 데이터를 보호하는 데 사용하는 암호화 키를 쉽게 생성하고 제어할 수 있게 해주는 관리형 서비스
  • 하드웨어 보안 모듈 (HSM)을 사용하여 AWS KMS Keys를 보호하고 검증한다.
    @ HSM : 암호화 작업을 처리하고 암호화 키에 보안 스토리지를 제공하는 컴퓨팅 장치
  • 고객 마스터키 (CMK)를 삭제하는 것은 안전하지 않으며 위험할 수 있다.
  • CMK와 연결된 키 구성 요소와 모든 메타데이터를 삭제되고, 이 작업은 되돌릴 수 없다.
  • CMK가 삭제된 후에는 해당 CMK로 암호화된 데이터를 더 이상 해독할 수 없다.
    즉, 데이터 복구 불가
  • 확실하지 않은 경우에는, 삭제하는 대신 CMK를 비활성화하는 방법 고려
  • CMK를 삭제하기 전에 해당 CMK 하에서 암호화된 암호화 텍스트 용량을 알고 싶을 수 있다.
    ==> AWS KMS는 이 정보뿐 아니라 어떠한 암호 텍스트도 저장하지 않는다.

🔔 KMS 키 삭제

  • CMK를 삭제하려면 키 삭제를 예약한다.
  • 대기 기간을 최소 7일에서 최대 3K는 어떠한 암호화 작업에도 사용할 수 없다.
  • AWS KMS는 삭제 대기 중인 CMK의 백업 키를 교체하지 않는다.
  • 키 삭제를 예약한 시점으로부터 지정된 최소 수만큼 경과한 시점이지만 최대 24시간이 더해질 수 있다.
    ex) 키 삭제 예약 후 대기시간이 7일이라면 대기 시간 종료는 7일 이후부터 8일 이내에 대기 시간 종료

🔔 대기시간 (Pending Deletion)

  • 삭제 대기 중인 CMK는 어떠한 암호화 작업에도 사용할 수 없다.
  • AWS KMS는 삭제 대기 중인 CMK의 백업 키를 교체하지 않는다.
  • 키 삭제를 예약한 시점으로부터 지정된 최소 수만큼 경과한 시점이지만 최대 24시간이 더해질 수 있다.
    ex) 키 삭제 예약 후 대기시간이 7일이라면 대기 시간 종료는 7일 이후부터 8일 이내에 대기 시간 종료

📒 Amazon Macie

  • Amazon Macie는 완전관리형 데이터 보안 및 데이터 프라이버시 서비스로, 기계 학습 및 패턴 일치를 활용하여 AWS에서 민감한 데이터를 검색하고 보호한다.
  • Amazon Macie는 기계 학습 및 패턴 일치를 사용하여 대규모의 민감한 데이터를 비용 효율적으로 검색한다.
  • Macie는 이름, 주소 및 신용 카드 번호와 같은 개인 식별 정보(PII)를 포함하여 대규모의 점점 증가하는 민감한 데이터 유형 목록을 자동으로 감지한다.
  • 또한 Amazon S3에 저장된 데이터에 대한 데이터 보안 및 데이터 프라이버시의 지속적인 가시성을 제공한다.
  • Macie는 AWS Management Console에서 한 번의 클릭 또는 단일 API 호출로 쉽게 설정할 수 있다.
  • Macie는 AWS Organizations를 사용하여 다중 계정 지원을 제공하므로 몇 번의 클릭만으로 모든 계정에서 Macie를 활성화할 수 있다.

📒 AWS Secrets Manager

  • AWS Secrets Manager는 애플리케이션, 서비스 및 IT 리소스에 대한 액세스를 보호하는 데 도움이 되는 보안 정보 관리 서비스입니다.

  • 이 서비스를 사용하면 수명 주기 동안 데이터베이스 자격 증명, API 키 및 기타 보안 정보를 손쉽게 교체, 관리 및 검색할 수 있습니다.

  • Secrets Manager를 사용하면 AWS 클라우드, 타사 서비스 및 온프레미스에 있는 리소스에 액세스하는 데 사용되는 보안 정보를 보호하고 관리할 수 있습니다.

  • 모든 자격 증명에 대해 자동 교체를 활성화 한다.

    📒 AWS Shield

  • AWS Shield는 AWS에서 실행되는 웹 애플리케이션을 DDoS(Distributed Denial of Service) 공격으로부터 보호하는 관리형 서비스이다.

  • AWS Shield Standard는 추가 비용 없이 모든 AWS 고객에게 자동으로 활성화된다.

  • AWS Shield Advanced는 선택이 가능한 유료 서비스이다.

  • AWS Shield Advanced는 EC2, ELB, CloudFront, Global Accelerator 및 Route 53에서 실행되는 애플리케이션을 목표로 하는 더 정교하고 더 큰 규모의 공격에 대해 추가적인 보호를 제공한다.

🔔 Shield가 탐지하는 공격 등급

💡 네트워크 볼륨 공격 (계층 3)

인프라 계층 공격 벡터의 하위 범주다.
이러한 벡터는 타깃팅된 네트워크 또는 리소스의 용량을 포화하여 합법적인 사용자에게 서비스를 거부한다.

💡 네트워크 프로토콜 공격 (계층 4)

인프라 계층 공격 벡터의 하위 범주다.
이러한 벡터는 프로토콜을 악용하여 대상 리소스에 대한 서비스를 거부한다.
네트워크 프로토콜 공격의 일반적인 예는 서버, 로드 밸런서 또는 방화벽과 같은 리소스의 연결 상태를 소진시킬 수 있는 TCP SYN 플러드다.
네트워크 프로토콜 공격도 볼륨 측정이 될 수 있다.
예를 들어 TCP SYN 플러드가 클수록 네트워크의 용량을 포화시키면서 대상 리소스 또는 중간 리소스의 상태도 소진할 수 있다.

💡 Application layer 공격 (계층 7)

이 공격 벡터 범주는 웹 요청 홍수와 같은 대상에 유효한 쿼리를 응용 프로그램에 범람하여 합법적인 사용자에게 서비스를 거부하려고 시도한다.

📒 AWS WAF

  • 가용성에 영향을 주거나, 보안을 위협하거나, 리소스를 과도하게 사용하는 일반적인 웹 공격으로부터 웹 애플리케이션이나 API를 보호하는 데 도움이 되는 웹 애플리케이션 방화벽입니다.
  • 고객이 정의한 조건에 따라 웹 요청을 허용, 차단 또는 모니터링하는 규칙을 구성하여 공격으로부터 웹 애플리케이션을 보호하는 웹 애플리케이션 방화벽
  • 이러한 조건에는 IP 주소, HTTP 헤더, HTTP 본문, URL 문자열, SQL 명령어 주입 및 교차 사이트 스크립팅.
  • WAF는 흔히 CloudFront나 ALB와 긴밀히 통합된다.
  • CloudFront에서 WAF 사용 시 엣지 로케이션에서 규칙 실행되어 차단된 요청은 고객 웹 서버에 도달하기 전에 중지되어 보안으로 인해 성능이 저하되지 않는다.
  • ALB에서 WAF 사용 시 규칙이 리전에서 실행되고 규칙을 사용해 인터넷과 직접 연결된 부분과 내부 로드 밸런서 보호 가능

🔔 액세스를 제한하는 데 사용할 수 있는 다양한 요청 특성

left
1요청이 시작되는 IP 주소
2요청이 시작되는 국가
3요청 헤더 값
4요청에 나타나는 문자열 (특정 문자열 또는 정규식 패턴과 일치하는 문자열)
5요청 길이
6악성일 가능성이 있는 SQL 코드의 존재(SQL 명령어 주입이라고 알려짐)
7악성일 가능성이 있는 스크립트의 존재(교차 사이트 스크립팅이라고 알려짐)
8여러 웹 애플리케이션에 재사용할 수 있는 규칙
9AWS 및 AWS Marketplace 판매자가 제공하는 관리형 규칙 그룹.
10실시간 지표 및 샘플링된 웹 요청
11AWS WAF API를 사용하여 자동화된 관리

0개의 댓글