워드프레스 강좌 / 멀웨어 제거, 치료하는 방법

워드프레스와 멀웨어

워드프레스를 사용하는 사이트가 많다보니 공격도 많이 당합니다. 멀웨어에 감염되어서 사이트가 느려지거나, 서버 자원을 필요 이상으로 소비하거나, 다른 사이트로 리다이렉트시키는 등의 문제가 발생합니다.

멀웨어에 감염되면 index.php나 wp-config.php 등 주요 파일이 변형됩니다. 그리고 이상한 파일이 여기저기 잔뜩 생성됩니다. 따라서 치료 방법은 단순합니다. 변형된 파일은 문제 없는 파일로 교체하고, 이상한 파일은 삭제하면 됩니다.

문제는 그러한 파일을 찾는 게 쉽지 않다는 것입니다. 어떻게 처리하는 게 가장 수월할까요?

치료하기 전에

백업

감염된 상태이기는 하지만, 혹시 필요할 수 있으니 백업합니다.

.htaccess, wp-config.php

  • 아래 방법을 적용하기 전에 제일 먼저 할 것은 .htaccess와 wp-config.php의 감염 여부를 확인하는 것입니다. 워드프레스를 설치, 운영하면서 생성된 파일이기 때문입니다.
  • 실행 권한이 있다면 권한을 제거하고, 파일을 열어서 이상한 코드가 있다면 삭제합니다. wp-config.php는 wp-config-sample.php와 비교하면 찾기가 수월합니다.
  • 감염되기 전의 백업 파일이 있다면, 그 파일과 비교해도 됩니다.

비밀번호 변경

  • 워드프레스 로그인 비밀번호부터 호스팅 계정의 비밀번호, 데이터베이스 비밀번호 등 바꿀 수 있는 비밀번호는 다 바꿉니다.
  • 만약 데이터베이스의 비밀번호를 바꾸었다면 wp-config.php에 있는 비밀번호도 수정해주여야 합니다. 코드는 다음처럼 생겼습니다.
define('DB_PASSWORD', 'xxx');

플러그인을 사용할 수 있는 경우

감염된 파일을 찾는 방법은 여러 가지가 있지만, 플러그인의 도움을 받는 게 쉽습니다. 관련 플러그인이 여러 가지가 있는데, 사용자가 많은 Wordfence Security를 사용해보겠습니다.

플러그인을 설치하고 활성화합니다. 이메일을 등록하라고 나오는데, 등록해야 사용 가능합니다.

[Wordfence - Scan]에서 START NEW SCAN을 클릭하면 검사합니다.

검사 결과는 다음처럼 나옵니다.

  • 기존 파일에 악성 코드가 추가된 것은 REPAIR를 클릭해서 교체를 할 수 있습니다.
  • REPAIR가 없는 것은 새로 추가된 악성 파일입니다. FTP 등으로 접속해서 삭제합니다.

플러그인을 사용할 수 없는 경우

만약 플러그인을 사용할 수 없다면 지울 수 있는 것은 다 지우고 깨끗한 파일로 교체합니다.

워드프레스 코어

  • 사용중인 버전과 같은 버전의 워드프레스를 다운로드합니다.
  • wp-content 디렉토리와 .htaccess와 wp-config.php를 제외한 나머지를 다 지웁니다.
  • 다운로드 한 워드프레스를 wp-content를 제외하고 업로드합니다.

플러그인과 테마

  • 플러그인과 테마도 코어를 처리한 방식과 같은 방식으로 교체합니다. 즉, 플러그인과 테마를 새로 다운로드하고, 기존 파일들을 삭제한 후, 다운로드한 것을 업로드합니다.

사용자가 업로드한 파일들

  • 코어와 플러그인, 테마를 교체해도 문제가 계속 된다면 남아있는 건 wp-content/uploads 디렉토리입니다.
  • 사용자가 업로드한 파일들, 플러그인 등이 생성한 파일들은 wp-content/uploads 디렉토리에 모여있는데, 여기는 하나씩 살펴보는 수밖에 없습니다.

같은 카테고리의 다른 글

워드프레스 강좌 / 카테고리

워드프레스 강좌 / 카테고리

카테고리 워드프레스의 글(포스트)은 카테고리로 분류합니다. 글은 적어도 하나 이상의 카테고리에 속하게 됩니다. 글 작성시 카테고리를 선택하지 않으면 기본 카테고리가 선택됩니다. 카테고리 관리는 에서 합니다. 글 작성 화면에서도 카테고리 관리를 할 수 있지만, 상세한 설정을 할 수는 없습니다. 카테고리 만들기 로 이동하면 다음과 같은 화면이 나옵니다. 이름 등을 입력하고 [새 카테고리 ...

워드프레스 강좌 / 테마 설치하기, 활성화하기, 삭제하기

워드프레스 강좌 / 테마 설치하기, 활성화하기, 삭제하기

워드프레스는 테마 선택이 중요합니다. 목적에 맞는 테마를 잘 선택하면 적은 노력으로 원하는 결과를 얻을 수 있습니다. 이번 강좌에서는 테마를 어떻게 설치하고 활성화하는지, 그리고 필요 없는 테마를 어떻게 삭제하는지 알아보겠습니다. 테마 활성화하기 로 이동하면, 설치된 테마 목록을 볼 수 있습니다. 테마에 마우스를 올리면 테마 세부사항, 실시간 미리보기, 활성화 버튼이 나타납니다. 을 클릭하면 ...

워드프레스 강좌 / 플러그인 / Google Site Kit by Google / 구글 서비스 통계 보여주는 플러그인

워드프레스 강좌 / 플러그인 / Google Site Kit by Google / 구글 서비스 통계 보여주는 플러그인

사이트나 블로그를 구글 검색 엔진에 등록하려면 Search Console을 이용합니다. 접속 통계는 Google Analytics를 이용하죠. 수익을 얻고 싶다면 구글 애드센스 광고를 게재합니다. 각 서비스의 분석 결과를 보려면 각 사이트에 접속을 해야 하는데, 꽤 귀찮은 작업니다. 만약 워드프레스로 사이트나 블로그를 만들었다면 Google Site Kit by Google 플러그인을 설치하세요. 워드프레스 관리자에서 주요 분석 자료를 ...

워드프레스 강좌 / 플러그인 / Google XML Sitemaps / 사이트맵 만들어주는 플러그인

워드프레스 강좌 / 플러그인 / Google XML Sitemaps / 사이트맵 만들어주는 플러그인

사이트맵(Sitemap) 사이트맵은 사이트에 있는 콘텐츠의 URL, 업데이트 날짜, 중요도 등을 정리한 XML 파일입니다. Sitemaps.org에서는 사이트맵을 다음과 같이 설명하고 있습니다. Sitemap은 웹마스터가 크롤링에 사용할 수 있는 사이트의 페이지에 대한 정보를 검색 엔진에 알리는 손쉬운 방법입니다. Sitemap의 가장 간단한 형식은 검색 엔진에서 사이트를 보다 지능적으로 크롤링할 수 있도록 각 URL에 대한 추가 메타데이터(마지막 업데이트된 날짜, ...

워드프레스 강좌 / 플러그인 / List Category Posts / 다양하게 글 목록 출력시켜주는 플러그인

워드프레스 강좌 / 플러그인 / List Category Posts / 다양하게 글 목록 출력시켜주는 플러그인

워드프레스 기본 위젯에 최근 글 위젯이 있습니다. 최신 글 목록을 보여주는 위젯으로 제목 또는 제목과 날짜를 출력해줍니다. 워낙 단순한 기능의 위젯이라 불편한 점이 좀 있습니다. 요약글을 보여주지도 못하고, 썸네일을 출력할 수도 없습니다. 글쓴이를 보여주거나 특정 카테고리의 글만 출력하지도 못합니다. 이를 해결해주는 플러그인 중의 하나가 List category posts입니다. 원하는 카테고리의 글을 원하는 양식으로 ...

워드프레스 강좌 / Smush / 이미지 압축, 최적화 플러그인

워드프레스 강좌 / Smush / 이미지 압축, 최적화 플러그인

워드프레스에 이미지를 업로드하면 썸네일을 만듭니다. 예를 들어 image.png를 업로드하면 image-150x150.png 같은 파일이 만들어지는 것이죠. 문제는 한 개만 만드는 것이 아니라는 것입니다. 워드프레스 미디어 설정에 있는 세 가지 썸네일은 기본으로 만들고, 테마에서 요구하는 썸네일, 플러그인에서 요구하는 썸네일 등을 잔뜩 만듭니다. 따라서 이미지를 한 개 업로드해도 여러 개의 썸네일 때문에 디스크 용량을 ...

워드프레스 강좌 / 워드프레스, 테마, 플러그인 업데이트 하는 방법

워드프레스 강좌 / 워드프레스, 테마, 플러그인 업데이트 하는 방법

업데이트 워드프레스는 워드프레스 코어, 플러그인, 테마, 번역 네가지 범주로 업데이트 됩니다. 기능 추가/개선을 위한 업데이트라면 업데이트를 하지 않거나 미룰 수 있지만, 보안 관련 업데이트는 바로바로 해주는 것이 좋습니다. 업데이트는 워드프레스 관리자에서 할 수도 있고, FTP 등을 이용하여 파일 교체 방식으로 할 수도 있습니다. 워드프레스 관리자에서 하는 게 편하므로, 특별한 이유가 없다면 관리자 ...

워드프레스 강좌 / 플러그인 / Crayon Syntax Highlighter / 코드 문법 하이라이트 플러그인

워드프레스 강좌 / 플러그인 / Crayon Syntax Highlighter / 코드 문법 하이라이트 플러그인

Crayon Syntax Highlighter 프로그래밍을 주제로 하는 블로그나 사이트라면 수많은 코드를 글에 포함하게 됩니다. 코드는 <pre> 태그나 <code> 태그를 이용하여 고정폭 글꼴로 나타낼 수도 있으나, 단색으로 나타내므로 읽는게 불편합니다. 워드프레스에는 이런 불편을 해소해주는 Syntax Highlighter 플러그인이 많습니다. 그 중 사용하기 편하고 다양한 기능을 가진 플러그인이 Crayon Syntax Highlighter입니다. Crayon Syntax Highlighter는 꽤 오랫동안 업데이트가 되지 않고 있어서 ...

워드프레스 강좌 / 링크 없는 메뉴 만드는 방법

워드프레스 강좌 / 링크 없는 메뉴 만드는 방법

워드프레스의 메뉴는 링크를 가지고 있습니다. 하지만 계층형으로 만들거나 메뉴 그룹을 만들 때 링크가 없는 메뉴가 필요할 때가 있습니다. 기본 기능으로는 그러한 메뉴를 만들 수 없지만, 약간의 편법을 사용하면 가능합니다. 사용자정의 링크를 만듭니다. URL에는 아무거나 입력해도 상관없습니다. 뭘 쓸지 고민된다면 #을 입력하면 됩니다. URL이 비어 있으면 메뉴가 만들어지지 않으므로 꼭 입력해야 합니다. 메뉴 수정으로 가서 ...

워드프레스 강좌 / 플러그인 / Ad Inserter / 애드센스 광고 쉽게 삽입할 수 있게 해주는 플러그인

워드프레스 강좌 / 플러그인 / Ad Inserter / 애드센스 광고 쉽게 삽입할 수 있게 해주는 플러그인

Ad Inserter 워드프레스로 만든 사이트 또는 블로그에 애드센스 광고를 넣는 방법은 여러 가지입니다. 그 중 Ad Inserter 플러그인으로 광고를 삽입하는 방법을 소개합니다. Ad Inserter는 광고를 삽입하게 해주는 플러그인으로, 애드센스 광고를 본문 위, 본문 중간 등에 쉽게 넣을 수 있게 해줍니다. 설치 WordPress.ORG에서 공유되는 플러그인이므로 워드프레스 관리자에서 바로 설치할 수 있습니다. 본문에 애드센스 광고 넣기 본문 상단 설정은 ...