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

워드프레스와 멀웨어

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

멀웨어에 감염되면 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 디렉토리에 모여있는데, 여기는 하나씩 살펴보는 수밖에 없습니다.

같은 카테고리의 다른 글

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

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

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

워드프레스 강좌 / 플러그인 / Table of Contents Plus / 포스트, 페이지에 차례(목차) 만드는 플러그인

워드프레스 강좌 / 플러그인 / Table of Contents Plus / 포스트, 페이지에 차례(목차) 만드는 플러그인

긴 글을 읽을 때 차례(목차)가 있으면 좋습니다. 예를 들어 위키백과는 문서 상단에 목차가 있습니다. 목차가 있으면 문서가 어떤 내용을 담고 있는지 파악하기 쉽고 링크가 걸려 있어 원하는 내용으로 이동하기 편하다는 장점이 있습니다. Table of Contents Plus 목차를 영어로 Table of Contents, 줄여서 TOC라고 합니다. TOC로 검색하면 꽤 많은 플러그인이 나오는데, 가장 사용자가 많은 플러그인이 Table of ...

워드프레스 강좌 / 설치하기

워드프레스 강좌 / 설치하기

시스템 요구사항 워드프레스를 설치하려면 PHP를 사용할 수 있는 웹서버와 데이터베이스 서버가 필요합니다. 웹서버는 어떤 것이든 상관없지만, 권장되는 것는 Apache와 NginX입니다. 데이터베이스 서버는 MySQL 또는 MariaDB가 필요합니다. We recommend servers running version 7.3 or greater of PHP and MySQL version 5.6 OR MariaDB version 10.0 or greater. We also recommend either Apache or Nginx as ...

워드프레스 강좌 / 플러그인 / Responsive Lightbox & Gallery / 이미지 클릭했을 때 확대하는 플러그인

워드프레스 강좌 / 플러그인 / Responsive Lightbox & Gallery / 이미지 클릭했을 때 확대하는 플러그인

워드프레스 테마는 일반적으로, 이미지를 본문에 넣을 때 이미지가 아무리 커도 본문 가로폭을 넘어가지 못하게 만듭니다. 보기에는 좋지만, 그렇게 하면 큰 이미지가 작게 보여서 이미지 안의 내용을 보기 힘들 수가 있습니다. 이를 해결하는 방법은 라이트박스 플러그인을 사용하는 것입니다. 이미지를 클릭하면 원본 이미지로 또는 크게 확대 되는 걸 본 적 있으시죠? 그게 ...

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

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

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

워드프레스 / 우커머스 / 상점 페이지, 카테고리 페이지 등에서 진열되는 상품 수 설정하는 방법

워드프레스 / 우커머스 / 상점 페이지, 카테고리 페이지 등에서 진열되는 상품 수 설정하는 방법

기본적인 설정 방법 를 변경하면 진열되는 상품의 개수도 바뀝니다. 만약 이 방법이 통하지 않거나, 포스트와 다른 개수로 정하고 싶다면 아래의 방법을 이용합니다. 우커머스에서 제공하는 코드 우커머스에서는 아래의 코드를 functions.php에 추가하면 된다고 합니다. 15를 적절히 수정합니다. function new_loop_shop_per_page( $cols ) { $cols = 15; return $cols; } add_filter( 'loop_shop_per_page', ...

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

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

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

워드프레스 강좌 / 플러그인 / Advanced Custom Fields / 사용자 정의 필드 만드는 플러그인

워드프레스 강좌 / 플러그인 / Advanced Custom Fields / 사용자 정의 필드 만드는 플러그인

워드프레스의 사용자 정의 필드 기능으로 글이나 페이지에 추가적인 정보를 넣을 수 있습니다. 하지만, 단순한 형태로 되어 있어서 많은 정보를 추가할 때 불편함이 있습니다. 이를 보완해주는 사용자 정의 필드 관련 플러그인이 여럿 있는데, 그 중 널리 사용되는 것이 Advanced Custom Fields입니다. 텍스트, 범위, 체크박스, 라디오 버튼, 파일, 이미지, 달력 등 다양한 형식으로 값을 입력할 수 ...

워드프레스 / 플러그인 / KBoard / 일대일(1:1) 상담 게시판 만드는 방법

워드프레스 / 플러그인 / KBoard / 일대일(1:1) 상담 게시판 만드는 방법

인터넷 쇼핑몰이나 서비스에 일대일 상담 기능이 있습니다. 질문자 입장에서는 나의 문의나 정보가 다른 사람에게 공개되지 않고, 판매자 입장에서는 제품 또는 서비스의 문제점이나 오류가 알려지는 것을 방지할 수 있다는 장점이 있습니다. 워드프레스에 일대일 상담 기능을 제공하는 플러그인이 여러 가지가 있는데, KBoard를 이용해서 구현할 수도 있습니다. 무료이기도 하고, 이미 KBoard로 게시판을 운영하고 있다면 ...

워드프레스 강좌 / 리비전(Revision)

워드프레스 강좌 / 리비전(Revision)

리비전   리비전으로 복구하기   리비전 개수 제한 wp-config.php에 다음 코드를 추가합니다. 3은 적절히 설정하세요. define('WP_POST_REVISIONS', 3); 리비전 비활성화 wp-config.php에 다음 코드를 추가합니다. define('WP_POST_REVISIONS', false); 리비전 삭제 리비전을 삭제하는 것은 플러그인을 이용하는 것이 편합니다. revision으로 검색하면 많은 플러그인을 찾을 수 있습니다.

워드프레스 강좌