상위 10개 WordPress 보안 취약점 및 해결 방법

게시 됨: 2018-11-28

이 인용문은 전 세계적으로 발생하는 보안 문제에 대한 아이디어를 제공하기에 충분합니다. 사실, 웹사이트 보안은 오랫동안 사이트 소유자들에게 잠 못 이루는 밤을 선사해 온 주제입니다. 아무도 자신의 비즈니스 사이트에 대해 100% 보안을 달성할 수 없었습니다.

주니퍼 리서치(Juniper Research)에서 실시한 설문 조사에 따르면 2019년까지 사이버 범죄로 인한 기업의 피해액은 2조 달러가 넘을 것입니다. 이는 놀라운 통계이며 웹사이트 보안이 매일 매우 어려워지고 있음을 보여줍니다. 동시에 가장 중요한 데이터와 민감한 정보가 포함된 사이트를 보호하는 방법을 찾아야 합니다.

모두 아시다시피 WordPress는 인터넷의 31%를 차지하므로 WordPress 플랫폼이 가장 많은 수의 웹 보안 문제에 직면하게 될 것이 매우 분명합니다. 대부분의 사용자는 이 멋진 플랫폼을 신뢰하며 이것이 그들이 비즈니스 사이트를 구축한 이유입니다.

그러나 Sucuri에서 수행한 연구에 따르면 WordPress는 2018년에 가장 많이 감염된 웹사이트 플랫폼입니다.

WordPress in 2018

따라서 다양한 워드프레스 보안 취약점과 이를 해결하는 방법을 모두 숙지하는 것이 중요해집니다. 그럼 본격적으로 각 취약점을 하나씩 분석해 보도록 하겠습니다.

해킹을 당한 기업과 해킹을 당했다는 사실을 아직 모르는 기업의 두 가지 유형이 있습니다.

– 존 챔버스

WordPress 보안 취약점 상위 10개

  1. 안전하지 않은 웹 호스팅
  2. 약한 암호 사용
  3. WordPress를 업데이트하지 않음
  4. SQL 주입
  5. WordPress 구성 파일 보안을 잊어버림
  6. 플러그인 또는 테마를 업데이트하지 않음
  7. 일반 FTP 사용
  8. WordPress 테이블 접두사를 변경하지 않음
  9. 멀웨어
  10. 잘못된 파일 권한

1. 안전하지 않은 웹 호스팅

이것은 아마도 WordPress 웹 사이트가 쉽게 감염되는 가장 큰 이유 중 하나일 것입니다. 다른 모든 웹사이트와 마찬가지로 WordPress 웹사이트도 서버에서 호스팅됩니다. 때로는 호스팅 제공 업체가 플랫폼을 보호하지 않는 경우가 있습니다. 이러한 종류의 시나리오에서는 WordPress 웹 사이트가 외부인에 의해 공격을 받을 수 있는 모든 기회가 있습니다.

이 문제를 해결하는 방법

이 문제를 해결하는 가장 좋은 방법은 일부 최고 수준의 호스팅 플랫폼에서 WordPress 웹사이트를 호스팅하는 것입니다. 다음은 비즈니스 웹사이트에 활용할 수 있는 최고의 WordPress 호스팅 제공업체 목록입니다.

최고의 WordPress 호스팅 제공업체

  • 블루호스트
  • 호스트게이터
  • 사이트그라운드
  • 드림호스트
  • 인모션 호스팅

2. 취약한 비밀번호 사용

암호는 WordPress 웹 사이트 보안의 핵심 부분입니다. WordPress 계정에 강력한 암호를 사용하고 있는지 항상 확인해야 합니다. WPTemplate에서 실시한 연구에 따르면 전 세계 워드프레스 웹사이트의 8%가 주간 비밀번호로 인해 해킹을 당합니다. 일주일 암호를 사용하면 다음 항목에 쉽게 액세스할 수 있습니다.

  • WP 관리자 계정
  • C-패널 계정
  • FTP 계정
  • WordPress 데이터베이스

그렇기 때문에 WordPress 웹 사이트에 대한 강력한 암호를 갖는 것이 매우 중요합니다.

이 문제를 해결하는 방법
  • 복잡한 암호를 형성하십시오

    이 문제를 해결할 수 있는 방법 중 하나는 사이트에 대한 복잡한 암호를 구성하는 것입니다. 비밀번호는 항상 알파벳, 숫자, 특수문자 등을 조합하여 사용하도록 하세요. 쉽게 추측할 수 없는 강력한 비밀번호를 만드는 데 도움이 됩니다.

  • 암호 관리자 활용

    이 문제를 해결하는 다른 방법은 암호 관리자를 사용하는 것입니다. 암호 관리자는 모든 암호를 한 곳에 저장한 다음 마스터 암호를 통해 관리할 수 있는 응용 프로그램입니다. 모든 암호 관리자의 USP는 자동 채우기 기능이 있다는 것입니다.

    다음은 최고의 암호 관리자 목록입니다.

    • 라스트패스
    • 1비밀번호
    • 대시레인
  • 이중 인증

    이것은 암호 도용으로부터 WordPress 웹 사이트를 보호하는 가장 좋은 방법 중 하나입니다. 2단계 인증 시나리오에서 공격자가 WordPress 웹사이트의 비밀번호를 추측할 수 있다면 사이트에 로그인하지 않을 것입니다. 그/그녀는 귀하의 모바일로 전송되는 보안 코드를 요구할 것입니다. 이러한 방식으로 웹사이트를 보호할 수 있습니다.

    WordPress에서 이중 인증을 설정하는 주요 방법은 다음과 같습니다.

    1. SMS 확인
    2. Google OTP 앱

3. 워드프레스 업데이트 안함

WordPress 버전 중 하나에 편안함을 느끼는 많은 사용자가 있으므로 정기적으로 WordPress 버전을 업데이트하지 않습니다. 그 배후의 주요 이유는 웹 사이트가 손상 될 것을 두려워하기 때문입니다. 그러나 WordPress의 각 새 버전에는 보안 버그에 대한 수정 사항이 포함되어 있으므로 웹 사이트를 업데이트하는 것이 중요해집니다.

이 문제를 해결하는 방법

항상 최신 버전의 WordPress를 확인하고 웹사이트를 최신 상태로 유지하세요. 이렇게 하면 보안 문제가 발생할 가능성이 최소화됩니다. WordPress 업데이트로 인해 사이트 고장이 발생하는 것을 두려워하는 사람들은 웹 사이트를 백업할 수 있습니다. 따라서 새 버전이 요구 사항에 따라 작동하지 않으면 언제든지 되돌릴 수 있습니다.

4. SQL 인젝션

SQL 주입은 웹 사이트에 액세스하는 가장 오래된 방법 중 하나입니다. 아시다시피 SQL은 WordPress 데이터베이스와 함께 작동하는 데 사용되는 언어이므로 이러한 유형의 공격에서 해커는 정보를 검색하기 위해 사이트에 SQL 명령을 삽입합니다. 해커는 나날이 똑똑해지고 있으며 매일 새로운 SQL 인젝션이 등장하고 있습니다. 따라서 웹 사이트 소유자는 이 문제를 제거하는 방법을 알고 있어야 합니다.

이 문제를 해결하는 방법
  • SQL 주입 취약점 검사

    WordPress 웹 사이트에서 SQL 주입 문제를 정기적으로 확인해야 합니다. 그러나 이것은 수동으로 수행하기가 매우 어려운 작업일 수 있으므로 해당 목적을 위해 몇 가지 보안 검색 도구를 사용해야 합니다. 다음은 최고의 보안 검색 도구 목록입니다.

    • 워드프레스 보안 스캔
    • 수쿠리 사이트체크
    • WP스캔
  • .htaccess 파일에 코드 추가하기

    SQL 주입을 방지하는 또 다른 방법은 .htaccess 파일에 특정 코드를 추가하는 것입니다. .htaccess는 웹 서버에서 사용되는 구성 파일이므로 해당 부분을 변경하면 WordPress 데이터베이스에 대한 외부인의 액세스를 제한할 수 있습니다.

    .htaccess 파일에 다음 코드를 추가합니다.

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]
    RewriteRule ^(.*)$ - [F,L]
    RewriteCond %{QUERY_STRING} ../ [NC,OR]
    RewriteCond %{QUERY_STRING} boot.ini [NC,OR]
    RewriteCond %{QUERY_STRING} tag= [NC,OR]
    RewriteCond %{QUERY_STRING} ftp:  [NC,OR]
    RewriteCond %{QUERY_STRING} http:  [NC,OR]
    RewriteCond %{QUERY_STRING} https:  [NC,OR]
    RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
    RewriteCond %{QUERY_STRING} base64_encode.*(.*) [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|e|"|;|?|*|=$).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*("|'|<|>||{||).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]
    RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
    RewriteRule ^(.*)$ - [F,L]
    

5. WordPress 구성 파일 보안을 잊어버림

WordPress 구성 파일(wp-config.php)은 WordPress 데이터베이스 로그인 자격 증명으로 구성됩니다. 따라서 외부인이 이 파일에 액세스할 경우 사용자의 정보를 도용하여 웹사이트에 손상을 줄 수 있습니다. 따라서 이 파일을 보호하기 위해 가능한 모든 조치를 취해야 합니다.

이 문제를 해결하는 방법

wp-config.php 파일을 보호하는 가장 간단한 방법 중 하나는 .htaccess를 수정하고 액세스를 제한하는 것입니다. 이를 위해 .htaccess 파일에 다음 스니펫을 추가하기만 하면 됩니다.

<files wp-config.php>
order allow,deny
deny from all
</files>

6. 플러그인이나 테마를 업데이트하지 않음

핵심 WordPress와 마찬가지로 WordPress 웹 사이트에서 최신 버전의 플러그인 또는 테마를 사용하는 것이 중요합니다. 오래된 버전의 플러그인이나 테마를 사용하면 사이트가 보안 위협에 취약해질 수 있습니다. WPWhiteSecurity에서 실시한 설문 조사에 따르면 전 세계 WordPress 취약점의 54%가 플러그인으로 인한 것입니다.

이 문제를 해결하는 방법

플러그인 및 테마에서 항상 업데이트를 확인하십시오. WordPress에서 사용 가능한 최신 버전을 사용하고 있는지 확인하십시오. 이 방법론을 따르면 WordPress 웹 사이트의 보안 위협 가능성을 최소화할 수 있습니다.

7. 일반 FTP 사용

모르는 사람들을 위해 FTP 계정은 FTP 클라이언트를 사용하여 웹사이트 서버에 파일을 업로드하는 데 사용됩니다. 대부분의 호스팅 공급자는 Simple FTP, SFTP 또는 SSH와 같은 다양한 유형의 프로토콜을 사용하여 FTP 연결을 지원합니다.

대부분의 WordPress 웹 사이트 소유자는 일반 FTP를 사용하는 실수를 범합니다. 이제 일반 FTP에서는 암호가 암호화되지 않은 형태로 서버에 전송됩니다. 따라서 서버를 해킹할 수 있는 사람은 누구나 WordPress 웹사이트에 쉽게 액세스할 수 있습니다.

이 문제를 해결하는 방법

FTP를 사용하는 대신 SFTP 또는 SSH 옵션을 선택할 수 있습니다. 그 목적을 위해 FTP 클라이언트를 변경할 필요가 없습니다. 웹 사이트에 연결하는 동안 프로토콜을 'SFTP-SSH'로 변경하기만 하면 됩니다. 이 프로토콜을 사용하면 보안 문제의 위험을 최소화하는 암호화된 형식으로 서버에 암호를 보낼 수 있습니다.

8. WordPress 테이블 접두사를 변경하지 않음

모두 알고 있듯이 기본적으로 데이터베이스에 생성된 모든 WordPress 테이블은 ks29so_라는 접두사로 시작합니다. 대부분의 WordPress 개발자는 사이트 성능에 영향을 미치지 않을 것이라고 생각하기 때문에 이 접두사를 변경하는 데 신경 쓰지 않습니다.

지속적으로 이 접두사는 WordPress 웹사이트를 보안 문제에 취약하게 만듭니다. 그 이유는 공격자가 WordPress 데이터베이스 테이블의 이름을 쉽게 추측할 수 있기 때문입니다. 따라서 가능한 한 빨리 이 문제를 해결해야 합니다.

이 문제를 해결하는 방법

WordPress 데이터베이스 테이블에 대한 기본 접두사를 사용하는 대신 누구나 추측할 수 없도록 본질적으로 복잡한 고유한 접두사를 정의해야 합니다. 설치 시 WordPress 데이터베이스 테이블의 접두사를 변경할 수 있습니다. 그러므로 항상 그 점을 기억하십시오. 그 후에는 접두사를 변경할 기회가 없습니다.

보안을 향상시키기 위해 WordPress 데이터베이스 접두사를 변경하는 방법은 다음과 같습니다.

9. 악성코드

Malware는 악성 소프트웨어의 약자입니다. 즉, 무단으로 웹사이트에 접근하기 위해 사용하는 코드라고 할 수 있습니다. 해킹된 웹사이트는 맬웨어가 삽입되었음을 분명히 나타냅니다. 이제 사이트에서 악성 코드를 인식하려면 최근에 변경된 파일을 살펴보십시오.

웹에는 여러 유형의 맬웨어 감염이 있을 수 있지만 WordPress의 경우 4가지 주요 맬웨어 감염은 다음과 같습니다.

  • 백도어
  • 드라이브 바이 다운로드
  • 제약 해킹
  • 악성 리디렉션
이 문제를 해결하는 방법

모든 맬웨어 문제는 최근에 수정된 파일을 검색한 다음 WordPress 웹사이트에서 해당 파일을 제거하여 쉽게 식별할 수 있습니다. 이 문제를 처리하는 다른 방법은 최신 버전의 WordPress를 설치하거나 최근 백업에서 WordPress 웹 사이트를 복원하는 것입니다. 이 두 가지 방법 모두 보안 취약점을 최소화하는 데 도움이 됩니다.

10. 잘못된 파일 권한

파일 권한은 웹 서버에서 사용하는 규칙 집합입니다. 서버가 WordPress 웹 사이트의 파일에 대한 액세스를 제어하는 ​​데 도움이 됩니다. 이제 때로는 사용자가 잘못된 파일 권한을 설정하여 공격자가 파일에 액세스하고 요구 사항에 따라 파일을 수정할 수 있어 WordPress 웹 사이트에 큰 피해를 줄 수 있습니다.

이 문제를 해결하는 방법

이 문제를 해결하는 가장 좋은 방법은 WordPress 웹 사이트에 대한 올바른 파일 권한을 설정하는 것입니다. 모든 WordPress 웹사이트에 대한 파일 권한은 다음과 같아야 합니다.

  • 모든 디렉토리에 대해 755 또는 750
  • 파일의 경우 644 또는 640
  • wp-config.php의 경우 600

이러한 권한을 설정하면 WordPress 웹사이트에 대한 액세스를 제한하여 공격자로부터 보호할 수 있습니다.

마지막 생각들

보안은 수년에 걸쳐 웹사이트 소유자의 주요 관심사였습니다. 이 분야에서 많은 연구가 수행된 후에도 100% 안전하다는 주장을 펼친 사람은 아무도 없었습니다. 이것은 이 문제를 다루는 동안 처리해야 하는 복잡성의 수준을 보여줍니다.

이를 고려하여 상위 10개 WordPress 보안 취약성과 이를 수정하는 방법을 제공하여 가까운 시일 내에 확실히 도움이 될 것입니다.

이 주제에 대해 어떻게 생각하십니까? 댓글 섹션에서 언급하세요. 고맙습니다!