출근 후 인증 DB기록을 살펴 본다.
인증 카운트와 실명/점유 인증 비율이 적절한 수치를 보여 주고 있었다. 약간 안도의 한숨과 함께 불량 요청 IP 수집 테이블을 살펴 봤다. 아마도 프락시를 이용하는 듯한 IP의 목록들은 차곡 차곡 쌓이고 있었다. 터미널 접속해 로그도 살펴 봤다. Captcha… 징하게 시도 하고 있었다. 아무래도 이젠 결단을 내야 할 때라 생각이 들었다.
어떻게 저 나쁜 녀석들에게 스트레스를 줄까?
1. 응답 대기 시간을 엄청 길게 늘려 버린다.
2. 응답 형태를 Json이 아닌 알 수 없는 Dummy 값을 전달한다.
3. 응답 값으로 욕을 한 사발 해 놓는다.
4. 응답 데이터를 수백 메가 단위 값으로 큰 값을 리턴해 버린다.
5. Captcha 데이터를 한 줄에 표현 하지 않고 두 줄로 늘린다.
6. Captcha를 한글로 변경한다.
7. 더 이상 인증 하지 말라는 경고 메시지?
8. 걍 일반적인 에러 값.
진행 사항에 대해 임원과 미팅을 잠깐 가졌다. 위 방법 중 하나를 하려 한다고 하니 떨떠름한 표정들을 지으셨다. 사장님 왈
“봄이 팀장의 대응은 그 녀석들과 싸우자는 것 같아. 그 녀석들이 어떤 녀석들인데~ 싸우자고 작정하고 덤비면 버텨낼 재간 있겠어? 우리 할일 도 많은데.”
듣고 보니 솔깃 한 면도 있다.
“그 녀석들에게 우리가 알고 있으니까 더 이상 접근 하지 말아라 라는 류의 경고 및 방어 류 의미를 가진 응답을 해 주는 것이 맞을 것 같아.”
그렇다. 어떤 녀석들인데 싸우고자 했던가……
걍 수집하고 있는 불량 IP가 접속 하면 더 이상 접속 하지 말라는 경고 페이지가 뜨도록 수정 했다. 그리고, 불량스런 인증 요청 있을 때는 거짓 응답 값을 주지 않고 이런 것 요청 하지 말라는 응답값을 전달 했다. Capcha도 한글로 변경 했다. 사운드가 걸리긴 하지만 조만간 AWS로 이사 갈꺼라 그때 가면 Polly한테 요청 하기로 결정.
늘 하던 대로 로컬 / 개발 / 운영 테스트 및 적용 과정을 거쳤다.
잠시 인증 시도가 유지 됐었지만 수 시간이 지나고 사라졌다. 현재 약 20일 정도 지났지만 아직 까진 불량스런 시도는 없는 상태다.
처음 이 불량 인증 시도가 있을 때 사이버 수사대 신고를 하려 했지만 이사님께서
“실제 우리 DB가 털린 것도 아니고 이런 기회가 아니면 이런 방어작업 언제 해 보겠어? 잘 막아봐. 봄이 팀장~! 실전이잖아~”
뭐 덕분에 이런 작업을 하게 된 것이다.
옆 기획 팀장님도
“이런 것들 잘 정리해서 글로 남겨 놔 봐요. 분명 다음에 도움이 될 지도 모르잖아요. 그간 수고 많았어요~ 호호호”
그래서 이렇게 글 남겨 본다. 내용은 git에 남긴 로그와 내 머릿속 내용을 정리했다.
이제 끝~
하지만 아직도 출근 하면 인증 내역 통계를 살펴 보는 작업은 계속 된다. ㅠㅠ.