클라우드로 서비스를 시작한 지 얼마 안된 팀들에게서 간혹 나오는 이야기는 해킹당했다는 이야기 입니다. 조금 더 황당할 수 있는 부분은 대부분이 고도의 해킹 기술로 당한게 아니란 점입니다. 아마 기본 보안 설정을 안해두어서 이런 문제가 생겼을 것 입니다. 실제로 AWS나 GCP를 처음 쓰는 사람들 중 상당수가 보안 설정을 나중으로 미룹니다. 해커들은 이러한 허술한 설정을 찾아다니는 봇을 24시간 돌리고 있어서 이러한 피해가 발생하기도 합니다. 클라우드 보안이라고 해서 엄청 뭔가 어려운 것은 아니고 몇가지 기본 설정만 제대로 해두면 대부분의 공격을 막을 수 있습니다. 클라우드에서 꼭 설정해야 할 5가지 핵심 보안 항목을 소개해보도록 하겠습니다.
1. 루트 계정 MFA 설정하기
클라우드 계정을 처음 만들면 '루트 계정'이라는 게 생깁니다. 이게 뭐냐면, 집 열쇠 중에서도 마스터 키 같은 거예요. 이 계정으로는 뭐든지 할 수 있습니다. 서버를 만들고, 지우고, 심지어 계정 자체를 삭제할 수도 있죠. 따라서 가장 먼저 해야 할 일은 다중 인증(MFA: Multi-Factor Authentication)을 설정하는 것입니다.
AWS, GCP, Azure 모두 MFA 설정을 지원합니다. 보통 스마트폰에 Google Authenticator나 Microsoft Authenticator 같은 무료 앱을 설치한 뒤, QR 코드를 스캔해 인증 토큰을 연결합니다.
설정 방법 예시 (AWS 기준):
1. AWS 콘솔에 로그인
2. 우측 상단의 ‘내 보안 자격 증명(My Security Credentials)’ 클릭
3. MFA 섹션에서 'MFA 장치 할당' 선택 후 앱 등록
이렇게 설정해두면, 비밀번호를 도용당해도 실제 로그인 시에는 2차 인증이 필요하기 때문에 보안 위험을 획기적으로 줄일 수 있습니다.
2. 퍼블릭 액세스 차단하기
클라우드에서 가장 흔한 실수가 이것 입니다. 파일 저장소(S3 같은 거)를 만들거나 서버를 띄우는데, 실수로 전 세계에 공개해버리는 거예요. 클라우드에서 스토리지 버킷(S3, Cloud Storage 등)이나 VM 인스턴스를 생성하면, 기본 설정에 따라 외부에서 접근 가능한 상태로 열려있는 경우가 있습니다. 이를 무심코 방치하면 누구든지 데이터를 다운로드하거나 시스템에 접속할 수 있습니다.
확인 및 차단 방법:
- AWS S3: ‘퍼블릭 액세스 차단(Bucket Policy)’을 사용해 외부 접근 차단
- GCP Cloud Storage: IAM 권한에서 ‘AllUsers’ 또는 ‘AllAuthenticatedUsers’가 있는지 확인 후 제거
- VM: 방화벽에서 포트 22(SSH), 포트 80(HTTP) 등 꼭 필요한 포트만 열어두고 나머지는 차단
또한, IP 허용 목록(Allow List)을 설정하면 특정 IP에서만 접속을 허용할 수 있어 한층 더 보안이 강화됩니다.
3. 보안 그룹 및 방화벽 규칙 설정하기
방화벽이라고 하면 어렵게 느껴질 수 있는데, 사실 "누가 우리 서버에 접속할 수 있나"를 정하는 겁니다. 퍼블릭 액세스를 막는 것과 더불어, 보안 그룹(Security Group)과 방화벽(Firewall) 설정도 매우 중요합니다. 이는 클라우드 상에서 네트워크 트래픽을 제어하는 핵심 기능입니다. 꼭 기억해 둘 원칙들을 아래에 적어보도록 하겠습니다.
- 기본적으로 모든 인바운드 트래픽은 차단 - 꼭 필요한 포트만 열고, IP 범위를 제한
- 웹 서버는 80(HTTP), 443(HTTPS) 포트만 개방
SSH(22번 포트)는 자신의 IP만 허용 AWS의 경우 EC2 인스턴스마다 보안 그룹을 설정할 수 있고, GCP는 VPC 방화벽을 통해 세부 설정이 가능합니다.
주의할 점은 ‘모두 허용(0.0.0.0/0)’ 설정을 되도록 피해야 한다는 것입니다. 해커 봇은 이 설정이 열린 인스턴스를 찾아 무작위 공격을 시도합니다.
4. 로그 및 모니터링 활성화
보안 사고가 났을 때 가장 답답한 게 뭘까요? "대체 언제부터 문제가 있었던 거지?"를 모른다는 겁니다. 그래서 로그를 남기는 게 중요합니다. 누가 언제 뭘 했는지 기록이 있어야 나중에 추적할 수 있거든요. 보안 위협은 사전에 막는 것도 중요하지만, 이상이 발생했을 때 신속히 감지하는 시스템도 필수입니다. 클라우드는 다양한 모니터링 툴을 기본 제공하고 있으며, 이를 활성화하면 이상 접근이나 비용 폭증 등도 조기에 파악할 수 있습니다.
추천 설정 항목:
- AWS CloudTrail: API 호출 내역 로그
- GCP Audit Logs: 사용자 및 시스템 활동 기록
- Azure Monitor + Log Analytics: 리소스 동작 및 이벤트 추적
이외에도 로그 저장 기간 설정, 알림(Alert) 설정, 비정상 동작 감지 룰 등록 등을 추가하면 더 강력한 보안 체계를 만들 수 있습니다.
5. 접근 권한 최소화 (IAM 설정 최적화)
초기에는 모든 작업을 루트 계정이나 관리자 권한으로 처리하기 쉽지만, 역할 기반 접근 제어(RBAC) 또는 최소 권한 원칙(Least Privilege Principle)을 따르는 것이 보안의 기본입니다.
방법 요약:
1. 작업 목적에 따라 별도의 사용자 또는 역할(Role) 생성
2. 각 사용자에게는 업무 수행에 꼭 필요한 권한만 부여
3. 사용하지 않는 권한은 주기적으로 회수 또는 검토
4. 공유 계정 사용 금지, 개별 사용자 관리 필수
예를 들어, 로그만 조회하는 사용자에게 리소스 삭제 권한까지 부여할 필요는 없습니다. IAM 역할을 세분화하고 정책을 구체화하면 실수로 인한 보안 사고도 방지할 수 있습니다.
클라우드 보안은 거창하거나 복잡한 것만이 아닙니다. 전문가만 할 수 있는 것처럼 느껴지지만, 전혀 그렇지 않아요. 오늘 소개한 5가지만 체크해두어도 90% 이상의 공격은 막을 수 있습니다.