back to top
-2.8 C
New York
목요일, 12월 26, 2024

Buy now

워드프레스 멀웨어 경험에서 배운 워드프레스 보안 가이드

지난 며칠간 구글 검색 리다렉트를 유발하는 워드프레스 멀웨어 감염 현상이 발생해 며칠 고생했습니다. 워드프레스 멀웨어 문제를 해결하면서 깨달았던 몇가지 사실 또는 교훈을 기반으로 워드프레스 보안에 대해서 이야기 하고자 합니다.

워드프레스 보안이든 운영 서버 보안이든 보안은 재미없는 이아기이긴 하지만 저의 경험을 기반으로 워드프레스 사이트 운영하시는 분들이 조금이라도 도움을 받았으면 합니다.

어떤 멀웨어에 걸렸나? 멀웨어 증상

이번에 경험한 멀웨어 증상은 구글 검색 결과를 클릭하면 원래 포스팅으로 연결되는 것이 아니라 구글관련 서베이에 참여하면 아이폰 경품을 준다는 사이트로 연결되도록 강제 리다이렉트되는 것이었습니다.

구글 검색 후 구글관련 서베이 후 경품 신청하는 구조라서 일반인들은 쉽게 현혹될 것 같더군요. 이리되면 원하는 문서를 볼 수 없습니다.

물론 구글 검색 후 전체 문서가 전부 리다이렉트 되는 것도 아니고 아마 일부 특수 검색어를 입력 시 리다이렉트 되는 것 같았습니다.

브라우저 멀웨어가 아니라고 판단한 이유

구글링해보면 구글 검색 리다이렉트 멀웨에 대한 보고도 굉장히 많습니다. 이는 워드프레스 자체가 아닌 사용자 브라우저에서 발생하는 것으로 알고 있습니다.

이번에 발생하는 현상은 워드프레스 멀웨어가 아닌 사용자 브라우저 멀웨어(특히 크롬에서 많이 발생)가 아닐까도 생각했습니다.

저도 자주 제 문서를 구글에서 검색해 보는데요. 사이트 검색이 불편하기도하고, 제 문서들이 어느 정도 노출이 되는지 확인하기 위해서 그런 시도를 해보곤 합니다.

지난 1주일간 여러 번 시도 중 단 한번 위에서 설명한 것처럼 리다이렉트되는 현상은 발견했는데요. 우연의 일치라는 생각에 무시해 버리고 말았습니다. 그리고 그 이후 컴퓨터를 포맷한 다음에는 그런 현상을 못봤기 때문입니다.

그런데 이상한 현상들이 나타나기 시작했습니다. 우선 구글 어낼리틱스에서 집계하는 방문자가 절반으로 줄었습니다. 왜 줄었을까 생각하다보니 뭐 구글 검색 정책 등이 바뀌었나보다는 나이브한 생각을 했습니다.

예전에도 갑자기 증가하거나 줄어드는 경우 구글 검색 정책 영향을 받은 경우가 많았기 때문입니다. 그렇지만 절반으로 줄어들지는 않았죠.

그런데 이상한 것은 구글 서치 콘솔에서는 오히려 구글 검색 노출 및 클릭이 계속 증가하고 있었습니다. 이를 보면 구글 검색 정책이 바뀐 것은 아니었습니다.

이런 불일치는 어디에서 발생하는 것일까요? 구글 어낼리틱스 플러그인이 문제인지 몰라서 플러그인도 변경해 보았습니다. 개선되지 않았습니다.

구글 어낼리틱스 문제는 아니었습니다.

그러다 ‘거북이 미디어 전략 연구소’께서 이상한 사이트로 연결된다고 알려주셔서 예전에 보았던 이상한 사이트로 리다이렉트가 광범위하게 이루어지고 있다는 것을 알았습니다. 이 자리를 빌어 ‘거북이 미디어 전략 연구소’께 감사 인사 드립니다.

어떻게 멀웨어 문제를 해결했나

먼저 워드프레스 보안 플러그인을 설치해 사이트를 점검해 보았습니다. 그 동안 보안 플러그인은 속도에 너무 큰 영향을 미치기 때문에 좋은 선택이 아니라고 생각했었습니다.

서버단에서 보안을 철저히하면 보안 플러그인에서 제공하는 서비스 정도는 커버할 수 있을 것 같다는 생각이었습니다. 하지만 이는 자만심에 불과했습니다.

그렇지만 이런 비상 상황에서는 전문 플러그인의 힘이 절대적으로 필요했기 때문에 보안 플러그인으로 많이 추천되는 워드펜스(Wordfence)와 Scucuri를 설치해 점검해 보았습니다.

그랬더니 멀웨어로 의심되는 파일들 몇개가 발견되었습니다. 이 파일들을 전부 제거하니 이런 문제들이 사라졌습니다.

멀웨어가 확실한 php 파일은 아래와 같은 코드가 있었습니다.

워드프레스 사이트 스캐닝중에 발견한 워드프레스 멀웨어 코드, wordpress Malware code
워드프레스 사이트 스캐닝중에 발견한 워드프레스 멀웨어 코드, wordpress Malware code

문제가 해결되었다고 판단하는 이유는 다시 방문자가 증가하고 있기 때문입니다. 그리고 예전에 발생했던 비슷한 방식으로 검색 후 클릭하면 정상적으로 문서가 열리는 것을 확인했기 때문입니다.

문제 원인을 알았기 때문에 워드프레스를 다시 설치하고 데이타베이스를 업데이트 했습니다.

보안 플러그인 워드펜스(Wordfence)와 Scucuri 비교

많은 훌륭한 플러그인 프로그램이 있겠지만 보안 플러그인으로 워드펜스(Wordfence)와 Scucuri가 많이 언급되고 있었습니다.

따라서 두가지를 모두 설치하고 검토해 봤습니다. 물론 다른 플러그인도 많지만 급히 찾다보니 두개 플러그인을 집중해서 살펴보게 되었습니다.

  1. 워드펜스(Wordfence)는 UX가 편하고, 왠지 다양한 정보를 제대로 관리하고 있다는 느낌을 줍니다. 반면에 Sucuri는 옵션 선택이 거의 없고, 진행 사항이라든지 테스트 결과의 자세한 내용을 보여주지는 않습니다. 아주 옛날 방식의 UX를 채택하고 있어서 마치 B2B를 연상시켰습니다.
  2. 그렇기 때문에 사용자 편의성 관점에서는 워드펜스(Wordfence)가 좋아 보였습니다. 세팅과 관련 기능에 대한 자세한 설명 등.. 이런 보안에 대해 잘 모르는 워드프레스 사용자들에게 매우 친화적이라는 생각이 들었습니다.
  3. 워드프레스 보안 기능 관점에서는 워드펜스(Wordfence)보다는 Sucuri가 더 나아보였습니다. 그렇게 생각한 이유가 자동으로 알아서 한다는 것이 Sucuri에서 더 많은 것처럼 느꼈기 때문입니다.
    실제 그런 것과 상관없이 막연한 느낌..
  4. 저는 워드프레스 보안 플러그인은 디자인이나 사용자 편의성보다는 기능이 훌륭해야 한다고 보기 때문에 전반적으로 기능이 낫다고 판단되는 Sucuri를 사용하는 것이 좋겠다고 한때 생각했습니다.

그런데..

  • Sucuri는 최근 업데이트가 없고 따라서 최근 업데이트 된 워드프레스 메이저 버젼 업그레이드에 대응되지 않고 있습니다. 다른게 생각하면 보안은 신속성이 생명인데 Sucuri는 속도에 뭔가 문제 있다는 생각을 했습니다.
  • 또한 테스트를 위해 Sucuri를 설치 삭제하다가 워드프레스 데이타베이스를 망가뜨리더군요. 갑자기 MariDB가 먹통이 되고 말았싑니다.
  • 누가 문제인지는 모르지만 워드펜스(Wordfence)와 Sucuri를 같이 설치 시 속도가 더 저하되었고, 특히 관리자 화면에서 엄청난 렉이 발생했습니다.

결국 보안 플러그인은 워드펜스(Wordfence)로 결정했습니다.

이번 사건으로 무엇을 배웠나

이번 멀웨어 사건으로 몇가지 교훈을 얻었습니다. 간단히 정리해 보겠습니다. 워드프레스 보안을 위해서 다음과 같은 보안 가이드는 유용하다는 생각입니다.

워드프레스 보안 플러그인 설치

앞서 이야기한대로 저는 서버 보안을 중시했는데 사이트 자체에서 구멍이 날줄 몰랐습니다.어디에서 구멍이 생겼는지 이해할 수 없었습니다.

최근에 서버를 새로 세팅하고 얼마 지나지않아 이런 문제를 겪으니 서버 세팅에 문제가 있는지라는 의심이 들기도했습니다. 아니면 어떤 플러그인을 통해서 멀웨어가 침투했는지도 모르겠습니다.

그렇기에 워드프레스 사이트 운영 시 보안 플러그인이 매우 중요하다는 것을 새삼 느꼈습니다. 항상 사이트 자체를 모니터닝할 수 있는 시스템이 필요합니다.

보안과 같이 매우 매우 매우 중요한 영역에서는 전문가를 고용하든지 하니면 전문가가 제공하는 서비스를 이용하는 것이 중요하다고 생각합니다.

프리미엄 버젼을 사용하면 좋겠지만 여의치 않다면 일부 기능이 제한되드라도 무료의 보안 플러그인을 설치하는 것이 좋을 것 같습니다.

그리고 그 동안 보안 플러그인을 꺼린 이유중의 하나가 속도 저하인데요. 그동안 워드펜스와 같은 보안 플러그인 설치 시 속도 저하는 불가피하다는 이야기를 너무 많이 들었습니다.

그렇지만 이번에 워드펜스를 설치해보니 사이트 구동 속도가 그리 느려지지 않았습니다. 아무래도 영향이 있을 수 밖에 없지만 그 변화는 변별력이 없는 수준이라는 생각입니다.

정기적인 백업과 굉장히 유용한 서버 스냅샷(Snapshot)

당연하게도 이번 사건에서도 백업의 중요성이 부각되었습니다. 특히나 서버를 그대로 떠 놓은 서버 Snapshot(스냅샷)은 매우 매우 유용하고 중요합니다.

위에서 설명한대로 워드펜스(Wordfence)와 Sucuri를 같이 설치해 사용하다 Sucuri를 지우려고 삭제를 누르니 시스템이 엄청 느려지면서 결국 MariaDB 데이타베이스 시스템이 깨져버렸습니다.

서버에서 MariaDB 데이타베이스 시스템이 깨져버리면 복구하기가 쉽지 않습니다. 여러가지로 복구하려고 시도하다 결국 며칠 전에 떠논 서버 스냅샷(Snapshot)으로 서버 자체를 되돌릴 수 밖에 없었습니다.

보안 플러그인을 설치해 테스트하는데 별 문제가 있겠어라는 생각에 테스트 전에 바로 서버 스냅샷(Snapshot)을 떠 놓지 않아서 며칠 전으로 되돌아 가야 했습니다.

전는 크론탭을 활용해 데이타 베이스는 3시간마다 외부에 백업하도록 하고 있습니다. 그렇지만 이미지같은 파일은 용량도 있어서 정기적으로 외부 백업을 하지 않았는데 나중에 복구하는데 애를 먹었습니다.

아무튼 그래도 며칠 전의 서버 스냅샷(Snapshot)이라도 있어서 다행이었습니다.

다시 서버를 세팅하고 사이트를 다시 설치하는 과정에서 가장 도움을 받은 것은 Vultr에서 무료로 제공하는 서버 스냅샷(Snapshot)이었습니다.

서버라는 것이 오묘해서, 제가 잘 모르기 때문이기도 하겠지만 임시 방편으로 문제 해결이 잘 안되더군요.시간도 많이 걸리고. Snap이 있다면 바로 서버를 이전 상태로 되돌릴 수 있기 때문에 많은 도움이 됩니다.

특히 초보가 서버 관리시 절대적으로 필요한 기능이라고 생각합니다.

서버 이전 시 워드프레스, 플러그인, 테마는 다시 설치하자

저는 종종 서버를 다시 세팅하곤 합니다. 몇주전에는 Vultr 서울 리젼이 새로 생겨 도쿄에서 서울로 옮겼습니다.

도쿄 리젼과 비교해 본 Vultr 서울 리젼 사용기

이 과정에서 효율성을 극대화하기 위해서 SCP 명령을 사용해 이전 서버의 세팅과 사이트 세팅을 그대로 가져 왔습니다.

scp -r directory user@ip :target
scp -r root@149.28.31.219:/home /homeCode language: PHP (php)

그러다보니 이전 서버에서 문제가 있었던 부분이 그대로 따라오게 됩니다. 조금 더 시간이 걸리드라도 최소한 워드프레스, 플러그인, 테마 등은 새로 설치하는 것이 좋을 것 같습니다.

뒤에서 보듯이 플러그인에서도 멀웨어 의심 파일들을 발견할 수 있었습니다.

플러그인 사용 시 주의 – 플러그인에서 멀웨어 의심 파일들 발견

이번 멀웨어 사건을 겪으면서 제대로 스캐닝을 해보니 그동안 별 의심하지 않고 사용했던 플러그인들에서 멀웨어 의심 파일들이 발견되었습니다.

이 파일들이 진짜 멀웨어인지 아니면 다른 이유 때문에 멀웨어로 의심이 되는지는 잘 모르겠습니다. 하지만 보안 플러그인에서 스캔 시 멀웨어가 의심된다는 경고가 나온는 플러그인이 있었습니다.

예를들어 제가 사용했던 Google Analyitics 플러그인, MonsterInsights과 같은 몇개 플러그인에서도 멀웨어 의심 파일이 나왔습니다.

그래서 구글 어낼리틱스 플러그인은 삭제하고 functions.php에 구글 어낼리틱스 작동 코드를 추가했습니다.

이러한 방법이 더 가볍고 안심할 수 있습니다. 다만 이렇게 구글 어낼리틱스 코드를 추가하는 경우 각종 데이타를 보기 위해 구글 어낼리틱스 사이트를 방문해야하는 불편함은 있습니다.

저는 가능하면 플러그인을 사용하지말자는 주의를 가지고 있는데요. 플러그인은 아무리해도 불필요한 코드를 추가할 수 밖에 없기에 무겁다는 생각입니다.

이번 구글 어낼리틱스 플러그에서도 멀웨어 의심 파을을 발견하다보니 플러그인 최소 주의가 나쁜 방향은 아니라는 생각이 들었습니다. 그렇지만 일반인으로서는 플러그을 대체할 수 있는 코드를 직접 추가하는 것은 쉬운 일이 아니겠죠.

참고

spot_img

Latest articles

Related articles

spot_img