AI 로 클리앙 인프라 관리하기 1탄.
조회 959 · 공감 9 · 댓글 8
저는 주로 클리앙 뒷단(서버·인프라) 작업을 하고 있습니다.
최근 몇 달 동안 AI와 같이 한 일 가운데 공개해도 괜찮은 것만 골라서 하나씩 올려 보려고 합니다.
클리앙 서버들이 쓰는 비밀번호와 키는 시크릿 관리 서비스(흔히 vault라고 부르는 것)에 모아 쓰고 있었습니다. 하지만 사람이 하나하나 관리하다보면 요즘처럼 서버가 생겼다 사라졌다 하는 과정에서 규칙적으로 정리하고 관리하는게 어렵죠. 그래서 AI로 서버와 계정과 키를 하나하나 전부 훑어 원칙대로 다시 정리하고 모든 값을 새로 바꾸기로 했습니다. 사람 손으로는 엄두가 안 나던 전수 조사도 AI와 같이 하면 될 것 같았거든요.
한참 작업을 진행하는 중에 해킹 뉴스들이 마구 터집니다.
어디는 깃허브 계정이 털려 aws가 장악당하고, 어디 은행들은 AI가 해킹을 했다고 하고...
사람이 나중에 해야지... 하고 미뤄 둔 곳들이 이제는 AI가 찾아냅니다. 나쁜 AI가 찾기 전에 우리쪽에서 빨리 막아둬야 합니다.
시작하길 잘했다고 생각합니다..
작업은 대략 3주 정도 걸렸습니다.
- DB, 캐시(로그인 세션 저장소 포함), 검색 엔진 계정을 계정·용도마다 다른 새 값으로 교체
- 로그인 토큰 서명 키는 이중 키 방식으로 교체
- 시크릿 저장소, 내부 서비스 호출, 코드 저장소 접근 토큰은 쓰는 곳마다 따로 발급(만료 기한 포함)
- 서버 xx대를 훑어 셸 기록이나 백업 사본처럼 값이 남을 수 있는 곳까지 청소
- 마지막에 처음부터 다시 대조해서 "옛 값으로 열리는 계정 없음" 확인
옛 비밀번호와 새 비밀번호를 잠깐 둘 다 살려 둔 채 옮겼기 때문에 강제 로그아웃은 없었습니다. 중간에 서버 한번 껐다 켰습니다.
AI는 비밀번호를 한 번도 보지 않았습니다
AI와 나눈 대화도 결국 어딘가에 남는 기록이라, 이게 제일 중요한 규칙이었습니다.
- 맞는지 확인할 때는 서버에서 해시를 계산해 "같다/다르다"만 받습니다.
- 새 비밀번호는 만들자마자 시크릿 저장소로 들어가고 화면 출력은 버립니다. 새 값은 아무도 모릅니다. 저도요.
- 서버로 넘길 때는 표준입력으로만 넘깁니다. 명령어 인자는 프로세스 목록과 셸 기록에 남으니까요.
- 남은 흔적을 찾을 때도 찾을 값을 표준입력으로 넘겨 서버 안에서만 검색합니다.
이런 규칙은 AI가 작업을 시작할 때마다 읽는 작업 지침서에 들어가 있습니다.
"AI한테 운영 서버를 맡겨도 되나?" 걱정이 드실 텐데요. 작업마다 위험 등급을 정해 두었습니다.
- 조회·점검: AI가 알아서
- 설정 변경, 재시작: 제가 요청, 승인한 뒤에
- DB 재시작, 네트워크 변경: 되돌리는 방법까지 확인하고 따로 승인
- 자원 삭제: 기본 거부
그래서 AI가 계획과 사전 점검, 명령 준비까지 해 오면 저는 "이 단계 진행해" 한 줄로 승인하면 됐습니다. 옛 값은 모든 사용처가 새 값으로 옮겨진 걸 확인한 뒤에만 지웠기 때문에, 중간에 문제가 생겨도 언제든 되돌릴 수 있었고요.
혼자 했다면 두어달은 걸렸을 일입니다. 다만 너무 산으로 가려고 하거나 세부적인 부분에 매달릴때는 근본적인 목표와 방향전환을 해줘야 합니다.
전수조사를 하다보면 몇 년 전에 박아둔 기술부채를 찾아냅니다. 바로 고쳐야 하는경우도 있고 아예 원인을 제거해야 하는 경우도 있습니다. 이런걸 교통정리 안해주면 끝이 안납니다.
다음 편은 오래된 클리앙 자바 시스템을 도메인별로 나눠 관리하는 이야기입니다.
댓글 8
주말동안 벌레 퇴치에 곤욕이었는데 말이죠.