AWS가 해킹 당하는 순간 수백만원 수천만원까지 돈이 나가는 불상사가 발생할 수 있다고 합니다.
이는 개인 프로젝트 진행 중에 발생해도 문제가 되겠지만 회사에 입사해서 만약 내 실수로 인해 이런 보안, 비용문제가 발생해서는 절대 안되겠습니다.
그래서 오늘은 절대 이런 사고가 발생하지 않게 하기 위한 선제적 조치로서
실무라고 생각하고 AWS 철통 보안장치를 만들어보겠습니다.
우선 모두에게 주어진 루트 계정으로 시작합니다. 이 루트계정은 웬만하면 쓰면 안됩니다.
그래서 프로젝트 진행 중에는 IAM 계정에 최소한의 권한만 넘겨준다음 IAM 계정으로 활동해야합니다.
루트계정은 계정 설정 변경, IAM 사용자 권한 복원, IAM 액세스 활성화 등등 과 같은 작업을 할 경우에만 사용하는게 모범사례입니다. 또한 루트 사용자를 위한 액세스 키를 생성하면 안됩니다. 루트는 권한을 줄일 수 없기에 루트에 대한 액세스키가 노출되면 정말 위험해집니다. 루트에 대한 액세스키를 IAM 액세스키로 대체하고 장기 액세스키가 아닌 임시 보안 자격 증명을 활용해야합니다.
IAM 액세스키를 어플리케이션에 직접 쓰지말고 환경변수를 통해 얻거나 다른 간접적인 방식을 활용해야합니다. 액세스키는 정말 비밀스럽게 소중하게 다뤄야합니다.
1. IAM 계정 생성 및 권한 부여
IAM 계정을 생성하고 권한을 부여해주겠습니다.
정말 보수적으로 접근하기위해서 주로 사용할 ec2, rds, s3 관련 정보를 확인만 할 수있고 편집은 불가능하게 정책을 설정해주겠습니다. 기존 정책에 검색해도 안나와서 정책 편집기를 통해 json으로 정책을 지정해주겠습니다
이때 사용자에 권한을 부여하는 것보다 그룹에 권한을 부여하고 사용자를 그룹에 포함시키는 것이 더 효율적입니다.
이제 IAM 계정으로는 정보를 확인만 할 수 있고 생성이나 편집은 할 수 없기에 설사 해킹당한다 할지라도
해커는 아무것도 할 수가 없습니다
2, MFA 할당
Multi-Factor Authentication은 보안을 강화하기 위해 사용되는 방법 중 하나입니다.
ROOT 계정, 그리고 IAM 계정에 모두 MFA 할당을 합니다.
MFA는 보안토큰, 생체인증, 휴대폰 인증관리자 앱 중 선택가능합니다
전 휴대폰 인증관리자 앱으로 선택했고 이제 이 계정은 제 휴대폰을 가지고 있는 사람만이 들어올 수 있습니다.
3. Budget 생성
이제 만약 내 실수로 인해 요금이 발생하거나 해킹을 당해서 요금이 발생할 경우 바로 알아차릴 수 있도록
시스템을 만들어보겠습니다.
프리티어를 이용하고 있기에 0.1달러라도 요금이 부여되면 바로 이메일로 알림이 오도록 설정해놓습니다.
4. CloudWatch
AWS에서 제공하는 모니터링 및 관찰 서비스인 CloudWatch 기능을 활용해서 실시간으로 AWS 리소스 및 애플리케이션을 모니터링하고 메트릭과 로그 데이터를 수집하겠습니다.
또한 CloudWatch를 통해 EC2 인스턴스의 CPU 사용률이 일정 임계값을 초과하면 새로운 인스턴스를 시작하도록 할 수 있습니다.
이때 미국 동부 버지니아로 리전을 설정하고 시작해야합니다.
청구서 기본설정에서 cloud watch 결제알림을 on하고
지표를 설정하고
설정한 값을 초과하면 마찬가지로 이메일이 오게합니다.
만약 설정한 값을 넘으면 인스턴스가 자동 중지되게 설정해놓습니다.
이렇게해서 AWS 홈페이지에서 할 수 있는 안전장치를 1차적으로 완성했습니다.
'Deep Dive > DevOps' 카테고리의 다른 글
merge와 rebase의 차이 (0) | 2023.07.08 |
---|---|
원격저장소에 푸시한 git 커밋내역 지우는 방법 (0) | 2023.07.08 |
ubuntu에 도커 세팅 (0) | 2023.07.05 |
RDS 생성 및 Spring과 연결 (0) | 2023.07.05 |
AWS S3 버킷 생성 (0) | 2023.07.04 |