Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

워드프레스 사이트 훼손(디페이스), 완벽하게 복구하고 다시는 당하지 않는 방법

이런 상황을 상상해 보세요. 어느 날 아침 커피 한 잔을 들고 출근한 뒤 워드프레스 사이트를 열었는데, 페이지가 해커에게 훼손(defacement)되어 있는 것을 발견하게 됩니다. 사이트 콘텐츠가 마음대로 변경되고, 웹사이트는 엉망이 되어 있죠.

사이트에서 성인 콘텐츠 광고와 팝업, 키워드 스팸, 가짜 제품, 불법 약물, SEO 스팸 등 원치 않는 내용이 표시됩니다. 경우에 따라서는 해커가 종교적·정치적 선전 문구를 홈페이지에 띄우기도 합니다.

이러한 공격은 치명적일 수 있습니다. 방문자와 고객은 훼손된 사이트를 보는 즉시 이탈하기 때문입니다. 더 심각한 문제는 구글이 해킹을 감지할 때입니다. 구글은 사용자에게 '기만적인 사이트', '이 사이트는 해킹되었을 수 있습니다' 같은 경고를 표시하거나, 사이트를 즉시 블랙리스트에 등재합니다. 웹호스팅 업체 역시 해킹이 해결될 때까지 계정을 정지하고 사이트를 내려버릴 수 있습니다.

다행히 훼손된 웹사이트는 복구할 수 있습니다. 하지만 심각한 피해를 막으려면 신속하게 대응해야 합니다. 이 가이드에서는 해킹을 제거하고, 사이트를 정상 상태로 복원하며, 재발을 방지하는 방법까지 모두 알려드립니다.

워드프레스 웹사이트 훼손(Defacement)이란?

해커가 사이트를 공격하면 다양한 변화를 일으킵니다. 방문자를 자신들의 사이트로 리다이렉트하거나, 민감한 데이터를 탈취하거나, 다른 웹사이트를 대상으로 더 큰 공격을 시작하기도 합니다. 그중 하나가 바로 사이트의 외관을 바꾸는 행위, 즉 워드프레스 사이트를 '훼손'하는 것입니다.

웹사이트 훼손은 해커가 자신의 공격을 드러내놓고 보여주는 형태입니다. 메시지를 화면에 띄우고, 대개 해커가 직접 공격의 주인임을 자처합니다. 때로는 방문자를 충격에 빠뜨리는 불쾌한 이미지나 그래픽을 삽입하기도 합니다.

훼손 공격은 '눈에 띄기 위한' 공격입니다. 그렇다면 해커는 왜 이런 짓을 할까요? 해커들이 워드프레스 사이트를 훼손하는 주요 이유를 정리했습니다.

1. 종교적·정치적 목적 전파

해커들은 자신의 정치적 또는 종교적 견해를 알리기 위해 웹사이트를 훼손합니다. 사회정의를 명분으로 하는 훼손 캠페인도 진행하는데, 이런 해커들을 '핵티비스트(Hacktivist)'라고 부릅니다.

가장 유명한 사례 중 하나는 2020년 1월에 발생했습니다. 미국 연방 정부 웹사이트가 해킹당해 이란 최고 실력자 카셈 솔레이마니 사령관의 죽음에 대한 복수를 맹세하는 메시지가 게시된 사건입니다.

2. 관리자의 보안 허점 조롱

해커들은 워드프레스 사이트에 침입해 훼손함으로써 해당 사이트의 부실한 보안 대책을 비웃습니다. 사이트가 해킹당했다는 사실을 노골적으로 드러내고, 사이트 소유주에게 보안이 미흡하다는 메시지를 남기기도 합니다.

3. 불법·위조 제품 판매

일부 해커는 여러분의 웹사이트를 이용해 직접 제품을 판매합니다. 홈페이지를 자신들의 온라인 스토어로 통째로 교체해 버리는 방식입니다. 대표적으로 의약품 관련 불법 판매 페이지를 삽입하는 '파마 해크(pharma hack)'가 있습니다.

4. 실력 과시나 스릴 추구

단순히 워드프레스 사이트를 해킹하고 페이지를 훼손하는 재미 때문에 저지르는 경우도 있습니다. 해킹 실력을 시험하고 향상시키려는 목적도 있죠. 정해진 기간 안에 가장 많은 사이트를 훼손한 해커가 이기는 온라인 대회까지 존재합니다.

해커가 왜 사이트를 훼손하는지 알았다면, 이제 처음에 어떻게 해킹이 이루어졌는지 확인해야 합니다. 이 단계는 해커가 어떤 경로로 침입했는지 파악하는 데 매우 중요합니다.

내 워드프레스 사이트는 어떻게 훼손되었을까?

해커가 사이트에 접근한 경로는 여러 가지가 있습니다. 가장 흔한 원인들을 살펴보겠습니다.

1. 취약한 워드프레스 코어

워드프레스 코어는 웹사이트의 핵심입니다. 하지만 코어 역시 다른 소프트웨어와 마찬가지로 취약점이 생길 수 있습니다.

코어는 세계 최고 수준의 개발자들이 함께 관리하기 때문에 심각한 취약점이 발견되는 일은 드뭅니다.

그러나 2017년에는 REST API의 '권한 상승(privilege escalation)' 취약점이 발견되어, 인증되지 않은 사용자가 웹사이트 콘텐츠를 임의로 수정할 수 있는 문제가 있었습니다. 개발팀은 이 결함을 수정해 업데이트를 배포했지만, 취약점은 공개적으로 알려졌고 해커들도 그 사실을 인지하게 되었습니다.

문제는 많은 사이트 운영자가 업데이트를 미루었다는 점입니다. 그 결과 해커들은 이 취약점을 악용해 150만 개 이상의 워드프레스 사이트를 훼손했습니다.

이후 워드프레스 코어에서 큰 취약점은 발생하지 않았습니다. 개발팀이 철저한 보안 체계를 유지하고 있기 때문입니다.

2. 취약한 테마와 플러그인

코어와 마찬가지로, 아무리 잘 만든 테마와 플러그인이라도 취약점이 생길 수 있습니다. 취약점이 발견되면 개발자는 보통 이를 수정해 업데이트를 배포하지만, 사이트 운영자가 업데이트를 미루는 경우가 많습니다.

이 틈을 노려 해커들이 취약한 테마나 플러그인을 사용하는 사이트를 찾아냅니다. 취약점을 악용해 침입한 뒤 wp-tmp.php 같은 악성코드를 주입하는 것이죠.

3. 취약한 로그인 정보

워드프레스 사용자들은 기억하기 쉬운 아이디와 비밀번호를 설정하는 경향이 있습니다. 하지만 그만큼 해커가 추측하기도 쉽습니다.

해커들은 '무차별 대입 공격(brute force)' 기법을 사용합니다. 봇 프로그램으로 수천 번씩 로그인 정보를 대입해 맞추는 방식이죠.

'admin' 같은 아이디와 '1234567' 같은 비밀번호를 사용하고 있다면, 봇은 순식간에 로그인 정보를 알아낼 수 있습니다.

4. SSL 인증서 부재

방문자가 사이트에 접속하면 브라우저와 웹 서버 간에 데이터가 오갑니다. 이 데이터에는 로그인 정보나 신용카드 정보 같은 민감한 내용이 포함될 수 있습니다.

SSL 인증서가 없으면 해커가 전송 중인 데이터를 가로챌 수 있습니다. 데이터가 평문으로 저장되어 있다면 내용을 읽어 추가 공격에 활용하게 됩니다.

SSL 인증서는 이 데이터를 암호화합니다. 설령 해커가 데이터를 가로채더라도 해독할 수 없습니다. SSL 암호화가 없는 사이트는 데이터 전송 과정을 통해 침입당할 위험이 큽니다.

해커가 워드프레스 사이트를 공략하는 방법은 이 외에도 다양합니다. 워드프레스 취약점에 대해 더 깊이 학습해 두시길 권합니다.

침입 경로를 파악하면 해당 지점을 봉쇄해 재발을 막을 수 있습니다. 우선은 사이트의 해킹을 정리하고 정상 상태로 되돌리는 작업부터 진행하겠습니다.

워드프레스 사이트의 훼손, 이렇게 제거하세요

해킹된 웹사이트를 정리하는 튜토리얼은 여럿 있지만, 훼손 자체를 제거하고 사이트를 정상화하는 세부 과정까지 다룬 글은 드뭅니다. 여기서는 해킹을 수정하고 사이트 콘텐츠까지 복구하는 데 필요한 모든 단계를 안내합니다.

1단계: 사이트 스캔

사이트가 훼손되었다면, 해커가 훼손을 가능하게 만드는 악성코드를 삽입했을 가능성이 높습니다. 가장 먼저 할 일은 사이트를 스캔해 이 악성코드를 찾아내는 것입니다.

워드프레스 보안 플러그인을 사용하면 됩니다. 시장에 플러그인이 많으니 현명하게 선택해야 합니다.

워드프레스 훼손 공격에서 해커는 다음과 같은 작업을 수행합니다:

  • 사이트 곳곳에 악성코드(멀웨어)를 삽입합니다.
  • 코드를 위장하고 숨겨 탐지를 극도로 어렵게 만듭니다.
  • '백도어'라 불리는 비밀 침입 경로를 만들어, 사이트를 정리한 후에도 다시 접근할 수 있게 합니다.

모든 플러그인이 숨겨진 코드를 찾아내거나 백도어까지 점검하지는 못합니다.

따라서 이런 문제를 해결할 수 있는 스마트한 플러그인, 예를 들어 MalCare 같은 도구를 사용해야 합니다. MalCare는 몇 분 안에 워드프레스 사이트 전체를 완벽하게 스캔하며, 사이트에 악성코드가 있다면 반드시 찾아냅니다.

MalCare로 사이트를 스캔하는 방법

1단계: 워드프레스 사이트에 플러그인을 설치합니다. 워드프레스 공식 저장소 또는 공식 웹사이트에서 받을 수 있습니다.

2단계: 플러그인을 활성화한 후 워드프레스 대시보드에서 MalCare에 접속합니다. 이메일 주소를 입력하고 'Secure Site Now'를 선택합니다.

3단계: 플러그인이 자동으로 사이트를 스캔합니다. 악성코드가 발견되면 알림이 표시됩니다.

2단계: 해킹된 사이트 클린업

스캔을 마쳤다면 이제 악성코드를 제거해 사이트를 정리해야 합니다. 시중의 많은 멀웨어 제거 솔루션은 처리에 며칠씩 걸립니다.

하지만 훼손 공격 대응에서는 시간이 생명입니다. 즉시 사이트를 정리해야 합니다.

MalCare는 즉시 클린업(instant clean-up)을 제공하는 거의 유일한 플러그인입니다. 자동화 프로세스로 해킹을 수정하고 백도어까지 제거하며, 이 모든 작업을 단 몇 분 만에 완료합니다.

MalCare로 사이트를 정리하는 방법

1단계: 스캔으로 악성 파일이 발견되면 MalCare가 'Auto Clean' 옵션을 제공합니다. 이 옵션을 선택하세요.

2단계: MalCare가 정리를 마칠 때까지 기다리기만 하면 됩니다. 완료되면 결과 화면이 표시됩니다.

이것으로 끝! 이제 워드프레스 사이트는 악성코드 없는 깨끗한 상태입니다.

참고: 멀웨어 제거 기능은 대부분의 플러그인에서 유료 기능입니다. MalCare를 처음 사용한다면 'Auto Clean' 기능을 이용하기 위해 프리미엄 요금제에 가입해야 합니다.

3단계: 백업 복원

해킹이 제거되었다면, 이제 백업본을 복원해 사이트를 정상 상태로 되돌릴 차례입니다.

백업은 웹사이트의 정확한 복사본입니다. 이런 상황에서 사이트를 이전 상태로 되돌리는 데 결정적인 역할을 합니다. 백업 복원 방법은 세 가지가 있습니다.

A) 플러그인 활용

해킹 이전부터 워드프레스 백업 플러그인을 사용하고 있었다면, 해당 서비스로 사이트를 복원할 수 있습니다. 예를 들어 BlogVault 백업 플러그인을 사용 중이라면 복원 과정이 매우 간단합니다.

  • BlogVault 대시보드에서 사이트에 접속합니다.
  • 'Backups' 메뉴에서 'Restore'를 선택합니다.
  • FTP 정보를 입력하고, 백업본을 선택한 뒤 사이트를 복원합니다.

사이트는 해킹 이전 상태로 되돌아갑니다.

B) 호스팅 업체 활용

플러그인으로 백업을 받지 않았다면 웹호스팅 업체에 문의해 보세요.

대부분의 호스팅 업체는 플랫폼의 사이트를 정기적으로 백업합니다. 요청 시 사이트 복사본을 제공받을 수 있으며, 백업 접근을 위해 상위 요금제로 업그레이드해야 할 수도 있습니다.

복원 절차는 업체마다 다르므로, 훼손 발생 시 복원 방법을 미리 확인해 두는 것이 좋습니다.

C) Softaculous 활용

플러그인도, 호스팅 백업도 없다면 마지막 방법으로 Softaculous를 확인해 보세요.

Softaculous는 웹호스팅 계정에 기본 포함되어 있는 앱 설치 도구입니다.

개발자들은 Softaculous로 워드프레스를 설치하는데, 설치 시 백업 옵션을 제공합니다. 백업 옵션을 선택했다면 Softaculous가 사이트 사본을 보관하고 있을 수 있습니다.

모든 호스팅 업체가 Softaculous를 제공하는 것은 아니므로, 다음 단계로 확인해 보세요.

1단계: 호스팅 계정에 로그인해 cPanel로 이동합니다.

2단계: cPanel에서 Softaculous 앱을 찾습니다. 없다면 호스팅 업체에 제공 여부를 문의하세요.

3단계: 앱 내부에서 백업 메뉴를 찾습니다. 백업을 클릭하면 백업 다운로드 또는 사이트 복원 옵션이 나타납니다.

만약 어떠한 백업도 없다면 사이트를 수동으로 다시 구축해야 하며, 이 경우 웹 개발자의 도움이 필요할 수 있습니다. 아직 백업을 받아두지 않았다면 지금 즉시 준비하시길 강력히 권합니다. 백업의 중요성과 생성 방법은 워드프레스 백업 가이드에서 더 자세히 확인할 수 있습니다.

여기까지 따라오셨다면, 사이트는 이미 해킹 없이 정상으로 복원되었을 것입니다.

마무리하기 전에 알아두어야 할 사실이 있습니다. 훼손 캠페인과 해킹은 계속해서 증가하는 추세입니다! 한 번 공격당했다고 해서 훼손에 면역이 되는 것은 아니며, 언제든 다시 공격당할 수 있습니다.

Mark Maunder가 발표한 글에 따르면 훼손된 페이지 수는 26% 증가했습니다. 재발을 막기 위해 예방 조치를 취하는 것이 얼마나 중요한지 보여주는 수치입니다.

워드프레스 훼손 예방 조치

앞서 사이트에 필요한 보안 플러그인과 백업 솔루션의 중요성을 살펴봤습니다. 이 두 가지는 워드프레스 보안의 필수 요소입니다.

MalCare 같은 워드프레스 플러그인은 사이트를 정기적으로 스캔·모니터링하고, 방화벽을 구축해 해커의 접근 자체를 차단합니다. 침입조차 못 하니 훼손도 불가능하겠죠.

백업은 문제가 생겼을 때의 안전망입니다. 이를 활용하면 사이트를 빠르게 복원해 훼손을 제거할 수 있습니다.

이 외에도 반드시 적용해야 할 추가 보안 조치들이 있습니다.

1. 워드프레스 사이트 업데이트

모든 소프트웨어가 그렇듯 워드프레스와 테마, 플러그인도 수시로 보안 문제에 노출됩니다. 워드프레스 코어는 최근 몇 년간 매우 안정적이었지만, 일부 테마와 플러그인은 취약점이 생기곤 합니다.

개발자가 취약점을 발견하면 신속히 수정해 업데이트를 배포합니다. 사이트의 플러그인이나 테마를 새 버전으로 업데이트하면 취약점이 해소됩니다.

그래서 사이트를 항상 최신 상태로 유지하는 것이 중요합니다. 업데이트를 미루면 해커에게 침입과 훼손의 기회를 주는 셈입니다.

업데이트 알림이 보이면 지체 없이 바로 적용하세요.

2. 워드프레스 사이트 강화(Hardening)

워드프레스에는 사이트를 만들고 관리하는 다양한 기능이 있습니다. 해커들은 이 기능들을 악용해 침입을 시도합니다. 따라서 워드프레스는 굳이 필요 없는 일부 기능을 비활성화하고 특정 보안 조치를 적용해 사이트를 강화할 것을 권장합니다. 주요 항목은 다음과 같습니다:

  • 강력한 아이디와 비밀번호 사용
  • 플러그인 및 테마 설치 비활성화
  • 플러그인 및 테마 에디터 비활성화
  • 로그인 시도 횟수 제한
  • 2단계 인증(2FA) 활성화

이 조치들은 자세한 설명이 필요하므로, '워드프레스 사이트 강화 방법' 가이드를 참고해 해커로부터 사이트를 안전하게 지키시기 바랍니다.

3. 사용하지 않는 테마와 플러그인 삭제

많은 운영자가 새 플러그인과 테마를 설치해 보고는 잊어버립니다. 하지만 사이트의 요소가 하나 늘어날 때마다 해커에게 공격 표면이 하나 더 넓어집니다. 사용하지 않는 테마와 플러그인은 반드시 삭제하세요.

불법 복제(널리(nulled)) 버전의 테마와 플러그인을 사용 중이라면 즉시 삭제해야 합니다. 대부분의 불법 소프트웨어에는 악성코드가 포함되어 있어 설치하는 순간 사이트가 감염됩니다. 불법 복제물은 어떤 경우에도 사용하지 말고, 테마와 플러그인을 정기적으로 스캔해 악성코드 유무를 점검하세요.

4. SSL 인증서 사용

앞서 언급했듯이 해커는 사이트에서 오가는 데이터를 가로채 침입 수단으로 삼습니다.

이 문제는 SSL 인증서 설치로 간단히 해결됩니다. 데이터가 암호화되어 해커가 활용할 수 없게 됩니다. 또한 SSL 설치 시 '주의 요함(안전하지 않음)' 경고도 사라집니다.

SSL 인증서는 웹호스팅 업체나 SSL 공급업체에서 구매할 수 있습니다. 보호 수준에 따라 다양한 인증서가 있으며, LetsEncrypt 같은 사이트에서는 기본형 인증서를 무료로 발급받을 수도 있습니다.

인증서 발급과 설치 방법은 SSL 인증서 관련 가이드를 참고하세요.

이러한 조치들을 모두 적용하면 워드프레스 사이트 보안은 빈틈없이 단단해집니다. 해커가 침입하기 매우 어려울 것이라 확신할 수 있습니다.

마무리 생각

워드프레스 사이트가 훼손된 이유는 해커가 침입 경로를 찾았기 때문입니다. 충분한 보안 조치를 갖추면 이런 일을 예방할 수 있습니다.

MalCare를 사이트에 상시 활성화해 두기를 강력히 권장합니다. 플러그인이 매일 사이트를 스캔하고, 해커의 접근을 선제적으로 차단해 해킹 시도 자체를 불가능하게 만들어 줍니다.

그렇게 한다면 해커가 앞으로도 사이트를 훼손하지 못하도록 확실히 지켜낼 수 있습니다.