비정상적인 트래픽 패턴
가끔 매뉴얼웍스 홈페이지에 악성 봇에 의한 비정상적인 트래픽 패턴이 발생합니다.
매뉴얼웍스 성능 저하 발생
악성 트래픽이 늘면 HTTP 세션과 SQL 연결이 급격히 증가합니다.
CPU 사용률도 증가합니다.
문제 해결
내부망에서 운영하거나 네트워크 앞단에서 봇 접근을 차단하는 환경은 영향이 제한적입니다. 인터넷 환경에서 운영하면 성능 저하가 발생할 수 있습니다. 매뉴얼웍스 6.0.16에서는 악성 봇 공격이 발생해도 성능이 저하되지 않도록 개선했습니다.
HTTP 세션 생성 최소화
정상 사용자 요청에만 HTTP 세션을 생성하도록 수정했습니다. 하지만 HTTP 세션 수는 줄지 않았습니다. 404 같은 오류를 처리하는 JSP 파일에서 HTTP 세션을 생성하고 있었기 때문입니다.
error.jsp 파일에서 HTTP 세션을 생성하지 않도록 설정했습니다.
<%@ page session="false" isErrorPage="true" %>
SQL 연결 최소화
악성 봇 요청이 SQL 연결을 급격히 늘리는 원인은 문서 공개 설정과 장, 단락의 사용자 정의 아이디 조회 로직입니다. 임의의 URL 요청이 들어오면 일치하는 문서가 존재하는지 확인하고, 이 과정에서 데이터베이스에 접근합니다.
이 문제를 해결하기 위해 문서 공개 정보와 장, 단락의 사용자 정의 아이디를 자바 힙 메모리에 캐시합니다. 정보가 바뀌면 캐시를 최신 상태로 갱신하는 기능도 추가했습니다. 악성 봇 요청이 들어와도 SQL 연결을 최소화하도록 개선했습니다.
매뉴얼웍스 6.0.16 이상 버전으로 업데이트하면 이 기능이 바로 동작합니다. 인터넷에 노출된 운영 환경에서는 기능 비활성화를 권장하지 않습니다. 기능을 사용하지 않으려면 콘솔에서 다음 명령어를 입력합니다.
set-preference -name ENABLE_BOT_REQUEST_FILTER -value false
검증 방법
<관리 | 서버 관리 | 모니터> 메뉴에서 관련 지표를 모니터팅할 수 있습니다. 모니터 메뉴 설정 방법은 다음 가이드를 참고합니다.