평화로운 주말 오후. 오랜만에 늦잠을 자고 일어난 뒤 휴대폰 알림을 하나씩 확인하던 중 한 알림이 눈에 들어왔다. 네이버 메일로 온 AWS 관련 내용... 그 내용은 비몽사몽 하던 나의 정신을 확 깨워줬다.
1. 사건 발생
예? 85% 초과?
부랴부랴 AWS 웹 페이지로 가서 청구서를 확인해 보았다.
...? 정말 내 눈을 의심했었다. 1500달러.. 즉 200만 원 정도가 청구되어 있었다.
혼미한 정신을 붙잡고 CloudTrail과 상세 청구서를 통해 어디서 무슨 서비스로 인해 이런 일이 일어났는지 확인해 보니
어떤 및힌놈이 내 계정으로 이상한 짓을 벌이고 있었다.
내가 사용 안 하는 리전 4~5군데에서 서비스와 리소스를 만들고 마음껏 사용하고 있던 것이다.
분명 비밀번호도 주기적으로 변경했고 MFA도 적용을 해놓았음에도 불구하고 어떻게 해킹을 당한 것 인가..
2. 해킹당한 이유
알고 보니 S3를 사용하기 위해 생성한 액세스 키 때문에 이런 사태가 일어난 것 같았다. 일전에도 한번 실수로 깃허브에 액세스 키를 올린 적이 있는데 그땐 즉각 삭제하고 액세스 키도 바꿔줬었다.
이번엔 직접 올린 기억도 없고 항상 주의를 하고 있었는데 알고 보니 일전에 CloudType이라는 사이트에 서버를 올리고 사용을 하던 중 서버에 적용한 Environment variables 값에 입력한 액세스 키 값이 CloudType과 깃허브와의 CI/CD 연동 과정에서 깃허브에 deploy 소스가 올라가 버려 노출이 되어버린 것이었다.
나는 멍청하게도 계정 위험에 대한 메일이 이전에 왔음에도 확인을 못 했었다.. 뒤늦게나마 해킹범이 작동한 인스턴스와 정책, 서비스들을 삭제 및 종료하고 비밀번호 변경과 액세스 키 삭제까지 빠르게 조치하였다.
하지만 이미 청구된 금액들은 변함이 없었다.. 당연하다 이미 사용한 서비스에 대해 청구된 금액이니깐..
억울하긴 했지만 꼼꼼히 메일을 확인 못하고 AWS 계정을 방치한 나의 과실이 분명했기에 마음이 너무 심란했다.
하지만 들리는 소문으로는 이런 사태가 빈번히 일어나기에 AWS 측에선 단 한번 정도는 예외를 적용하여 너그럽게 봐준다는 소문이 있었다. (아닐 수도 있음)
절망하지 않고 바로 AWS 지원센터로 가서 도움을 요청하였다.
3. AWS 지원 센터
나와 비슷한 일을 당하고 구제를 받은 글들을 참고하며, 지원 센터로 가서 이러한 일을 당하고 도움이 필요하다는 식으로 구글 번역기를 돌려가면서 사례를 작성하였다.
간절한 마음으로 최대한 예의 있고 신사답게 작성해줘야 한다. 나는 스크린 샷까지 첨부하였다.
사례를 생성했지만 회신이 없었다.. 물론 일요일에 생성하고 고작 하루가 지났지만 불안한 마음 때문인지 도저히 가만히 기다릴 수가 없었다.
구제를 자주 해주긴 한다 해도 구제가 안된 사례가 있기도 하고 이미 200만 원이 청구된 상태라 이래저래 마음이 불편했다.
그래서 다음날 출근을 하자마자 AWS 지원 센터로 가서 새로 사례를 만들었다.
빠르게 해결하고자 이메일이 아닌 실시간 채팅을 통해 사례를 생성하였다.
채팅을 통해 사례를 생성하면 담당자와 1대 1 채팅을 할 수 있게 된다. 나 같은 경우 생성과 동시에 바로 담당자가 배정되어 빠르게 진행되었으며, 1대 1 채팅을 통해 보다 상세하게 현재 상황과 조치 내용 등을 말하고 들을 수 있었다.
AWS 상담원 정말로 친절하다. 나는 Stella J. 라는 담당자분이 배정이 되어 내가 조치해야 할 사항들을 상세하게 알려주며 친절하게 응대해 주었다.
관련 서비스, 리소스들을 다 정리하고 대화를 하다 보니 1시간 정도 소요가 되었다. 여기까지 우리가 직접 조치를 하면 담당자가 전체적으로 확인을 한 뒤 담당 서비스 팀으로 넘긴다. (담당자는 변경 없음)
여전히 비용 청구 예외 적용에 대해 확답을 듣지는 못했기에 이때까지도 많이 불안한 상태였다.
1대 1 상담을 끝낸 후 3시간도 안 걸려서 조치 내용이 메일로 도착하였다.
다행히 무단으로 사용된 정황이 AWS 서비스 팀에서도 인지를 하였고 이제 내가 추가적으로 조치할 것만 진행하면 비용 조정이 이루어진다.
약 3일간 담당자와 메일을 주고받으며 내가 조치할 것들을 완료해 나갔다. 내가 빠르게 조치 후 회신만 한다면 AWS 측에서도 빠르게 응답하고 해결해 주니 메일을 계속 확인해주어야 한다.
마지막 조치사항을 끝내고 최종적으로 비용 조정이 이루어졌다.
4. 해결
다행히 비용 조정 승인이 되었다. ㅜㅜㅜ
명시해 준 비용을 지불하면 다시 환불을 해주는 식으로 진행이 되었다. 크레딧으로 해결된 사례도 있지만 나 같은 경우 월이 넘어가서 인지 먼저 신용카드 또는 체크카드로 결제를 하면 취소를 하는 식으로 진행하였다.
결제 후 취소까지 영업일 3~4일 정도 소요가 된다.
최종적으로 결제 취소까지 이루어졌다. ㅜㅜ
감사합니다. Stella J.
다른 비슷한 사례들을 보면 영문으로 진행이 되었지만 작년 10월경에 한국에도 AWS 지원 센터가 생겨 편하게 한국어로 진행이 되었다. 이번 일로 인해 AWS에 대한 두려움이 생기기도 했지만 빠른 조치와 친절한 상담으로 AWS를 계속 사용하고 싶다는 생각 또한 들었다.
어차피 S3는 계속 사용하고 싶기에 AWS를 꾸준히 사용하되 계정과 보안에 대해 좀 더 각별히 신경 쓰고 관리해야겠다.