눈에 보이는 스팸 페이지나 악성 파일 하나를 지운다고 WordPress 침해가 끝나는 경우는 드뭅니다. 공격자는 흔히 여러 거점을 남깁니다. 숨겨진 관리자, 변조된 플러그인, 파일을 다시 생성하는 예약 작업, 또는 모든 페이지에 코드를 삽입하는 데이터베이스 항목 등입니다. 체계적인 WordPress 악성코드 제거는 각 계층을 순서대로 처리한 뒤 원래의 침입 경로를 막고 사이트 보안을 강화합니다. 이 체크리스트는 철저한 정리 작업이 무엇을 다루는지 설명하여 작업을 계획하고, 업체에 설명하고, 수행된 내용을 확인할 수 있도록 돕습니다.
무엇인가
악성코드 제거는 WordPress 설치 환경과 호스팅 환경에서 악성 코드, 무단 접근, 지속성 메커니즘을 식별해 제거하고, 정상적이고 신뢰할 수 있는 운영을 복원하는 과정입니다. 작업은 네 영역에 걸칩니다. 파일 시스템(코어, 테마, 플러그인, 업로드, 설정 파일), 데이터베이스(옵션, 게시물, 사용자, 사용자 정의 테이블), 호스팅 계정(FTP/SFTP 사용자, cron 작업, 같은 계정의 다른 사이트), 외부 서비스(DNS, CDN, 이메일, 검색 엔진 등록 정보)입니다. 작업은 확보 가능한 증거가 허용하는 범위에서 침입 경로를 파악하고 막았을 때 비로소 완료되며, 그렇지 않으면 재감염 가능성이 높습니다.
누구를 위한 것인가?
이 체크리스트는 다음과 같은 분들께 유용합니다.
- 의뢰하기 전에 제대로 된 정리 작업에 무엇이 포함되는지 이해해야 하는 사이트 소유자
- 고객 사이트를 유지 관리하며 일관된 정리 기준을 원하는 에이전시
- 이전에 '정리'된 사이트가 다시 감염된 팀
- 업체의 보고서가 관련된 모든 계층을 다루는지 확인해야 하는 관리자
무엇을 명확히 하는 데 도움이 되는지
체크리스트를 따라가면 다음이 명확해집니다.
- 설치 환경의 어느 부분을 검증된 정상 사본으로 교체할 수 있고 어느 부분에 수동 검토가 필요한지
- 숨겨진 사용자나 예약 작업 같은 지속성 메커니즘이 제거되었는지
- 침입 경로가 무엇이었을 가능성이 높고 그것이 차단되었는지
- 재발 가능성을 줄이기 위해 어떤 보안 강화 단계가 뒤따라야 하는지
포함된 내용
- 준비: 현재 상태의 전체 백업을 만들고, 이전 백업은 손대지 않으며, 날짜와 시간을 기록
- 코어 파일: 공식 출처에서 받은 동일 버전의 새 사본으로 WordPress 코어를 교체하고, 사이트가 안정되면 최신 릴리스로 업데이트
- 플러그인과 테마: 신뢰할 수 있는 출처에서 재설치하고, 사용하지 않거나 방치되었거나 비공식 경로로 얻은 것은 제거
- 업로드 폴더: 미디어만 있어야 할 곳에 실행 파일이 있는지 확인
- 설정: wp-config.php와 .htaccess 같은 서버 설정 파일에 삽입된 규칙이나 리디렉션이 있는지 검토
- 데이터베이스: 옵션, 게시물, 위젯에서 삽입된 스크립트나 낯선 URL을 검색
- 사용자: 모든 관리자와 편집자를 검토하고, 알 수 없는 계정을 제거하며, 남은 계정의 비밀번호를 재설정
- 예약 작업: WordPress cron 이벤트와 호스팅 cron 작업에서 낯선 항목을 확인
- 자격 증명: 호스팅, 데이터베이스, SFTP 자격 증명과 API 키를 교체하고 WordPress 보안 솔트를 재생성
- 침입 경로: 취약한 구성 요소를 업데이트하거나 제거하고, 취약한 접근을 바로잡으며, 파일 권한을 수정
- 검증: 다시 스캔하고, 로그인한 사용자와 익명 방문자 양쪽으로 페이지를 확인하며, 검색 엔진이나 브라우저 경고에 대한 검토를 요청
- 보안 강화: 관리자 MFA를 활성화하고, 관리자 접근을 제한하며, 업데이트 일정을 정하고, 파일 변경 모니터링을 설정
포함되지 않은 것
- 교육받지 않은 직원이 운영 중인 사이트에서 작업하기 위한 명령어 수준의 악성코드 제거 지침
- 스캔 결과가 없으면 사이트가 깨끗하다는 주장
- 침해 통지나 법적 책임에 관한 법적 판단
- 별도로 합의하지 않은 정리 후 지속적인 모니터링
선택해야 할 때
초기 봉쇄 단계를 마치고, 현재 상태의 백업을 확보하고, 주요 계정을 통제한 후에 이 체크리스트를 사용하십시오. 업체가 정리 작업이 끝났다고 보고할 때 인수 체크리스트로도 유용합니다. 어떤 항목을 다루었고 무엇이 발견되었는지 물어보십시오. 고객 개인정보, 결제 데이터, 로그인 정보가 노출되었을 수 있다면 개인정보 보호와 법적 의무 담당자를 참여시키십시오. 이 글은 일반 정보이며 법률 자문이 아닙니다.
우리의 접근 방식
바깥에서 안쪽으로, 검증된 정상 요소에서 알 수 없는 요소로 진행하십시오. 교체할 수 있는 것은 깨끗한 사본으로 교체하고, 검토 시간은 사용자 정의 테마, 업로드, 데이터베이스 내용처럼 사이트 고유의 요소에 쓰십시오. 모든 변경 사항을 기록하십시오. 기록은 이해관계자에게 인시던트를 설명하는 데 도움이 되고 이후 결정을 뒷받침합니다. 검증이 끝날 때까지 사이트를 정상 트래픽에 다시 연결하지 말고, 보안 강화를 나중 일이 아닌 작업의 일부로 계획하십시오. 당사의 Incident Recovery 서비스는 봉쇄, 악성 코드·백도어·무단 사용자 정리, 안전한 복원, 확인된 침입 경로 차단을 다루며, 서면 보고서와 보안 강화 권고를 제공합니다. 당면한 문제가 해결되면, 별도로 범위를 정한 웹사이트 보안 강화 작업을 통해 더 넓은 설정, 업데이트 관리, 접근 제어를 다룰 수 있습니다. 정리 보고서는 사이트 문서와 함께 보관하십시오. 비슷한 일이 다시 나타날 때 유용합니다.
자주 묻는 질문
관련 기사
시작하기
모든 계층을 다루는 정리 작업이 필요하십니까?
관찰한 내용, 지금까지 변경한 내용, 호스팅과 도메인을 관리하는 사람을 알려 주십시오. 서면 정리 범위를 확인해 드리겠습니다.
서면 범위 요청하기