워드프레스에서 멀웨어를 제거하는 방법

8

최근 워드프레스에서 멀웨어에 감염된 사례가 간혹 목격되어 멀웨어를 제거하는 방법에 대한 SecurePress 사이트의 글을 참고하여 정리해보았습니다.

참고로 아래의 방법에 따라 멀웨어가 의심되는 스크립트를 제거하더라도 데이터베이스(DB)에 멀웨어가 심어져 있으면 문제가 재발될 수 있으므로 DB도 체크해보는 것이 좋을 것입니다. 멀웨어에 감염될 경우 많은 시간과 노력이 들 수밖에 없고 최악의 경우 사이트를 다시 제작해야 하는 경우도 있습니다.

아래 절차를 수행하기 전에 백업을 실시해놓는 것은 좋습니다. 백업은 웹호스팅 업체에서 제공하는 기능을 이용하거나, UpdraftPlus 같은 플러그인을 사용할 수 있습니다.

단계 1: 컴퓨터 스캔

멀웨어는 다양한 방법으로 워드프레스를 감염시킬 수 있습니다. 사용 중인 컴퓨터가 FTP 비밀번호를 유출하는 바이러스에 감염된 경우도 그 중 하나이며 실제로 매우 흔합니다. 먼저 컴퓨터가 바이러스에 감염되지 않았는지 확인하도록 합니다. 최소한  Malware Bytes로 스캔하고 AVG나 Kaspersky 같은 바이러스 방지 프로그램으로도 검사하여 다시 한번 안전한지 확인하는 것이 좋습니다.

단계 2: cPanel/FTP 비밀번호 변경

컴퓨터에 바이러스가 없는 것을 확인했다면 cPanel과 FTP 패스워드를 변경해야 합니다. 비밀번호는 랜덤하게 다소 복잡하게 설정하도록 합니다. 최소 하나 이상의 특수문자와 대소문자 및 숫자를 포함하도록 합니다. 좋은 예: Y^jsd7#jBse.

Bluehost, Siteground 등 해외 호스팅에서는 웹호스팅 서비스를 편리하게 관리할 수 있도록 cPanel을 제공합니다. cPanel이 제공되는 경우 비밀번호를 변경하도록 합니다.

단계 3: 워드프레스 다운로드

공식 사이트에서 최신 버전의 새로운 워드프레스 패키지 파일을 다운로드합니다.

단계 4: 파일 압축 해제

방금 다운로드한 zip 파일이나 tar.gz 파일의 압축을 풉니다. 지금은 압축을 푼 파일을 그대로 두도록 합니다. 나중에 이용할 것입니다.

단계 5: 멀웨어 감염 제거하기

FTP에 로그인하거나 cPanel > File Manager를 실행합니다. (파일 관리자 사용 방법에 대해서는 이 글을 참고해보시기 바랍니다. FTP 사용 방법은 이 글을 확인해보세요.)

웹호스팅 서버에 있는 워드프레스 설치 파일들은 다음과 비슷할 것입니다.

  • wp-admin
  • wp-content
  • wp-includes
  • index.php
  • license.txt
  • readme.html
  • wp-activate.php
  • wp-blog-header.php
  • wp-comments-post.php
  • wp-config.php
  • wp-config-sample.php
  • wp-cron.php
  • wp-links-opml.php
  • wp-load.php
  • wp-login.php
  • wp-mail.php
  • wp-settings.php
  • wp-signup.php
  • wp-trackback.php
  • xmlrpc.php

wp-content 폴더와 wp-config.php 파일을 제외하고는 모두 삭제합니다.

이제 워드프레스 설치 사이트에는 다음과 같은 항목이 있을 것입니다.

  • wp-content
  • wp-config.php

cPanel > File Manager에서 wp-config.php 파일을 클릭하여 편집하도록 엽니다. 이상한 코드나 비정상적인 것이 없는지 확인합니다. 이 파일에 멀웨어가 있으면 임의의 텍스트로 된 긴 문자열 같은 것이 있을 것입니다 확실히 하기 위해 wp-config-sample.php 파일과 비교해볼 수 있습니다.

이 작업은 FTP에서도 동일하게 할 수 있습니다. FTP 사용법을 숙지하고 있어야 합니다.

이제 wp-content 폴더로 이동합니다. 이 폴더는 다음과 비슷하게 표시될 것입니다.

  • plugins
  • themes
  • uploads
  • index.php

현재 사용 중인 플러그인의 목록을 만든 다음 plugins 폴더와 index.php 파일을 삭제합니다. 클리닝(멀웨어 제거) 과정을 수행한 후 플러그인을 다시 설치해야 합니다.

themes 폴더로 이동한 후 사용하지 않는 테마를 모두 삭제합니다.  그런 다음 현재 사용 중인 테마의 각 파일을 개별적으로 체크하여 멀웨어나 이상한 코드가 없는지 확인해야 합니다.  감염되지 않은 깨끗한 상태의 테마를 백업해놓았다면(예: 컴퓨터 내) 전체 테마 폴더를 삭제하면 됩니다.

uploads 폴더 내의 모든 디렉터리를 체크하여 php 파일이나 업로드하지 않은 것이 있는지 확인합니다.

단계 6: 워드프레스 재업로드

단계 4에서 압축을 해제한 새로운 워드프레스 파일을 FTP를 통해 업로드합니다.

테마를 제거했다면 감염되지 않은 깨끗한 상태의 테마 파일들도 다시 업로드해야 합니다.

단계 7: 워드프레스 관리자 비밀번호 변경 및 플러그인 재설치

이제 알림판에 접속할 수 있을 것입니다. 알림판에 로그인하여 관리자 비밀번호를 변경하도록 합니다. 비밀번호는 항상 추측하기 어렵도록 랜덤하게 설정해야 합니다. kitten44나 tomcruise 같은 기본적인 단어를 사용하지 마십시오(실제로 이런 비번을 사용하는 사람이 있다고 하네요). 약한 비밀번호를 사용하면 해킹을 당할 수 있습니다. 그리고 admin을 관리자 계정으로 사용하지 마십시오.

Gsdi6!33&W 같은 랜덤한 패스워드를 사용하고 싶지 않다면 3개 이상의 단어로 된 흔하지 않은 문구(예: AragornLuvsArwen<3)를 사용하십시오. 강한 비밀번호는 일반적이지 않은 단어들, 최소 1개의 숫자, 1개 이상의 특수문자, 대소문자 혼합 등으로 이루어집니다.

단계: 구글 경고 제거하기

이제 사이트에 멀웨어가 없으므로 구글에 “이 사이트는 컴퓨터에 문제를 야기할 수 있습니다.” 경고를 제거해줄 것을 요청할 수 있습니다.

Conclusion

위의 과정을 통해 멀웨어가 제거되지 않으면 보안업체인 Sucuri 사이트를 방문하여 라이브 채팅(오른쪽 하단에 위치)을 통해 멀웨어를 제거해줄 수 있는지 문의해보아도 괜찮을 것 같습니다.

또는 전문가에게 의뢰할 수도 있습니다. 하지만 시간과 비용이 많이 소요될 수 있으므로 멀웨어나 악성코드에 감염되거나 해킹을 당하기 전에 미리 기본적인 보안 조치를 하여 대비하는 것이 중요합니다.

  • 워드프레스 코어 파일, 테마, 플러그인 등을 최신 버전으로 업데이트
  • 보안 플러그인(Wordfence, iThemes Security 등) 설치
  • 정기적인 백업

위와 같은 세 가지 조치만으로도 만일의 사태에 대비할 수 있습니다. 최악의 경우 멀웨어에 감염되더라도 백업본을 이용하여 복원이 가능합니다.

멀웨어나 워드프레스 문제로 도움이 필요한 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다.

유비무환(有備無患)

악성코드에 감염되거나 해킹을 당하기 전에 미리 대비하는 것이 최선 같습니다. 위에서 언급했듯이 1) 정기적인 업데이트, 2) 보안 플러그인 설치, 3) 정기적인 백업을 통해 만약의 사태에 대비할 수 있습니다.

저는 멀웨어에 감염된 사이트를 자주 접하다 보니 경각심을 갖게 되어 iThemes Security를 거의 모든 사이트에 설치하였습니다. Wordfence가 더 강력한 기능을 제공하는 것 같지만 iThemes가 서버에 부담을 덜 주는 것 같습니다.

참고:

*일부 글에 제휴링크가 포함될 수 있으며, 기부를 통해 블로그 운영을 후원하실 수 있습니다.

Related Posts

8개 댓글
  1. hs Lee 님의 말씀

    워드님 조언 덕분에 백업 복원 진행하여 사이트가 정상으로 돌아왔습니다. 다시한번 감사드립니다.
    혹시 워드님은 현재 보안 플러그인을 사용하고 계신지요?

    1. Word 님의 말씀

      문제가 잘 해결되어 다행이네요 🙂

      멀웨어에 감염되면 복원할 수 있는 경우 복원하는 것이 최선 같습니다.

      저는 iThemes Security 플러그인을 주로 사용합니다.
      여러 가지 플러그인이 있으므로 마음에 드는 것을 선택하여 사용하시면 됩니다.

  2. hs Lee 님의 말씀

    만약 멀웨어 치료를 위해서 파일을 웹서버에서 내컴퓨터로 다운로드 할 경우 내컴퓨터가 감염되지는 않을까요? 검색해보아도 웹서버에 있는 파일을 치료하는 방법을 못찾겠네요 ㅠㅠ

    1. Word 님의 말씀

      저는 컴퓨터에 바이러스 스캔 프로그램이 설치되어 있어서 웹서버에 있는 파일이나 이메일 첨부된 파일을 다운로드할 때 악성코드가 의심되는 경우에 자동으로 삭제되더군요.

      아래에도 언급했듯이 먼저 백업본이 있는지 확인하여 백업본을 사용하여 사이트를 복원해보시기 바랍니다.

  3. hs Lee 님의 말씀

    안녕하세요. 워드님!
    제가 관리중인 사이트가 해킹을 당한것 같습니다. 엉뚱한 아이디가 관리자로 등록되어 있고 멀웨어 바이러스까지 감염되었네요 ㅠㅠ
    몇가지 질문 드려도 될까요?
    1. 위의 과정처럼 삭제 후 재설치를 거치면 테마 세팅이나 플러그인 설정, 그리고 추가된 css 내용은 모두 리셋되지 않을까요?
    2. 멀웨어 치료과정은 파일을 다운로드하여 컴퓨터에서 malwarebytes 프로그램으로 치료하는 것인가요? 아니면 서버에 있는 파일을 치료할 수 있는 툴이 있나요?

    1. Word 님의 말씀

      안녕하세요?

      백업본이 있다면 사이트를 복원해보시기 바랍니다.
      백업본이 없다면 웹호스팅 업체에 한 번 문의해보시기 바랍니다.

      직접 멀웨어를 치료하는 것이 쉽지 않을 수 있습니다. 방법은 위에서 제시되어 있으니 숙지하신 후에 진행해보시기 바랍니다.

      먼저는 백업을 확실히 해 두시기 바랍니다.

      차일드 테마를 만들지 않고 테마 소스 파일을 직접 수정한 경우에는 수정 사항이 모두 사라질 것입니다. 플러그인 소스 파일을 직접 수정한 경우에도 마찬가지이고요.

      사이트를 복구한 후에는 가능한 한 워드프레스와 테마, 플러그인을 최신 버전으로 업데이트해야 멀웨어가 재발하지 않을 것입니다.

      1. hs Lee 님의 말씀

        사이트그라운드에 자동백업되어 있어 복원은 가능한데 문제는 동일 서버에 두개의 도메인을 운영중이라서 복원을 하게되면 두개의 도메인 모두 과거로 돌아가버려서 약 일주일간 올라온 게시물이 모두 없어지게 되는 문제가 있습니다.
        혹시 이런 방법이 가능할까요?
        1. 멀웨어 감염되지 않은 A 사이트를 현재시점으로 백업 진행한다.(UpdraftPlus를 이용)
        2. 사이트 그라운드의 백업을 이용하여 서버 전체를 일주일 전 시점으로 복원한다.
        3. A 사이트의 현재시점 백업본으로 A사이트만 Updraft 를 이용하여 복원한다.

      2. Word 님의 말씀

        사이트그라운드에서 복원하실 때 Full Account를 선택하지 말고 개별 폴더를 선택하여 복원해보시기 바랍니다.

        사이트그라운드( https://www.thewordcracker.com/go/siteground )에서는 아시다시피 30일 이내의 기간으로 복원이 가능합니다. 전체 사이트를 복원할 수도 있지만, 개별 폴더별, 개별 DB별로도 복원이 가능합니다.

        https://www.thewordcracker.com/miscellaneous/%ED%95%B4%EC%99%B8-%ED%98%B8%EC%8A%A4%ED%8C%85-siteground%EC%97%90%EC%84%9C-%EB%B0%B1%EC%97%85-%EB%B3%B5%EC%9B%90-%EA%B8%B0%EB%8A%A5-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8/

댓글 남기기