WordPress에 대한 보호 팁. 사이트를 보호하기 위한 12가지 팁

게시 됨: 2019-07-11

WordPress는 세계에서 가장 인기 있는 CMS 중 하나입니다. 전체 인터넷 사이트의 18.9% 이상이 사용하고 있으며 설치 건수는 7,650만 건을 넘었습니다. 불행히도 그러한 인기에는 단점이 있습니다. Sucuri(웹사이트 보안 및 보호)의 보고서에 따르면 WordPress는 전 세계적으로 가장 해킹 가능한 CMS입니다. 그러나 이 문제의 모범 사례를 따르고 이 가이드의 몇 가지 기술을 구현하면 몇 가지 간단한 단계를 통해 WordPress 보호를 쉽게 강화할 수 있음을 알게 될 것입니다.

필요한 것

시작하기 전에 다음을 확인하세요.

  • WordPress 제어판 액세스;
  • 호스팅 계정 액세스(선택 사항).

콘텐츠

1단계. 워드프레스의 현재 버전 유지하기
2단계. 비표준 로그인 자격 증명 사용
3단계. 2단계 인증 활성화
4단계. PHP 오류 보고서 비활성화
5단계. WordPress에 null 템플릿을 사용하지 마십시오.
6단계. WordPress에서 맬웨어 검사
7단계. 웹사이트를 보다 안전한 호스팅으로 이전합니다.
8단계. 가능한 한 자주 데이터를 백업합니다.
9단계. 파일 편집 옵션 비활성화
10단계. 사용하지 않는 템플릿 및 플러그인 삭제
11단계. .htaccess를 사용하여 WordPress 보안 향상
12단계. SQL 주입을 방지하기 위해 표준 WordPress 데이터베이스 접두사 변경 결론

1단계. 워드프레스 최신 버전 유지하기

이것은 WordPress 보안을 향상시키는 첫 번째이자 가장 중요한 단계가 될 것입니다. 맬웨어가 없는 깨끗한 웹사이트가 필요한 경우 WordPress 버전이 최신 버전인지 확인해야 합니다. 이 조언은 간단해 보일 수 있지만 모든 WordPress 설치의 22%만이 최신 버전입니다.

WordPress는 버전 3.7에서 자동 업데이트 기능을 구현했지만 소규모 보안 업데이트에서만 작동합니다. 큰 키 업데이트는 수동으로 설치해야 합니다.

워드프레스 업데이트 방법을 모른다면 이것을 확인하세요.

2단계. 비표준 로그인 자격 증명 사용

WordPress에서 관리자 이름으로 "admin"을 사용합니까? 대답이 "예"이면 WordPress 보안을 심각하게 줄이고 제어판을 해킹하기가 더 쉬워집니다. 관리자의 사용자 이름을 다른 것으로 변경하거나(변경 방법을 잘 모르는 경우 이 자습서 참조) 다른 데이터로 새 관리자 계정을 만드는 것이 좋습니다.

두 번째 옵션을 선호하는 경우 다음 단계를 따르세요.

  • WordPress 제어판에 로그인하십시오.
  • "사용자"섹션을 찾아 "새로 추가"버튼을 클릭하십시오.
  • 새 사용자를 만들고 관리자 권한을 할당하십시오.
  • 새 데이터로 WordPress에 로그인하십시오.
  • 사용자 섹션으로 돌아가 기본 관리자 계정을 삭제합니다.

좋은 비밀번호는 WordPress 보안에서 중요한 역할을 합니다. 숫자, 대문자 및 소문자, 특수 기호로 구성된 암호를 해독하는 것은 훨씬 더 어렵습니다. LastPass 및 1Password와 같은 도구를 사용하면 복잡한 암호를 만들고 관리할 수 있습니다. 또한 안전하지 않은 네트워크(예: 커피숍, 공공 도서관 등)에 연결할 때 WordPress 제어판에 로그인해야 하는 경우 로그인 정보를 보호하는 보안 VPN을 사용하는 것을 잊지 마십시오.

3단계. 2단계 인증 활성화

2단계 인증은 인증 페이지에 보안 계층을 추가합니다. 사용자 이름이 확인되면 성공적으로 인증하기 위해 완료해야 하는 또 다른 단계가 추가됩니다. 이메일, 온라인 은행 및 기밀 정보가 포함된 기타 계정에 액세스하는 데 이미 이 계정을 사용하고 있을 가능성이 큽니다. WordPress에서도 사용하지 않는 이유는 무엇입니까?

복잡해 보일 수 있지만 WordPress에서 2단계 인증을 활성화하는 것은 매우 쉽습니다. 2단계 인증용 앱을 설치하고 WordPress용으로 구성하기만 하면 됩니다. 여기에서 WordPress에서 2단계 인증을 활성화하는 방법에 대한 자세한 정보를 찾을 수 있습니다.

4단계. PHP 오류 보고서 비활성화

PHP 오류 보고서는 웹 사이트를 개발 중이고 모든 것이 제대로 작동하는지 확인하려는 경우 매우 유용할 수 있습니다. 그러나 모든 사람에게 오류를 표시하는 것은 WordPress 보안의 심각한 누락입니다.

가능한 한 빨리 이 문제를 해결해야 합니다. 걱정하지 마십시오. WordPress에서 PHP 오류 보고서를 비활성화하기 위해 프로그래머가 될 필요는 없습니다. 대부분의 호스팅 서비스 제공업체는 제어판에서 이 옵션을 제공합니다. 그렇지 않은 경우 wp-config.php 파일에 다음 행을 추가하기만 하면 됩니다. FTP 클라이언트 또는 파일 관리자를 사용하여 wp-config.php 파일을 편집할 수 있습니다.

error_reporting(0);
@ini_set('디스플레이 오류', 0);

5단계. WordPress에 nulled 템플릿을 사용하지 마십시오.

"유일한 무료 치즈는 쥐덫에 있다"는 것을 기억하십시오. nulled 템플릿 및 플러그인에도 동일하게 적용됩니다.

인터넷에는 수천 개의 nulled 플러그인과 템플릿이 있습니다. 사용자는 다른 파일 공유 또는 토렌트 파일을 사용하여 무료로 다운로드할 수 있습니다. 그들은 대부분이 악성코드에 감염되었거나 검은색 검색 엔진 최적화 방법에 대한 링크가 있다는 사실을 모릅니다.

nulled 플러그인 및 템플릿 사용을 중지하세요. 이것은 비윤리적일 뿐만 아니라 WordPress 보안에도 해를 끼칩니다. 결국에는 웹사이트를 정리하기 위해 개발자에게 더 많은 비용을 지불하게 됩니다.

6단계. WordPress에서 맬웨어 검사

해커는 템플릿이나 플러그인의 구멍을 사용하여 WordPress를 감염시키는 경우가 많습니다. 따라서 블로그를 더 자주 확인하는 것이 중요합니다. 이를 위해 잘 작성된 플러그인이 많이 있습니다. WordFence는 군중에서 두드러집니다. 다른 여러 설정과 함께 사용 가이드와 자동 테스트 기능을 제공합니다. 몇 번의 클릭만으로 수정/감염된 파일을 복구할 수도 있습니다. 무료로 이용 가능합니다. 이러한 사실은 지금 설치하기에 충분합니다.

WordPress 보안을 강화하는 기타 인기 있는 플러그인 :

  • 방탄 보안 . WordFence와 달리 BulletProof는 파일을 검사하지 않지만 방화벽, 데이터베이스 보호 등을 제공합니다. 독특한 기능은 몇 번의 클릭으로 플러그인을 구성하고 설치할 수 있다는 것입니다.
  • 수큐리 시큐리티 . 이 플러그인은 DDOS 공격으로부터 사용자를 보호하고, 블랙리스트를 갖고, 웹사이트에서 맬웨어를 검사하고, 방화벽을 제어합니다. 발견하면 이메일로 알려드립니다. Google, Norton, McAfee – 이 플러그인에는 이러한 프로그램의 모든 블랙리스트가 포함됩니다.

7단계. 보다 안전한 호스팅으로 웹사이트 이전

이 조언이 이상하게 보일 수 있지만 통계에 따르면 WordPress 웹사이트의 40% 이상이 호스팅 계정의 보안 허점으로 인해 해킹당했습니다. 이러한 통계는 WordPress를 보다 안전한 호스팅으로 이동하도록 권장합니다. 새 호스팅을 선택할 때 염두에 두어야 할 몇 가지 주요 사실:

  • 공유 호스팅인 경우 귀하의 계정이 다른 사용자와 격리되어 있고 서버의 다른 웹사이트에서 감염될 위험이 없는지 확인하십시오.
  • 호스팅에는 자동 백업 기능이 있습니다.
  • 서버에는 타사 방화벽과 검색 도구가 있습니다.

8단계. 가능한 한 자주 데이터를 백업하십시오.

소유자가 WordPress의 보안을 개선하기 위해 수천 달러를 지출한다는 사실에도 불구하고 가장 큰 웹 사이트조차도 매일 해킹됩니다.

이 분야의 모범 사례를 따르고 이 기사의 팁을 적용했더라도 웹사이트를 정기적으로 백업해야 합니다.

백업을 만드는 방법에는 여러 가지가 있습니다. 예를 들어 사이트 파일을 수동으로 다운로드하고 데이터베이스를 내보내거나 호스팅 회사에서 제공하는 도구를 사용할 수 있습니다. 또 다른 방법은 WordPress 플러그인을 사용하는 것입니다. 그 중 가장 인기있는 것은 다음과 같습니다.

  • 볼트프레스;
  • 백업워드프레스;
  • 백업가드.

Dropbox에서 WordPress 백업을 만들고 저장하는 프로세스를 자동화할 수도 있습니다.

9단계. 파일 편집 옵션 비활성화

아시다시피 WordPress에는 PHP 파일을 편집할 수 있는 내장 편집기가 있습니다. 이 기능은 해로울 수 있는 만큼 유용합니다. 해커가 제어판에 액세스하면 가장 먼저 파일 편집기를 보게 됩니다. 일부 WordPress 사용자는 이 기능을 완전히 비활성화하는 것을 선호합니다. 다음 코드를 추가하여 wp-config.php 파일을 편집하여 비활성화할 수 있습니다.

정의( 'DISALLOW_FILE_EDIT', true );

이것이 WordPress에서 이 기능을 비활성화하는 데 필요한 전부입니다.

중요한. 이 기능을 다시 활성화하려면 호스팅에 FTP 클라이언트 또는 파일 관리자를 사용하고 wp-config.php 파일에서 이 코드를 제거하십시오.

10단계. 사용하지 않는 템플릿 및 플러그인 삭제

WordPress에서 웹 사이트를 정리하고 사용하지 않는 템플릿과 플러그인을 모두 제거합니다. 해커는 종종 비활성화되고 오래된 템플릿과 플러그인(공식 WordPress 플러그인 포함)을 사용하여 제어판에 액세스하거나 악성 콘텐츠를 서버에 다운로드합니다. 오래 전에 사용을 중단한(그리고 업데이트하는 것을 잊은) 플러그인과 템플릿을 제거하면 위험을 줄이고 WordPress 웹사이트를 더 안전하게 만들 수 있습니다.

11단계. .htaccess를 사용하여 WordPress 보안 개선

.htaccess는 워드프레스 링크의 올바른 작동에 필요한 파일입니다. .htaccess 파일에 올바른 항목이 없으면 많은 404가 발생합니다.

.htaccess를 사용하여 WordPress의 보호 기능을 향상시킬 수 있다는 사실을 아는 사용자는 많지 않습니다. 예를 들어 특정 폴더에서 액세스를 차단하거나 PHP 실행을 비활성화할 수 있습니다.

중요한. 파일을 변경하기 전에 이전 .htaccess 파일을 백업하십시오. 이렇게 하려면 FTP 클라이언트 또는 파일 관리자를 사용할 수 있습니다.

WordPress의 관리 부분에 대한 액세스 비활성화

아래 코드를 사용하면 특정 IP에서만 WordPress의 관리 부분에 액세스할 수 있습니다.

인증 사용자 파일 /dev/null
인증 그룹 파일 /dev/null
AuthName "WordPress 관리자 액세스 제어"
인증 유형 기본

주문 거부, 허용.
모두를 부정하다
xx.xx.xx.xx.xxx에서 허용
xx.xx.xx.xx.xxx에서 허용

"xx.xx.xx.xx.xxx"는 IP 주소입니다. 이 웹사이트를 사용하여 현재 IP 주소를 확인할 수 있습니다. WordPress에서 사이트를 관리하기 위해 둘 이상의 연결을 사용하는 경우 다른 IP 주소를 작성했는지 확인하십시오(필요한 만큼 주소 추가). 유동 IP 주소가 있는 경우 이 코드를 사용하지 않는 것이 좋습니다.

특정 폴더에서 PHP 실행 비활성화

해커는 백도어 스크립트를 WordPress 다운로드 폴더에 업로드하는 것을 좋아합니다. 기본적으로 이 폴더는 미디어 파일을 저장하는 데만 사용됩니다. 따라서 PHP 파일을 포함하지 않아야 합니다. 다음 규칙을 사용하여 /wp-content/uploads/에 새 .htaccess 파일을 생성하여 PHP 실행을 쉽게 비활성화할 수 있습니다.

모두를 부정하다

wp-config.php 파일 보호

wp-config.php 파일에는 WordPress 구성 커널 및 MySQL 데이터베이스 세부 정보가 포함되어 있습니다. 따라서 워드프레스에서 가장 중요한 파일입니다. 따라서 WordPress 해커의 주요 표적이 되는 경우가 많습니다. 그러나 다음 .htaccess 규칙을 사용하여 쉽게 보호할 수 있습니다.

허용하다, 거부하다.
모두를 부정하다

12단계. SQL 주입을 방지하기 위해 표준 WordPress 데이터베이스 접두사 변경

WordPress 데이터베이스는 웹사이트 운영에 필요한 모든 주요 정보를 포함하고 저장합니다. 결과적으로 SQL 코드 구현을 위해 자동화된 코드를 수행하는 해커와 스패머의 또 다른 표적이 됩니다. WordPress를 설치하는 동안 많은 사람들이 표준 wp_ 데이터베이스 접두사를 변경하는 데 신경을 쓰지 않습니다. WordFence에 따르면 WordPress 해킹 5건 중 1건은 SQL 코드 구현과 관련이 있습니다. wp_는 표준 값 중 하나이므로 해커가 먼저 wp_를 시작합니다. 이 단계에서는 이러한 공격으로부터 WordPress의 웹 사이트를 보호하는 것을 간략하게 고려할 것입니다.

기존 WordPress 사이트의 접두사 테이블 변경

중요한. 안전 제일! 시작하기 전에 MySQL 데이터베이스 백업이 있는지 확인하십시오.

1부. wp-config.php에서 접두사 변경

FTP 클라이언트 또는 파일 관리자를 사용하여 wp-config.php 파일을 찾고 $table_prefix가 있는 라인을 찾으십시오.

숫자, 문자 또는 밑줄을 추가할 수 있습니다. 그런 다음 변경 사항을 저장하고 다음 단계로 넘어갑니다. 이 가이드에서는 wp_1secure1_을 새 테이블 접두사로 사용합니다.

wp-config.php 파일에 있는 동안 변경할 데이터베이스 이름을 찾으십시오. define('DB_NAME' 섹션을 살펴보세요.

두 번째 부분. 모든 데이터베이스 테이블 업데이트

이제 데이터베이스의 모든 레코드를 업데이트해야 합니다. 이것은 phpMyAdmin을 사용하여 수행할 수 있습니다.

첫 번째 부분에서 정의한 데이터베이스를 찾아 로그인합니다.

기본적으로 WordPress 설치에는 12개의 테이블이 있으며 각 테이블을 업데이트해야 합니다. 그러나 이것은 phpMyAdmin에서 SQL 파티션을 사용하여 더 빠르게 수행할 수 있습니다.

각 테이블을 수동으로 변경하는 것은 엄청난 시간이 소요되므로 SQL 쿼리를 사용하여 프로세스 속도를 높이십시오. 다음 구문을 사용하면 데이터베이스의 모든 테이블을 업데이트할 수 있습니다.

RENAME 테이블 `wp_commentmeta` TO `wp_1secure1_commentmeta`;
RENAME 테이블 `wp_comments` TO `wp_1secure1_comments`;
RENAME 테이블 `wp_links` TO `wp_1secure1_links`;
RENAME 테이블 `wp_options` TO `wp_1secure1_options`;
RENAME 테이블 `wp_postmeta` TO `wp_1secure1_postmeta`;
RENAME 테이블 `wp_posts` TO `wp_1secure1_posts`;
RENAME 테이블 `wp_terms` TO `wp_1secure1_terms`;
RENAME 테이블 `wp_termmeta` TO `wp_1secure1_termmeta`;
RENAME 테이블 `wp_term_relationships` TO `wp_1secure1_term_relationships`;
RENAME 테이블 `wp_term_taxonomy` TO `wp_1secure1_term_taxonomy`;
RENAME 테이블 `wp_usermeta` TO `wp_1secure1_usermeta`;
RENAME 테이블 `wp_users` TO `wp_1secure1_users`;

일부 WordPress 템플릿 또는 플러그인은 데이터베이스에 추가 테이블을 추가할 수 있습니다. MySQL 데이터베이스에 12개 이상의 테이블이 있는 경우 나머지 테이블을 수동으로 SQL 쿼리에 추가하고 실행합니다.

3부. 옵션 및 사용자 정의 메타데이터 테이블 확인

설치된 플러그인 수에 따라 데이터베이스의 일부 값을 수동으로 업데이트해야 합니다. 옵션 및 메타데이터 테이블에 대해 별도의 SQL 쿼리를 실행하여 이를 수행할 수 있습니다.

옵션 테이블의 경우 다음을 사용하십시오.

SELECT * FROM `wp_1secure1_options` WHERE `option_name` LIKE `%wp_%`

메타데이터 테이블의 경우:

SELECT * FROM `wp_1secure1_usermeta` WHERE `meta_key` LIKE `%wp_%`

쿼리 결과를 받으면 wp_의 모든 값을 새로 구성된 접두사로 업데이트하기만 하면 됩니다. 사용자의 메타데이터 테이블에서는 meta_key 필드를 편집해야 하고 옵션 테이블에서는 option_name 값을 변경해야 합니다.

새로운 WordPress 설치 보안

새로운 WordPress 웹사이트를 설치할 계획이라면 이 작업을 다시 할 필요가 없습니다. 설치 과정에서 WordPress 테이블의 접두사를 쉽게 변경할 수 있습니다.

축하합니다! 데이터베이스 보안을 성공적으로 개선했습니다.

결론

WordPress는 세계에서 가장 해킹 가능한 CMS이지만 보호 기능을 개선하는 것은 그리 어렵지 않습니다. 이 가이드에서는 WordPress를 안전하게 유지하기 위해 따라야 할 12가지 팁을 제공했습니다.

저자 약력 : Roy는 기술 매니아이자 사랑스러운 쌍둥이 아빠, 맞춤형 소프트웨어 회사의 프로그램, TheHomeDweller.com의 편집장, 그리고 정원사입니다.