본문 바로가기
서버, 인프라

그래서 보안과 편의 사이, 어디에 서야 할까

by 요즘IT 2026. 6. 21.

[서버 침해 대응기 시리즈] 1인 개발자가 크립토재킹 당하고, 서버를 통째로 새로 만든 5일간의 기록

긴 시리즈였어요.

서버가 6주째 채굴당하는 걸 발견하고.

서버를 통째로 새로 만들고.

7개 서비스를 옮기고.

자동배포까지 붙였어요.

5일이 걸렸습니다.

이번 편은 좀 달라요.

기술 얘기보다.

이 5일을 돌아보면서 솔직한 생각을 정리해볼게요.

채굴
채굴

가장 크게 배운 거

솔직히 처음엔 화가 났어요.

내 서버가 남의 채굴기로 쓰였다니.

근데 시간이 지나니까.

오히려 다행이라는 생각이 들더라고요.

왜냐면.

저는 운이 좋게도 채굴 공격을 당했거든요.

채굴기는 시끄러워요.

CPU를 다 먹으니까 금방 티가 나요.

그래서 6주 만에라도 발견한 거예요.

만약 조용히 데이터만 빼가는 공격이었으면?

지금도 모르고 있었을 거예요.

DB가 통째로 복사돼도 몰랐겠죠.

그 생각을 하니까.

이번 일이 일종의 경고처럼 느껴졌어요.

"너 보안 너무 대충 했어" 하는.

비싼 수업료였지만.

차라리 지금 알아서 다행인 거죠.

내 선택이 맞았을까

이번에 제가 내린 가장 큰 결정은.

socket-proxy로 EXEC만 막고 나머지는 연 거예요.

4편에서 한참 싸웠던 그거요.

솔직히 이게 완벽한 보안은 아니에요.

진짜 빡세게 하려면.

빌드는 Jenkins가 하고, 배포는 완전히 분리하는 방법도 있어요.

근데 저는 1인 개발자예요.

모든 걸 완벽하게 격리하면.

운영이 너무 복잡해져요.

혼자 다 관리해야 하는데.

너무 복잡하면 오히려 실수가 생기거든요.

그래서 "핵심 위험만 막고, 운영은 단순하게"를 택했어요.

EXEC.

이번에 당한 그 무기.

그것만은 확실히 막았어요.

이게 정답인지는 모르겠어요.

근데 제 상황에선 이게 맞다고 생각해요.

보안은 결국.

내 상황에 맞는 균형점을 찾는 거니까요.

아직 안 끝났어요

솔직하게 말하면.

이거 다 했다고 끝난 게 아니에요.

남은 숙제가 있어요.

하나, 백업 자동화.

이번에 새로 만들면서 깨달았어요.

정기 백업이 있었으면 복구가 훨씬 쉬웠을 거라고.

DB랑 데이터를 매일 자동 백업하게 해둘 생각이에요.

또 무슨 일이 생겨도 돌아갈 곳이 있게요.

둘, 비밀번호랑 키 교체.

6주나 뚫려 있었잖아요.

그동안 비밀번호랑 API 키가 노출됐을 수 있어요.

이건 차분히 다 갈아야 해요.

셋, 기존 서버 폐기.

아직 옛 서버를 안 지웠어요.

도메인 전파가 완전히 끝날 때까지.

방화벽으로 잠가두고 며칠 더 지켜볼 거예요.

새 서버에서 빠진 게 발견될 수도 있으니까요.

이런 건 한 번에 다 하려다 또 실수해요.

급한 불 끄고.

나머지는 차근차근 하는 게 맞더라고요.

1인 개발자한테 하고 싶은 말

저처럼 혼자 서버 운영하는 분들 많을 거예요.

서비스 만들고, 배포하고, 관리까지 다 혼자요.

그러다 보면.

보안은 자꾸 뒤로 밀려요.

"일단 돌아가게 만들고 나중에 챙기자."

저도 그랬어요.

Jenkins 포트 0.0.0.0에 열어놓고.

docker.sock 그냥 물려놓고.

"나중에 막아야지" 하고 6주를 보냈죠.

근데 그 "나중에"가.

채굴 공격으로 돌아왔어요.

그러니.

지금 서버 돌리고 계신 분 있으면.

딱 두 가지만 확인해보세요.

내 관리 도구(Jenkins 같은)가 외부에 열려 있진 않은지.

docker.sock을 아무한테나 물려주진 않았는지.

이 두 개만 막아도.

제가 당한 공격은 안 당해요.

결국 핵심은 그 질문이에요

이 시리즈를 시작하기 전에.

제가 다른 글에서 이런 질문을 던졌어요.

"AI에게 어디까지 권한을 줄 건가."

자동화를 할수록 권한 분리가 중요하다고.

그땐 좀 추상적인 얘기였어요.

근데 이번에 몸으로 배웠어요.

AI든.

Jenkins든.

자동화 도구든.

뭔가에 권한을 줄 때는.

항상 같은 질문을 해야 해요.

"얘가 뚫리면, 나는 뭘 잃나?"

이 질문을 먼저 했으면.

6주 채굴은 없었을 거예요.

편함은 좋아요.

자동화도 좋고요.

근데 그 편함의 대가가.

"통제권을 통째로 내주는 것"이면.

언젠가 비싼 값을 치릅니다.

제가 그랬던 것처럼요.

마치며

5일간의 기록이었어요.

침해 발견부터.

재구축, 이전, 자동화까지.

힘들었지만.

덕분에 제 인프라가 전보다 훨씬 단단해졌어요.

그리고 무엇보다.

"편하게만 가려다 뭘 놓쳤는지"를 배웠어요.

혹시 이 글 읽는 분 중에.

저처럼 "나중에 막아야지" 하고 계신 분 있으면.

그 나중이 오늘이었으면 좋겠어요.

긴 시리즈 읽어주셔서 감사합니다.

서버 운영하시는 모든 분들.

부디 채굴당하지 마세요.