티스토리 뷰

< 3줄 요약 >

1. 기술 블로그를 맹신하지 말자.

2. AWS는 꼭 IAM을 이용해서 혹시나 키가 유출되더라도 피해를 최소화 할 수 있도록 하자

3. 앞으로 기술 블로그 포스팅 할 때 잘못된 정보가 없는지 꼭 확인하자..

 


 

개발을 하면서 에러가 터지거나 모르는게 생기면 구글에 검색을 하게 된다.

 

Github actions와 Docker를 이용해 스프링 애플리케이션을 배포하는 과정에서 애플리케이션에서 DB의 ID/PW나 AWS 키와 같은 민감 정보를 깃허브에 올릴 수 없기 때문에 이를 어떻게 깔끔하게 처리할 수 있을까에 대해 검색을 하던 중이었다.

 

환경변수를 이용하거나 Docker secret을 이용하는 방법 두 가지가 제일 많이 보였다.

 

그런데 우연히 들어간 어떤 블로그에서 굉장히 좋아보이는 방법을 제시하고 있었다.

Github actions에서 명령어를 이용해서 secret으로 application-prod.properties 파일을 생성한 다음에 gradle build로 빌드하는 방법이었는데 어디서도 보지 못했던 방법이고 또 무엇보다 깔끔해보여서 보자마자 마음에 들었다.

 

게다가 일단 블로그 디자인이 깔끔하고 포스팅도 상세하게 적혀있어서 신뢰감이 꽤 있어보이는 글이었다.

 

Github actions에서 사용하는 Secrets

 

그런데....

가만 생각해보니 해당 방법이 이상한 문제가 있는 것 같았다.

 

민감 정보가 담긴 application-prod.properties 파일을 Github action에서 생성한다고 한들, 이후에 gradle build를 이용해 애플리케이션을 빌드해버리면 해당 properties 파일이 jar 파일에 그대로 포함되는 것이 아닌가?? 하는 의문이 들었다.

 

그리고 그 의문은 사실이었다.

 

빌드된 jar 파일을 압축 풀어보고 BOOT-INF/classes 디렉토리 안에 보면 민감 정보가 담긴 dev.yml 파일이 고스란히 담겨있는 것을 확인해볼 수 있었다..

 

겉보기에는 굉장히 깔끔한 방법인 것 같았는데 내부를 들여다 보면 보안에 굉장히 취약한 방법인 것이다..

 

실제 해당 게시글을 올린 블로거 분의 도커허브에 가서 이미지를 내려받고 jar 파일을 까보니...

DB부터 AWS 키 등등.. 민감 정보를 싹 다 확인할 수 있었다...;;

 

굉장히 소름돋았다....

회고 글을 쓰게 된 이유도 이 경험을 꼭 남기고 싶어서...

 

의도가 악의적이라면 파일 안에 담긴 AWS 접근 키를 가지고 비트코인을 채굴해 수천만원의 과금폭탄을 선물하고도 피해자는 어디서 정보가 유출됐는지 파악조차 하지 못하는 상황이 벌어졌을 수도 있다.

 

단순히 깃허브에 업로드 하지 않았다고 아무 문제가 없는 것이 아니다

깃허브 액션과 도커라는 기술을 추가로 사용하기 때문에 그것에 대한 부분까지 같이 고려해야 하는데 그 부분이 이뤄지지 않은 방법인 것이다.

 

보안 사고는 정말 생각지도 못한 부분에서 일어난다.. 유출하고 싶어서 하는 사람이 대체 어디있을까

AWS는 항상 루트 액세스 키를 사용하는 것 보다 IAM을 이용해서 부분 접근만 가능하도록 해서 혹시나 키가 유출되더라도 피해를 최소화 하는 것이 너무 중요해 보였다.

 

 

그리고 이 경험을 통해서 기술 블로그를 신뢰할 수 있는가에 대해 다시 생각해보게 되었다.

구글에 검색해보면 온갖 한글 기술 블로그의 홍수나 다름없을 정도로 포스팅이 쏟아지는데 막상 들어가보면 별 알맹이는 없는 복사-붙여넣기에 가까운 글들에 실망하고 나가기를 누르는 경험을 진짜 수도없이 많이 했다. 나만 그런건지는 몰라도..

 

사실 어쩔 수 없는 부분도 있다.

온갖 블로그나 유튜브를 보면 기술 블로그를 쓰는 것이 좋다고 하니 일단 게시글 쓰기는 쓰는데 정작 뭐가 뭔지를 모르니 다른 기술 블로그를 그대로 복붙하는 수준으로 포스팅을 하게 되고,, 이게 점점 퍼져나가는 구조가 되는데,,,

앞서 느꼈던 것 처럼 참고한 블로그가 정확한 정보만 포함하고 있다면 다행인데 부정확하고 잘못된 정보를 담고있다면..??

 

영문으로 된 공식 레퍼런스를 보는 것이 차라리 낫다는 말이 괜히 나오는 것은 아닐것이다. 거기는 적어도 잘못된 정보가 적혀있지는 않을테니까...

블로그가 이쁘게 꾸며져있으면 첫눈에 보기에 신뢰감이 올라가는게 사실인데 그렇다고 내부의 내용이 정답을 보장해주지 못한다..

IT 업계가 급부상하기 전인 한 2010년대 쯤에 작성된 네이버 블로그 글이 디자인은 구려도 알짜배기 정보들이 있는 경우가 오히려 많다

 

나도 기술 블로그를 운영하고 있는 시점에서 나는 그런 포스팅을 하고있지는 않았는지 조금 반성하는 계기가 되었다...

사실 이 블로그에 광고를 안 달고 있는 것도 내가 뭣도 아는게 없는데 광고로 수익 창출하는게 좀 양심에 찔려서.. 

 

하여튼 아는만큼 보이는 것이니까 앞으로도 열심히 공부해야겠다!!!!

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함