S3 키 유출 사건

kimjunseo
|2025. 9. 5. 14:37

메일로 AWS 에서 연락이 왔다.

 

 

정리하자면, 프로젝트에서 사용하고 있는 S3에 액세스하는 계정의 키가 유출되었다는 내용이다. AWS 에서 이런 노티도 해주는지 몰랐는데 참 좋은거같다. 아마 이게 없었다면 평생 몰랐을 것 같다.

 

긴급 조치

당황스러운 마음을 뒤로 하고 메일에서 안내해준대로 먼저 액세스 키를 변경하기로 했다. 

 

IAM 계정은 액세스 키를 2개 만들 수 있다는 사실을 이번에 처음 알았다. 아마 이렇게 액세스 키를 교체해야 하는 상황을 위해 되어

있는 것 같은데 변경에 걸림돌이 되지않아 좋았다.

 

지금은 사용하지 않는 액세스 키는 삭제했다

 

[IAM -> 계정 선택 -> 보안 자격 증명] 에서 액세스 키를 생성하고 삭제할 수 있다.

 

액세스 키를 교체한 후엔 어플리케이션에도 변경된 액세스 키를 적용해주기 위해 Github secret 에서 값을 변경해줬다. 

* 라이징은 환경변수 환경으로 Github secret 을 사용하고 있다. 

 

그 후 Cloud Trail 에서 계정 로그를 확인했는데 악의적인 접근은 없었다. S3 도 한번 검토했는데 이상한 부분은 없었다.  

 

원인 파악과 완전히 조치가 끝난 뒤까지 레포지토리를 비공개로 전환하기로 했다. 

 

원인 파악

어디서 유출된 것일까 생각을 했다. Github 이 가장 유력했다..

 

현재는 레포지토리를 공개하기 위해 Github secret 을 쓰고 있지만, 몇달전까지는 레포지토리를 비공개한 상태로 .env 를 사용했었다. 

 

그런데 분명 .env 를 Github secret 으로 이관하고 레포지토리를 공개할 때 기존 Branch/Commit 에 남아있던 .env 와 환경변수 관련 파일 기록은 모두 삭제했었고 (git rm, git filter-branch)  실제로 내 Branch 에선 env에 대한 정보라곤 찾아볼 수가 없었다. 

 

한참 고민하던 중 이메일이 하나 더 날라왔다. 

 

서비스에서 사용중인 데이터베이스의 자격증명 정보가 노출되어있다는 것이다.

 

노출이 되어있다는 URL 에 접속해보았다. 사진을 찍어놓지는 못했는데 실제로는 삭제되어있는 커밋이였는데 URL을 통해 접근이 되었다.

 

그리고 경고 문구가 있었다. '공개적으로 브런치에서 접근할 수는 없는 커밋입니다, 외부 Fork 때문일 수 있습니다' 와 같은 문구가 적혀있던 것으로 기억한다. 

 

조치

다시 한번 확인해보기로 했다. 레포지토리 branch 에서 해당 commit 을 찾아봤는데 찾을 수 없었다. 정말 그 커밋에 대한 URL 로만 접근이 가능했다. 

 

구글링 해봤다. 다행히 나와 같은 일을 겪으셨던 분이 계셨다. https://kbs4674.tistory.com/47

 

Github : Github 커밋 캐시 이슈 (커밋 기록을 지워도 접근이 가능한 과거 커밋 기록)

해당 글은 https://blog.naver.com/kbs4674/221516168217 로 부터 게시글이 이전되었습니다. 원래 이 이슈를 19년도 2월에 겪었는데.. 이제서야 글을 남기게 됩니다. 과거에 Github을 다루면서 발생했던 이슈를

kbs4674.tistory.com

 

아마 유출되었던 S3 키도 이런 경로로 유출된 것이지 않을까 생각했다. 커밋을 직접 삭제할 수 있는 방법이 없어 위 블로그의 해결 방법처럼 Github support 에 티켓을 생성해 문의했다. 

 

 

얼마 지나지 않아 답변이 왔다. 

 

 

나는 env의 삭제가 목적이기 때문에 .env 에 대한 내부 참조만 삭제해달라고 했다. 

 

 

그 후로 문제가 되었던 커밋은 접속할 수 없게 조치가 되었다. 

 

 

모든 조치가 끝난 후엔 다시 레포지토리를 공개로 전환해놓았다. 

 

정말 놀랐지만 신기한 경험이었다. 유출로 인해 아무 일도 없어 정말 다행이다.. 

 

github의 캐싱으로 인해 삭제된 정보가 노출될 수 있다는 걸 알게 되어 얻은 점은 있는 것 같다. 

'되돌아보기' 카테고리의 다른 글

버그 리포팅 후기  (0) 2025.01.31
로드 테스팅 툴 '신기전' 개발 후기  (0) 2025.01.16