WordPress 사이트가 해킹되어 의약품 스팸이 노출되거나, 방문자가 엉뚱한 곳으로 전송되거나, Google이 기만적인 사이트라고 표시했다면 플러그인이 아니라 여기서 시작하십시오. 본능적으로는 보안 스캐너를 설치하고 정리 버튼을 누르게 됩니다. 그것은 눈에 보이는 증상을 없애지만 들어온 길은 그대로 남겨 둡니다. 수많은 사이트가 며칠 만에 다시 감염되고, 그 주인들이 WordPress는 원래 안전하지 않다고 결론짓는 이유가 바로 그것입니다.

그렇지 않습니다. 거의 모든 침해는 업데이트되지 않은 플러그인을 통해 들어오며, 거의 모든 정리 실패는 누군가 악성코드는 제거했지만 접근 경로는 제거하지 않았기 때문에 일어납니다.

첫 한 시간: 사이트를 내리거나 점검 모드로 전환하십시오. 호스팅 관리 패널 비밀번호, 데이터베이스 비밀번호, 모든 관리자 비밀번호, 그리고 FTP나 SSH 자격 증명을 변경하십시오. 아직 백업을 복원하지 말고, 아직 아무것도 삭제하지 마십시오. 어떻게 들어왔는지 알아내려면 현재 상태가 필요하며, 복원은 그 증거를 없애면서 같은 취약점을 다시 들여놓을 가능성이 매우 큽니다.


첫 한 시간에 해야 할 일

여기서는 순서가 중요하고, 흔한 실수는 모두 조급함에서 나옵니다.

먼저 사이트를 내리십시오. 점검 페이지, 또는 호스팅이나 CDN 단계에서의 일시 차단은 방문자를 보호하고, 작업하는 동안 사이트가 악성코드를 계속 배포하는 것을 막습니다. 악의적인 전송을 내보내고 있다면 공개된 채로 지나가는 한 시간마다 평판 손상이 쌓입니다.

그다음 모든 자격 증명을 교체하십시오. WordPress 관리자 비밀번호만이 아닙니다. 호스팅 패널, 데이터베이스 사용자, FTP와 SSH 키, 그리고 사이트 설정 파일에 저장된 API 키까지 포함합니다. 공격자는 두 번째 관리자 계정을 만들거나 키를 하나 남겨 두는 일이 흔하므로, 비밀번호 하나를 바꾸는 것으로는 아무것도 달성되지 않습니다.

무엇이든 바꾸기 전에 증거를 보존하십시오. 파일과 데이터베이스를 지금 상태 그대로 완전히 복사하고, 최소한 최근 삼십 일 치의 서버 접근 로그를 내려받으십시오. 침입 지점을 찾는 단서는 그 로그에 있고, 많은 호스팅 업체는 며칠 만에 오래된 로그를 지웁니다.

그러고 나서야 무슨 일이 일어났는지 밝히는 작업에 들어갑니다.


WordPress 사이트가 해킹된 경로를 찾는 방법

진단 없는 정리가 재감염이 그토록 흔한 이유입니다. 다음 네 가지 확인이면 대부분의 경우 원인이 드러납니다.

플러그인과 테마 버전을 알려진 취약점과 대조하십시오. 업데이트되지 않은 플러그인이 압도적으로 가장 큰 원인입니다. 모든 플러그인과 그 버전, 그리고 아직 적용하지 않은 보안 릴리스가 있는지 기록하십시오. 라이선스가 만료된 것은 특히 주의해야 합니다. 유료 플러그인은 라이선스가 끝나면 업데이트 배포가 멈추지만, 설치되어 활성화된 상태로는 계속 표시되기 때문입니다.

이상 징후가 처음 나타난 시점 전후의 접근 로그를 읽으십시오. 찾을 것은 낯선 경로로 향한 POST 요청, 존재하지 않아야 할 파일에 대한 요청, 그리고 변조 직전 한 주소에서 몰린 통신입니다. 답은 대개 여기에 있습니다.

있어서는 안 될 파일을 찾으십시오. 업로드 디렉터리에서 최근에 수정된 PHP 파일은 강한 신호입니다. 그곳에서는 아무것도 실행되어서는 안 되기 때문입니다. 그럴듯해 보이도록 이름 붙인 파일, 그리고 설정 파일과 서버 제어 파일의 변경도 마찬가지로 의심하십시오.

추가된 관리자 계정과 등록된 예약 작업을 확인하십시오. 공격자는 다시 돌아올 사용자를 만들고, 정리한 뒤에 페이로드를 다시 설치하는 예약 작업을 등록하는 것이 일반적입니다. 일정한 주기로 계속 재감염되는 사이트에는 거의 언제나 아무도 들여다보지 않은 예약 작업이 있습니다.


백업을 복원하면 된다는 조언이 대개 실패하는 이유

누구나 가장 먼저 듣는 제안이고, 세 번 중 한 번쯤은 맞는 조언이기도 합니다.

복원이 통하는 것은 침해 시점을 알고, 그 이전의 백업이 있으며, 취약점을 찾아 고쳐 둔 경우입니다. 이 셋이 갖춰지지 않으면 실패하는 방식까지 예측할 수 있습니다. 지난주 백업을 되돌렸다고 생각하지만, 실은 이 주 전에 이미 침해되어 조용히 있었을 뿐인 사이트를 되돌리는 것일 수도 있습니다. 취약한 플러그인을 손보지 않은 채 복원하면, 당신을 밖으로 밀어낸 바로 그 문을 다시 세운 셈이 됩니다.

복원이 무엇을 대가로 치르는지도 문제입니다. 쇼핑몰이나 회원제 사이트에서 되돌리기는 백업 이후의 모든 주문과 가입과 댓글을 잃는다는 뜻입니다. 그것은 받아들이기 어려운 경우가 많고, 그래서 결국 교체가 아니라 운영 중인 사이트를 정리하는 쪽으로 향하게 됩니다.

믿을 만한 방법은 복원이 아니라 다시 만드는 것입니다. WordPress 본체를 새로 설치하고, 모든 플러그인과 테마를 침해된 사이트가 아니라 공식 배포처에서 받은 깨끗한 사본으로 설치하며, 가져오는 것은 업로드 디렉터리와 데이터베이스뿐으로 제한하십시오. 둘 다 먼저 점검합니다. 그래야 실행되는 코드가 깨끗하다는 것이 보장되며, 파일을 하나씩 청소하는 방식으로는 결코 그만한 확신을 얻지 못합니다.


데이터베이스 정리

불완전한 정리가 무언가를 남기는 곳이 바로 데이터베이스입니다. 스캐너가 파일에 집중하기 때문입니다.

주입된 내용은 보통 글 본문의 숨겨진 링크나 삽입 프레임, 전송 스크립트가 저장되는 옵션 테이블, 그리고 사용자 메타데이터에 나타납니다. 콘텐츠와 옵션 테이블을 대상으로 스크립트 태그, 부호화된 덩어리, 낯선 도메인을 검색하십시오.

사용자 테이블은 직접 손으로 확인하십시오. 관리자 권한을 가진 모든 계정을 보고 하나하나 아는 계정인지 확인한 다음, 가입일을 자신의 기록과 맞춰 보십시오.

WordPress에서 옵션 테이블에 자리 잡는 예약 작업도 살펴보십시오. 알아볼 수 없는 함수를 가리키는 항목이야말로, 파일을 정리한 지 한참 지난 뒤에도 사이트가 주기적으로 스스로를 다시 감염시키는 장치입니다.

부호화된 것은 특히 조심해서 다루십시오. 공격자는 눈에 띄는 문자열 검색에 걸리지 않도록 일부러 페이로드를 난독화합니다. 정상 플러그인이 뭔가 영리한 일을 하는 중이라고 넘겨짚지 말고, 의심스러운 것은 해독해서 내용을 확인하십시오.


경고 해제와 검색 순위 회복

사이트를 정리했다고 끝이 아닙니다. 심사를 요청하기 전까지 경고는 계속 남아 있기 때문입니다.

Google이 사이트를 표시했다면, Search Console의 보안 문제 보고서가 무엇이 탐지되었는지 알려 주고 수정 후 심사를 요청할 수 있게 해 줍니다. 심사는 사이트가 정말로 깨끗해진 다음에만 요청하십시오. 심사에서 떨어지면 절차가 길어집니다.

브라우저와 이메일 사업자가 쓰는 차단 목록에 도메인이 올라 있는지도 확인하십시오. 깨끗하다는 것만으로는 충분하지 않습니다. 각 목록은 저마다의 기준과 저마다의 해제 절차를 갖고 있습니다.

그런 다음 피해를 살피십시오. 경고가 풀리면 검색 노출은 대체로 회복되지만, 몇 주 동안 스팸 페이지를 내보낸 사이트라면 그 페이지들이 색인되었을 수 있습니다. 원래 당신의 것이 아닌 URL이 색인되어 있지 않은지 확인하고, 제거하고, 깨끗한 버전이 수집되고 있는지 확인하십시오. 웹사이트 보안 감사 가이드 에서 확인 절차를 더 자세히 다룹니다.


전문 복구 작업의 비용

아래는 영국의 전형적인 요율이며, 침해가 얼마나 오래 눈에 띄지 않았는지에 따라 달라집니다.

원인이 밝혀졌고 빨리 발견된 소규모 사이트의 단순한 정리는 대체로 400에서 1,200파운드가 들고 하루나 이틀이 걸립니다. 일주일 안에 누군가 알아차린 경우가 여기에 해당합니다.

침입 지점과 시간 흐름을 확정하는 로그 분석, 깨끗한 재구축, 데이터베이스 점검, 자격 증명 교체, 강화, 그리고 차단 목록 해제까지 포함하는 본격적인 사고 대응은 보통 1,500에서 5,000파운드입니다. 쇼핑몰이나 고객 데이터를 보유한 사이트가 예상해야 할 쪽이 이것입니다. 데이터가 열람되었는지까지 규명해야 하기 때문입니다.

몇 달 동안 침해된 상태였던 사이트나, 같은 계정에서 여러 사이트를 운영하는 경우에는 비용이 더 듭니다. 공용 호스팅에서는 사이트 사이의 교차 오염이 흔하고, 하나하나 확인해야 하기 때문입니다.

개인정보가 열람되었을 가능성이 있다면 기술적 정리 너머의 의무가 따릅니다. 영국 GDPR은 신고 대상 침해를 인지한 시점부터 72시간 안에 감독기관에 알리도록 요구하며, 그 시계는 정리를 끝낸 때가 아니라 인지한 순간부터 돌아갑니다. 정리를 마친 뒤가 아니라 이른 단계에서 조언을 받으십시오. GDPR 기술 규정 준수 글이 그 공학적인 측면을 다룹니다.


같은 일이 다시 일어나지 않게 하기

강화 없는 복구는 시계를 다시 감아 두는 것일 뿐입니다.

업데이트 규율이 사실상 전부입니다. 침해의 압도적 다수는 이미 패치가 나와 있는 취약점을 이용합니다. 그러니 해법은 보안 릴리스를 신속히 적용하는 절차와, 유지보수가 끊긴 것을 제거하는 방침입니다. 라이선스가 만료된 유료 플러그인은 갱신하거나 교체할 대상이지 그대로 둘 대상이 아닙니다.

실행될 수 있는 것을 줄이십시오. 업로드 디렉터리의 어떤 것도 PHP로 실행되어서는 안 되고, 관리 화면에서의 파일 편집은 비활성화해야 하며, 관리자 계정은 소수로 유지하고 각각 실명으로 두어야 합니다.

모든 관리자 계정에 다단계 인증을 추가하고 로그인 지점에 시도 횟수 제한을 거십시오. 자격 증명을 노리는 공격은 대부분 자동화되어 있으며, 두 번째 요소가 존재하는 순간 성립하지 않게 됩니다.

마지막으로 제대로 백업하고 실제로 복원해 보십시오. 한 번도 복원해 본 적 없는 백업은 가설일 뿐입니다. 여러 세대를 보관하십시오. 가장 최근 것에는 이미 침해가 담겨 있을 수 있습니다. WordPress 보안 강화 체크리스트 가 전체 설정을 정리하고, WordPress 성능 감사 가이드 는 부수적으로 공격 표면을 줄여 주는 플러그인 규율을 다룹니다.


제대로 정리받으십시오

Mecanik은 WordPress 보안 감사 와 사고 복구 작업을 수행합니다. 침해가 어떻게 일어났는지 규명하고, 위에 덧칠하는 대신 깨끗하게 다시 만들고, 데이터베이스를 점검하고, 같은 경로가 뒤에서 닫히도록 사이트를 강화합니다.

우리는 스캐너의 출력이 아니라 서버 로그에서 출발합니다. 스캐너는 자기가 아는 것만 알려 주지만, 로그는 실제로 무슨 일이 있었는지 알려 주기 때문입니다. 고객 데이터를 다루는 사이트라면 신고 대상 침해로 보이는지 여부도 분명히 말씀드립니다. 나중에 스스로 알게 되도록 두지 않습니다. 지속적인 유지보수는 WordPress 개발 서비스 로 제공하며, 두 번째 사고를 겪는 것보다 대체로 저렴합니다.

지금 사이트가 침해된 상태라면 공개를 멈추고, 자격 증명을 교체하고, 로그를 보관한 다음 연락 주십시오.


관련 게시물: API 보안: 공개 API를 지키는 2026년 실전 가이드 , 사업주를 위한 OWASP Top 10 쉬운 설명 , 서버 보안 감사 체크리스트: 무엇을 점검하는가 , 2026년 영국 기업을 위한 웹사이트 보안 감사 가이드 .


자주 묻는 질문

WordPress 사이트가 해킹되면 가장 먼저 무엇을 해야 합니까? 사이트를 내리고 호스팅, 데이터베이스, FTP, 모든 관리자 계정을 포함한 모든 자격 증명을 교체한 다음, 현재 파일과 데이터베이스와 서버 로그의 사본을 보존하십시오. 아직 백업을 복원하거나 파일을 삭제하지 마십시오. 침입 지점을 찾는 데 필요한 증거가 사라집니다.

WordPress 사이트가 계속 재감염되는 이유는 무엇입니까? 거의 언제나 정리가 악성코드만 없애고 접근 경로는 남겨 두었기 때문입니다. 알아볼 수 없는 관리자 계정, 업로드 디렉터리의 백도어, 페이로드를 다시 설치하는 옵션 테이블의 예약 작업을 찾아보십시오. 일정한 주기로 재감염된다면 대개 예약 작업이 원인입니다.

백업을 복원하는 것만으로 해킹된 사이트를 고칠 수 있습니까? 침해 시점을 알고, 그 이전 백업이 있으며, 근본 취약점을 고쳤을 때만 가능합니다. 셋이 갖춰지지 않으면 이미 침해된 사이트를 되돌리거나 같은 구멍을 다시 여는 위험이 있습니다. 본체와 플러그인과 테마를 새로 설치하는 깨끗한 재구축이 더 확실합니다.

WordPress 악성코드 제거 비용은 얼마입니까? 빨리 발견된 소규모 사이트의 단순한 정리는 보통 400에서 1,200파운드가 듭니다. 로그 분석, 깨끗한 재구축, 데이터베이스 점검, 강화를 포함한 본격적인 사고 대응은 대체로 1,500에서 5,000파운드이며, 오래 지속된 침해나 다중 사이트는 더 비쌉니다.

Google의 사이트 경고는 어떻게 해제합니까? 사이트를 완전히 정리한 다음 Search Console의 보안 문제 보고서를 통해 심사를 요청하십시오. 사이트가 정말 깨끗해진 뒤에만 요청하십시오. 심사에서 떨어지면 절차가 길어집니다. 브라우저와 이메일 차단 목록은 각각 별도의 해제 절차가 있으므로 따로 확인해야 합니다.