공격으로부터 AWS 클라우드 인프라를 보호하는 방법
게시 됨: 2022-05-07점점 더 많은 기업이 클라우드로 이동함에 따라 AWS 인프라 보안의 중요성이 점점 더 명확해지고 있습니다. AWS는 시스템을 보호하는 데 도움이 될 수 있는 여러 보안 기능을 제공하지만 이를 올바르게 구현하고 인프라를 최신 상태로 유지하는 것은 궁극적으로 사용자에게 달려 있습니다. 이 블로그 게시물에서는 공격으로부터 AWS 클라우드 인프라를 보호하는 가장 좋은 방법에 대해 설명합니다. Log4Shell 취약점에 언급된 것처럼 인프라가 어떻게 노출될 수 있는지 조사할 수 있습니다.
AWS에 대한 공격 유형 이해
AWS 환경을 적절하게 보호하려면 먼저 공격 유형을 이해하는 것이 중요합니다. AWS에 대한 공격에는 두 가지 주요 유형이 있습니다.
- 인프라 공격: 이러한 공격은 Amazon EC2 인스턴스 또는 Amazon S3 버킷과 같은 AWS 계정의 기본 인프라를 대상으로 합니다.
- 애플리케이션 공격: 이러한 공격은 웹 애플리케이션 또는 API와 같이 AWS에서 실행되는 애플리케이션을 대상으로 합니다.
애플리케이션 공격은 인프라 공격보다 더 일반적이지만 둘 다 심각하게 받아들여야 합니다.
다단계 인증 구현

AWS 계정을 보호하는 가장 좋은 방법 중 하나는 MFA(다단계 인증)를 활성화하는 것입니다. MFA는 물리적 MFA 디바이스의 코드와 사용자 이름 및 암호를 입력하도록 요구하여 보안 계층을 추가합니다. 이렇게 하면 공격자가 귀하의 자격 증명을 가지고 있더라도 귀하의 계정에 액세스하기가 훨씬 더 어려워집니다.
MFA를 활성화한 후에는 계정의 민감한 리소스에 액세스해야 하는 모든 사용자에게 MFA를 요구해야 합니다. 또한 가능한 경우 MFA와 함께 IAM 역할을 사용하는 것도 고려해야 합니다. IAM 역할을 사용하면 자격 증명을 제공하지 않고 사용자에게 임시 액세스 권한을 부여할 수 있습니다. MFA와 함께 IAM 역할을 사용하면 무단 액세스로부터 계정을 더욱 보호할 수 있습니다.
AWS 계정에 대해 MFA를 구현하는 방법에는 여러 가지가 있습니다. 인기 있는 옵션 중 하나는 Amazon Web Services(AWS) MFA(Multi-Factor Authentication) 토큰을 사용하는 것입니다. 이 토큰은 AWS 계정에 로그인할 때 입력해야 하는 고유 코드를 생성하는 물리적 장치입니다. 또 다른 옵션은 스마트폰에서 Google Authenticator 앱을 사용하는 것입니다. 이 앱은 AWS 계정을 포함하여 여러 계정에 대한 코드를 생성할 수 있습니다.
마지막으로 Symantec 또는 RSA와 같은 회사의 하드웨어 토큰을 사용할 수도 있습니다. 이 토큰은 컴퓨터에 연결하고 AWS 계정에 로그인할 때 입력해야 하는 코드를 생성합니다.
중요 리소스에 대한 액세스 제한
AWS 인프라를 보호하는 또 다른 중요한 단계는 필수 리소스에 대한 액세스를 제한하는 것입니다. IAM 정책 및 리소스 기반 정책을 사용하여 이를 수행할 수 있습니다.
IAM 정책을 사용하면 AWS 계정에 대한 액세스 권한이 있는 사람과 해당 액세스 권한으로 수행할 수 있는 작업을 제어할 수 있습니다. 예를 들어 특정 사용자만 CloudTrail 로그를 볼 수 있도록 허용하거나 특정 사용자만 EC² 인스턴스를 시작하도록 허용하는 정책을 생성할 수 있습니다.
리소스 기반 정책은 IAM 정책과 유사하지만 리소스 수준에서 적용됩니다. 예를 들어 특정 사용자만 SNS 주제에 액세스하도록 허용하거나 특정 사용자만 S33 버킷에서 객체를 삭제하도록 허용하는 리소스 기반 정책을 생성할 수 있습니다. 중요한 리소스에 대한 액세스를 제한하여 권한이 없는 사용자가 중요한 데이터에 액세스하거나 인프라를 변경하는 것을 방지할 수 있습니다.
보안 그룹 및 네트워크 ACL 사용

IAM 정책 및 리소스 기반 정책을 사용하는 것 외에도 보안 그룹 및 네트워크 ACL 사용을 고려해야 합니다.
보안 그룹은 EC2 인스턴스에 대한 방화벽 역할을 하여 인스턴스 안팎으로 허용되는 트래픽을 제어할 수 있습니다. 네트워크 ACL은 VPC에 유사한 기능을 제공합니다. 이러한 보안 기능을 적절하게 구성하면 AWS 인프라에 대한 액세스를 추가로 제한할 수 있습니다.
마지막으로 보안 모범 사례로 시스템을 강화해야 합니다. 여기에는 강력한 암호 사용, 소프트웨어를 최신 상태로 유지, 데이터 백업 등이 포함됩니다. 모범 사례를 따르면 공격자가 시스템이나 데이터에 액세스하는 것을 방지할 수 있습니다.
보안 모범 사례로 시스템 강화
마지막으로 보안 모범 사례로 시스템을 강화해야 합니다. 여기에는 강력한 암호 사용, 소프트웨어를 최신 상태로 유지, 데이터 백업 등이 포함됩니다. 모범 사례를 따르면 공격자가 시스템이나 데이터에 액세스하는 것을 방지할 수 있습니다.
가장 중요한 보안 모범 사례는 다음과 같습니다.
- 강력한 암호 사용
- 소프트웨어를 최신 상태로 유지
- 데이터 백업
- 전송 중 민감한 데이터 암호화
- 저장되어 있는 민감한 데이터 암호화
취약점에 대한 인프라를 정기적으로 감사
인프라의 취약점을 정기적으로 감사하는 것은 AWS 환경을 보호하는 또 다른 중요한 단계입니다. Amazon Inspector 및 AWS Config를 포함하여 많은 도구가 이를 수행하는 데 도움이 될 수 있습니다.
Amazon Inspector는 AWS 환경에서 잠재적인 보안 취약성을 식별하는 데 도움이 되는 자동화된 보안 평가 서비스입니다. Inspector는 PCI-DSS 및 CIS 벤치마크와 같은 다양한 보안 표준에 대한 시스템의 규정 준수를 평가합니다.
AWS Config는 AWS 리소스 인벤토리를 제공하고 시간 경과에 따라 해당 리소스에 대한 구성 변경 사항을 추적하는 서비스입니다. Config를 사용하면 내부 정책 또는 외부 규정을 준수하는지 인프라를 감사할 수 있습니다.
CloudTrail을 사용하여 무단 활동 감지

인프라 감사 외에도 CloudTrail을 사용하여 무단 활동을 감지하는 것도 고려해야 합니다. CloudTrail은 계정에서 이루어진 AWS API 호출을 기록하고 이를 Amazon SNS 주제 또는 Amazon SQS 대기열로 전달하는 서비스입니다. 그런 다음 S33 버킷에서 중요한 데이터를 삭제하려는 사람과 같은 의심스러운 활동에 대해 이러한 API 호출을 모니터링할 수 있습니다. CloudTrail을 사용하면 AWS 환경에서 무단 활동을 감지하고 신속하게 처리할 수 있습니다.
Amazon GuardDuty로 의심스러운 동작 모니터링
GuardDuty는 CloudTrail 로그 및 VPC Flow Logs와 같은 다양한 소스의 데이터를 분석하여 잠재적으로 악의적이거나 무단 활동을 식별하는 위협 탐지 서비스입니다.
GuardDuty는 의심스러운 활동을 감지하면 Amazon SNS 주제 또는 사용자가 구성한 Amazon SQS 대기열에 알림을 보냅니다. 이를 통해 위협을 신속하게 조사하고 조치를 취할 수 있습니다. 또한 GuardDuty는 Amazon Macie 및 AWS Security Hub와 같은 다른 AWS 보안 서비스와 통합됩니다.
