brunch

You can make anything
by writing

C.S.Lewis

by Dennis Kim Dec 19. 2024

AWS 기본 보안 가이드

스타트업을 위한  클라우드 보안 가이드

스타트업 개발자가 전담 보안 엔지니어 없이 AWS 환경에서 안전하게 개발하고, 특히 GitHub에 코드를 공개할 때 민감한 정보가 노출되지 않도록 하기 위한 보안 가이드를 다음과 같이 권고한다. 아래의 권장 사항을 따라 보안을 강화해보자.


1. AWS 계정 및 권한 관리   

     IAM 사용자 및 그룹 활용: 루트 계정 사용을 지양하고, 각 사용자에게 최소 권한 원칙에 따라 IAM 사용자를 생성하고 그룹에 할당하라. 개발하다보면 root가 편하긴하지만 이는 정말 위험하다.


     다단계 인증(MFA) 활성화: 모든 사용자 계정에 MFA를 설정하여 계정 탈취 위험을 줄여야 한다. OTP는 필수이다. 다만, OTP 복원 키 보관에 주의해야 하낟.

     액세스 키 관리: 액세스 키는 주기적으로 교체하고, 사용하지 않는 키는 즉시 비활성화하거나 삭제해야 한다. 다만, 최근 2024년 미국 NIST가 새로 발표한 패스워드 관리 규칙은 기존의 복잡성보다 사용자 편의와 보안을 동시에 강화하는 데 중점을 두고 있고, 보안 문제가 없는 경우 패스워드의 주기적 변경은 폐기되었다. 따라서 작은 스타트업이라면 문제가 없는 패스워드, 액세스키는 자주 변경할 필요가 없다.


2. 데이터 보호   

     S3 버킷 접근 제어: S3 버킷의 퍼블릭 액세스를 차단하고, 필요한 경우에만 최소한의 권한을 부여하라.

     데이터 암호화: EBS 볼륨, S3 객체, RDS 데이터베이스 등 저장된 데이터는 반드시 암호화하여 보호해야 한다.

     전송 중 데이터 암호화: SSL/TLS를 사용하여 네트워크를 통해 전송되는 데이터를 암호화해야 한다.


3. 백업 및 복구   

     자동 백업 설정: 중요한 데이터에 대해 정기적인 자동 백업을 설정하고, 백업 데이터의 무결성을 주기적으로 확인해야 한다.

     복구 절차 마련: 데이터 손실 시 신속하게 복구할 수 있도록 복구 절차를 문서화하고 자동화된 테스트를 주기적으로 해야 한다.


4. 모니터링 및 로깅   

     AWS CloudTrail 활성화: AWS 계정의 모든 API 호출을 기록하여 추적 가능하도록 설정하라.

     Amazon GuardDuty 사용: 잠재적인 보안 위협을 탐지하기 위해 GuardDuty를 활성하는 것을 권장한다. 

     로그 모니터링: 로그를 주기적으로 검토하여 이상 활동을 신속하게 감지하고 대응하라. 특히 슬랙 등에 로그를 경중에 따라 남겨 살펴보는 것도 중요하다.


5. GitHub 사용 시 보안 주의사항   

     민감 정보 노출 방지: 코드에 AWS 액세스 키, S3 비공개 키, 데이터베이스 자격 증명 등 민감한 정보를 포함시키지 마라.

     환경 변수 활용: 민감한 정보는 코드에 직접 작성하지 말고 환경 변수나 별도의 설정 파일(.env)에 저장하고, 해당 파일은 .gitignore에 추가하여 버전 관리에서 제외하라.

     GitHub 비공개 저장소 사용: 초기 개발 단계에서는 비공개 저장소를 활용하여 코드와 정보를 보호해야 한다.

     GitHub Secrets 사용: GitHub Actions를 사용할 때 필요한 비밀 정보는 GitHub Secrets에 안전하게 저장하고 참조해야 한다.

     과거 기록 점검: 실수로 민감한 정보를 커밋한 경우, 해당 정보를 삭제하고 Git 기록을 재작성한 후, 노출된 자격 증명을 폐기하고 새로 발급해야 하낟.


6. 네트워크 보안   

     VPC 설정: AWS Virtual Private Cloud(VPC)를 활용하여 네트워크를 분리하고, 보안 그룹과 네트워크 ACL을 통해 인바운드 및 아웃바운드 트래픽을 제어해야 한다.

     보안 그룹 최소화: 필요한 포트와 IP 주소 범위에 대해서만 접근을 허용하고, 불필요한 포트는 차단해야 한다.


7. 보안 교육 및 인식 제고   

     정기적인 보안 교육: 팀원들에게 보안 모범 사례와 최신 위협 동향에 대한 교육을 정기적으로 실시해야 한다.

     보안 사고 대응 계획 수립: 보안 사고 발생 시 신속하게 대응할 수 있도록 절차를 마련하고 정기적인 연습이 필요하다.


위의 가이드는 스타트업 개발자가 최소한의 인력으로 AWS 환경에서 보안을 강화하는 데 도움이 될 것이다. 특히 GitHub에 코드를 공개할 때 민감한 정보가 노출되지 않도록 주의해야 한다. 더 자세한 내용은 AWS 공식 문서와 보안 모범 사례를 참고하라. 


클라우드에서 보안은 습관이 되어야 한다.


#클라우드 #보안 #AWS #스타트업 #Startup


AWS 보안 가이드: https://docs.aws.amazon.com/ko_kr/security/


미국의 새로운 보안 가이드 : https://www.etnews.com/20240930000099


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari