WordPress 블로그 해킹을 방지하는 22가지 팁
게시 됨: 2011-02-22WordPress 웹 사이트가 해킹되는 것을 피하는 방법
지금 웹사이트나 블로그 내에서 보안 조치를 사용하는지 여부에 관계없이 사실은…
Sensible Blogger는 웹사이트 보안을 심각하게 생각하고 WordPress 블로그가 해킹당하지 않도록 최선을 다합니다.
온라인 보안은 매우 현실적인 문제입니다.
많은 사람들이 플러그인 업데이트를 잊고 최신 버전의 WordPress를 사용하지 않습니다. 블로그가 해킹당하는 것을 방지하기 위한 조치를 취하지 않았다면 이렇게 하지 않으면 재앙이 될 수 있습니다.
블로그나 웹 사이트의 콘텐츠를 잃으면 비즈니스, 평판 또는 확장하려고 했던 온라인 인지도가 손상될 수 있습니다. 수백 개의 게시물, 댓글, 제휴 링크가 있는 블로그가 바로 다음 날 파괴되었다는 사실을 알게 되었다고 상상해 보십시오! 좋은 느낌이 아닙니다. 그러나 웹사이트의 보안을 훨씬 더 강력하게 만드는 방법이 있습니다.
플러그인을 추가하고 블로그 프레임워크를 업데이트할 수 있습니다. 기본적으로 블로그나 웹사이트를 안전하게 보호하는 방법에는 여러 가지가 있습니다. 그래서 여러분을 돕기 위해 이 짧지만 유익한 기사를 작성했습니다. 나는 그것이 당신 중 일부를 돕기를 바랍니다.
이 포스트는 물론 제가 작성했지만, And Break! 그의 블로그에서 내 훌륭한 팁을 확인하십시오.
WordPress 사이트가 해킹당하지 않도록 하는 방법
블로그 백업
블로그를 변경하기 전에 블로그를 백업해야 합니다. 대부분의 무료 플러그인의 문제는 모든 데이터를 백업하지 않는다는 것입니다. 예를 들어 WordPress 블로그가 삭제되고 무료 플러그인에서 백업을 복원하는 경우 이러한 플러그인으로 백업되지 않기 때문에 이미지와 같은 많은 데이터가 여전히 손실됩니다. 그렇기 때문에 전체 WordPress 블로그를 백업하고 나중에 쉽게 복원할 수 있는 Backup Buddy를 사용하는 것이 좋습니다.
블로그가 해킹당할 수 있는지 여부에 대한 우려가 있는 경우 Backup Buddy를 살펴보십시오.
강력한 암호 사용
강력한 암호는 관리자와 같은 높은 권한을 가진 사용자에게 필수적입니다. 그것들이 없으면 귀하의 블로그는 무차별 대입 공격에 취약할 것입니다. 본질적으로 이들은 공격자가 많은 암호(사용자 조합)를 거쳐 암호를 추측하려고 시도하는 공격입니다. 보안 암호를 사용하면 무차별 대입 공격이 성공할 가능성이 극히 낮아집니다.
다음은 보안 암호에 포함되어야 하는 몇 가지 팁입니다.
- 최소 1-2개의 숫자를 사용하십시오. 대문자와 소문자를 사용하십시오.
- !@#…과 같은 특수 문자를 사용하십시오.
또한 생년월일이나 취미와 같은 비밀번호를 사용해서는 안 됩니다. 이러한 종류의 암호는 해커가 개인 정보를 쉽게 찾을 수 있으므로 매우 안전하지 않습니다.
수행해야 하는 또 다른 중요한 단계는 다양한 암호를 사용하는 것입니다. 하나의 비밀번호만 있으면 모든 것에 액세스할 수 있지만 누군가 이 비밀번호를 알고 있다면 어떤 일이 벌어질지 상상해 보세요. 그는 기본적으로 모든 계정에 액세스할 수 있습니다.
이러한 이유로 많은 다른 암호를 사용합니다.
패치 및 업데이트 유지
이것은 블로그 보안을 위한 또 다른 중요한 단계입니다. 보안 허점을 수정하고 소프트웨어 기능을 추가하기 위해 패치와 업데이트가 생성됩니다. 설치하지 않을 이유가 없습니다.
기본적으로 WordPress의 변경 사항과 일반적인 취약점에 대한 정보도 유지해야 합니다. 따라서 다음 두 가지 피드를 따르라고 조언합니다.
- 워드프레스 개발
- 블로그보안.net
첫 번째는 WordPress의 새로운 릴리스와 최신 업데이트가 게시되는 WordPress 개발 피드입니다. 다른 하나는 BlogSecurity.net의 피드입니다. 이 사람들은 종종 WordPress 플러그인 또는 WordPress 자체에 존재하는 취약점을 게시합니다.
FTP 대신 SSH 사용
FTP는 일반적으로 사람들이 생각하는 것만큼 안전하지 않습니다. FTP 자격 증명은 일반적으로 암호화되지 않고 캡처하기 쉽습니다.
FTP에 대한 매우 안전한 대안은 SSH입니다. SSH는 파일을 포함하여 SSH를 통해 전송되는 모든 데이터를 암호화하는 간단한 알고리즘을 사용합니다. 이 이야기를 읽고 FTP를 사용하여 업로드하는 것에 대해 마음이 바뀔 수도 있습니다!
지원되는 WordPress 테마 사용
대부분의 사람들은 WordPress 테마 자체가 보안 위험을 제기하지 않는다고 생각하지만 일부는 그렇습니다. 모든 웹 개발자가 보안 코드를 작성하는 방법을 아는 것은 아니기 때문에 테마는 보안 위험을 초래할 수 있습니다.
이러한 이유로 수시로 지원되고 업데이트되는 테마를 고수하는 것이 좋습니다. 지원되는 WordPress 테마는 일반적으로 약간의 돈으로 사용할 수 있지만 미안한 것보다 안전한 것이 좋습니다. 이러한 유료 테마를 프리미엄 테마라고 합니다. 이러한 테마는 Woo Themes 또는 Thesis와 같은 웹사이트에서 제공됩니다.
전문 템플릿의 또 다른 장점은 문제가 발생했을 때 의지할 수 있는 곳이 있다는 것입니다.
다운로드 후 바이러스 검사 플러그인
오늘날 플러그인을 매우 쉽게 다운로드하여 블로그에서 몇 초 안에 설치할 수 있습니다. 그러나 어떤 종류의 확장 프로그램을 다운로드할지 주의해야 합니다. 플러그인에는 악성 코드가 포함될 수 있습니다. 이 때문에 맬웨어를 다운로드한 직후에 맬웨어를 검사하는 것이 좋습니다.
특히 WordPress 플러그인 디렉토리가 아닌 다른 위치에서 다운로드한 플러그인을 사용하여 수행해야 합니다.
이 작업에는 바이러스 백신 소프트웨어를 사용하는 것이 가장 좋습니다. 최신 운영 체제는 파일을 다운로드한 후 자동으로 바이러스를 검사합니다. 이전 운영 체제를 사용하는 경우 일주일에 한 번 또는 새 파일을 다운로드한 직후에 다운로드 디렉토리를 스캔하는 것이 좋습니다.
데이터베이스 테이블 접두사 변경
데이터베이스를 보다 안전하게 만들려면 데이터베이스 테이블 접두사를 변경해야 합니다. 기본 접두사는 wp_ 이며 5rt30k_ 와 같이 더 복잡하고 추측하기 어려운 다른 것으로 변경해야 합니다.
WP Security Scan이 이 작업을 수행하므로 유용합니다. 블로그에 잠재적인 보안 위험이 표시되므로 WP 보안 플러그인을 설치해야 합니다.
Wp-Content 디렉토리에 대한 액세스 제한
Wp-content 는 중요한 Wordpress 디렉토리입니다. 사용자는 이 디렉토리 내의 특정 파일 유형에만 액세스할 수 있어야 합니다. 이러한 파일 유형에는 사진( .jpeg , .gif , .png ), Javascript( .js ), CSS( .css ) 및 XML( .xml )이 포함됩니다.
따라서 다른 모든 유형의 데이터에 대한 액세스를 금지하는 것이 좋습니다. 아래 코드는 그림, 자바스크립트, CSS 및 XML 파일에 대한 액세스를 허용하지만 다른 데이터에 대한 액세스는 허용하지 않습니다. 아래 코드는 wp-content 폴더 내의 .htaccess 파일에 위치해야 합니다.
주문 거부, 허용
모두 거부
<파일 ~ “.(xml|css|jpe?g|png|gif|js)$”>
모두에서 허용
</파일>
그게 다야.
안전한 wp-config.php
Wp-config.php 는 블로그 보안에 필수적인 모든 액세스 정보와 키를 포함하고 있기 때문에 매우 중요한 파일입니다. 다음 행을 WordPress 루트 디렉토리( wp-config 파일이 있는 위치)의 .htaccess 파일에 추가하여 파일을 보호할 수 있습니다.
# wp-config.php 보호
<파일 wp-config.php>
주문 거부, 허용
모두 거부
</파일>
이 코드는 wp-config.php 파일에 대한 모든 사람의 액세스를 거부합니다.
디렉토리 브라우징 없음
WordPress 보안과 관련된 또 다른 중요한 변경 사항은 사람들이 웹사이트의 디렉토리 구조를 탐색하는 것을 금지하는 것입니다. 이것이 어떻게 생겼는지 보려면 Google 에 "index of" 를 입력하기만 하면 Google이 디렉토리 탐색을 허용하는 모든 웹사이트를 나열합니다.
이 동작을 중지하려면 WordPress의 루트 디렉토리에 있는 .htaccess 파일에 아래의 코드 줄을 추가하기만 하면 됩니다.
옵션 전체 - 인덱스
이렇게 하면 동작이 완전히 중지됩니다.
검색 엔진이 관리 섹션을 인덱싱하지 못하도록 방지
검색 엔진 크롤러는 그렇게 하지 말라고 지시하는 한 거의 모든 콘텐츠를 인덱싱합니다. 검색 엔진에서 인덱싱되는 관리 섹션은 주요 보안 위협이 될 수 있습니다.
따라서 크롤러를 모든 WordPress 디렉토리에서 멀리 유지하는 것이 좋습니다. 가장 쉬운 방법은 루트 디렉토리에 robots.txt 파일을 만드는 것입니다. 그런 다음 파일에 다음 코드를 배치합니다.

허용하지 않음: /wp-*
플러그인 디렉토리 보호
사용하는 플러그인은 악의적인 사용자에게 웹사이트에 대해 많은 정보를 줄 수 있으므로 숨기는 것이 좋습니다.
플러그인을 쉽게 숨길 수 있습니다. 우선, 텍스트 편집기를 열고 index.html 이라는 빈 파일을 만듭니다. 그런 다음 이 파일을 wp-content/plugins/ 디렉토리에 업로드하십시오.
기본 관리자 계정 삭제
관리자 계정을 삭제하면 악의적인 사용자가 귀하의 사용자 이름을 쉽게 알 수 없습니다. 모든 WordPress 설치에는 관리자 계정이 제공되므로 해커는 사용자 이름을 이미 알고 있기 때문에 더 쉽게 계정에 침입할 수 있습니다.
새 관리자 계정이 없으면 관리자 계정을 바로 삭제할 수 없으므로 다음 단계를 따르세요.
- 새 관리자 계정 만들기(추측하기 어려운 사용자 이름으로)
- 로그 아웃
- 새 관리자 계정과 암호를 사용하여 로그인
- 이전 계정 삭제
사용자의 기본 액세스 권한 변경
기본 액세스 권한은 매우 안전하지만 안전한 편에 서서 블로그의 모든 사용자가 가지고 있는 권한을 더 많이 제어하려면 이것이 필수적입니다.
설정하는 방법은 매우 간단합니다. 다음 작업만 하면 됩니다.
- 역할 관리자 플러그인 다운로드
- WordPress 블로그에 업로드
- 활성화
그런 다음 블로그의 사용자 섹션으로 이동합니다. 여기에서 필요에 맞게 역할 관리자 플러그인을 설정할 수 있습니다.
비활성 사용자 계정 삭제
비활성 사용자 계정은 성가시고 보안 위험도 있습니다. 어떤 사람들은 블로그에 가입할 때 약한 비밀번호를 선택합니다. 계정이 비활성화되어 있지만 여전히 블로그에 있으면 악의적인 사용자가 이 계정을 사용하여 블로그에 액세스할 수 있습니다.
따라서 가장 좋은 방법은 WordPress에서 비활성 사용자 계정을 삭제하는 것입니다(아무것도 손상되지 않도록 해야 함). 그렇게 하려면 WordPress 대시보드로 이동하여 사용자 를 클릭합니다. 그러면 모든 사용자가 나열되는 페이지로 이동합니다.
그런 다음 비활성 상태임을 알고 있는 항목을 삭제합니다.
wp-config.php에 WordPress 인증 키 추가
WordPress 키를 추가하는 것은 또 다른 중요한 보안 조치입니다. 이러한 키는 임의적이어야 하며 WordPress 쿠키의 솔트로 작동하여 사용자 데이터의 더 나은 암호화를 보장합니다.
Wordpress 키 생성기를 사용하여 이러한 키를 생성하고 wp-config.php 파일에서 아래 줄을 생성된 것으로 바꾸십시오.
define('AUTH_KEY', '여기에 고유한 문구를 입력하세요');
define('SECURE_AUTH_KEY', '여기에 고유한 문구를 입력하세요');
define('LOGGED_IN_KEY', '여기에 고유한 문구를 입력하세요');
define('NOCE_KEY', '여기에 고유한 문구를 입력하세요');
그것이 실제로 당신이해야 할 모든 것입니다.
WordPress 블로그 해킹 방지 – WordPress 방화벽 설치
실제로 악의적인 해커로부터 블로그를 보호하는 WordPress 방화벽 2라는 플러그인이 있습니다. 그것은 누군가가 귀하의 블로그를 해킹하려고 할 때마다 경고합니다. 물론 해커의 시도도 차단합니다.
이 플러그인의 문제는 제 기능을 너무 잘 수행한다는 것입니다. 즉, 일반적으로 블로그를 변경하지 못하도록 차단합니다. WordPress 테마 파일을 편집한 다음 저장을 클릭하면 방화벽 플러그인이 파일을 차단합니다. 이것은 Smush.it 플러그인을 수동으로 사용할 때도 발생했습니다.
이것은 매우 성가시지만 적어도 플러그인이 실제로 작동한다는 것을 보여줍니다. 이러한 파일을 편집하려는 경우 할 수 있는 유일한 방법은 플러그인을 비활성화했다가 나중에 다시 활성화하는 것입니다.
Wordpress 버전 문자열 삭제
<메타 콘텐츠 = "Wordpress 2.5" />
WordPress가 테마에 자동으로 추가하는 버전 문자열은 악의적인 사용자에게 블로그 패치 여부에 대한 정보를 제공하기 때문에 중요합니다. 오래된 버전인 경우 공격자는 즉시 해당 특정 WordPress 버전에 대해 공개된 보안 허점을 찾기 시작합니다.
WordPress는 일반적으로 이 버전 문자열을 테마에 자동으로 추가합니다. 아래 코드 줄은 WordPress에 헤더에 버전 문자열을 추가하지 않도록 지시합니다. functions.php 파일에 코드를 추가하기만 하면 됩니다.
<?php remove_action('wp_head', 'wp_generator'); ?>
이제 웹사이트의 소스 코드를 살펴보십시오. 생성기 메타 태그가 여전히 거기에 있다면 header.php 에 다음과 같은 줄이 포함되어 있는지 확인해야 합니다.
<meta name=”generator” content=”WordPress <?php bloginfo('version'); ?>” />
그렇다면 계속해서 삭제하십시오.
WordPress 블로그 해킹 방지 – 대시보드에 로그인할 때 항상 HTTPS 사용
HTTPS는 HTTP의 보안 버전입니다. HTTPS를 사용할 때 데이터(예: 암호 및 사용자 이름)는 일반 텍스트로 보내지 않고 암호화됩니다. 이것은 사람들이 당신의 암호와 사용자 이름을 가로채서 올바르게 해독하기 어렵게 만듭니다.
WordPress 대시보드에 로그인할 때 HTTPS를 사용하려면 아래 코드 중 하나를 사용하여 wp-config.php 에 추가할 수 있습니다.
정의('FORCE_SSL_LOGIN', 참);
위의 코드는 WordPress가 관리 패널에 로그인할 때 SSL을 사용하도록 강제하지만 로그인할 때만 사용하도록 합니다. 대시보드를 사용하는 동안 SSL 사용을 강제하지 않습니다.
이 작업을 수동으로 수행하는 대신 WordPress HTTPS(SSL)와 같은 플러그인을 추가할 수도 있습니다.
WordPress 블로그 해킹 방지 - wp-admin 디렉토리에 대한 액세스 시도 차단
wp-admin 폴더는 블로그에서 가장 중요한 디렉토리 중 하나입니다. 이를 통해 대시보드에 액세스할 수 있습니다. 다른 사람들이 이 디렉토리에 액세스하지 못하도록 차단하는 것은 블로그 보안을 위한 필수 단계입니다.
wp-admin 디렉토리에 .htaccess 파일을 만들어 이를 수행할 수 있습니다. 아래 코드를 추가하되 IP 주소를 자신의 것으로 변경하십시오. IP 주소가 무엇인지 모르는 경우 WhatIsMyIP를 방문하십시오.
인증 사용자 파일 /dev/null
인증 그룹 파일 /dev/null
AuthName "액세스 제어"
인증 유형 기본
주문 거부, 허용
모두를 부정하다
# 화이트리스트 홈 IP 주소
64.233.169.99부터 허용
# 화이트리스트 직장 IP 주소
69.147.114.210부터 허용
199.239.136.200부터 허용
많은 사람들이 블로그에 글을 쓰는 경우, 특히 지속적으로 변경되는 경우 이 코드를 사용하는 것은 의미가 없습니다. 문제는 현재 누가 귀하의 블로그에 액세스해야 하는지에 따라 항상 IP 주소를 추가/삭제해야 한다는 것입니다.
또 다른 단점은 인터넷 공급자가 동적 IP 주소를 할당하는 경우입니다. 즉, IP 주소가 지속적으로 변경됩니다. 이 경우 .htaccess 파일에 코드를 추가하지 마십시오.
WordPress 블로그 해킹 방지 – WordPress 로그인 시도 실패 횟수 제한
실패한 시도 횟수를 제한하면 사용자가 WordPress 계정에서 무차별 대입 기술을 사용하는 것을 방지할 수 있습니다. 무차별 대입 공격은 가능한 모든 단일 암호를 시도하여 사용자 암호를 찾으려는 시도입니다.
이에 대한 대책으로 사용자가 3회 연속 비밀번호를 틀리면 자동으로 1시간 동안 차단하는 플러그인이 있습니다. 로그인 잠금은 이러한 WordPress 플러그인 중 하나입니다.
대시보드 로그인 오류 숨기기
기존 사용자 이름과 잘못된 비밀번호로 로그인하려고 하면 오류: 잘못된 비밀번호 라는 메시지가 표시되는 것을 본 적이 있습니까? 존재하지 않는 사용자 이름과 일부 비밀번호로 로그인하면 오류: 잘못된 사용자 이름 을 보고하는 다른 메시지가 표시됩니다.
이것은 악의적인 사용자가 어떤 종류의 사용자 이름이 존재하는지 알아내는 데 도움이 됩니다.
따라서 functions.php 파일에 다음 줄을 추가하는 것이 좋습니다.
add_filter('login_errors',create_function('$a', "null 반환;"));
이제 오류가 발생할 때마다 빈 줄이 나타납니다. 시도해보십시오.
권장 기사: 블로그 보안을 개선하는 10가지 방법