WordPress 보안은 개발팀에서 매우 중요하게 생각합니다. WordPress가 점점 더 까다로워지는 온라인 환경에 보조를 맞출 수 있도록 보안 패치 및 업그레이드가 자주 릴리스됩니다. 이러한 노력의 일환으로 WordPress는 취약성에 대한 책임 있는 공개 프로그램을 실행하므로 이러한 문제를 해결하지 않은 채로 두지 않습니다.
WordPress 개발팀의 노력과는 별도로 개별 사용자는 보안 위험을 최소화하기 위한 조치를 취해야합니다 (종종 "WordPress 강화"라고 함). 몇 가지 즉각적 성과로 WordPress 웹 사이트를 보호할 수 있으며 최근 게시물에서 구현하기 쉬운 단계를 다루었습니다. WordPress를 안전하게 유지하는 방법 : 기초 .
기본 단계 외에도 WordPress 웹 사이트를 더욱 안전하게 보호하기 위해 사용할 수 있는 고급 보안 기술과 WordPress 웹 사이트를 관리할 때 중요한 보안을 해야할 일과 하지 말아야 할 일도 있습니다.
들어가서 몇 가지를 살펴 보겠습니다.
SFTP – 서버에 연결
첫째, 웹 서버에 연결할 때 SFTP를 사용하여 이 작업을 수행하는지 확인하는 것이 중요합니다. FTP와 비슷하지만 암호 및 기타 데이터가 사용자와 서버 사이를 이동할 때 암호화된다는 점이 다릅니다. FileZilla는 SFTP를 포함한 여러 파일 전송 프로토콜을 지원하는 우수한 파일 전송 응용 프로그램입니다. 여기에서 FileZilla를 사용하여 Linode에 파일을 설치하고 전송하는 방법을 찾을 수 있습니다.
무차별 대입 공격 방지
무차별 대입 공격은 공격자가 웹 사이트에 대한 액세스를 시도하고 얻기 위해 여러 사용자 이름과 암호를 반복적이고 체계적으로 제출할 때 발생합니다. 무차별 대입 공격은 WordPress에만 국한되지 않는다는 점에 유의해야합니다. 모든 웹 앱은 취약합니다.
이러한 종류의 공격에 대한 첫 번째 방어는 암호가 안전한지 확인하는 것입니다. 무차별 대입 공격의 궁극적인 목적은 웹 사이트에 진입하는 것입니다. 해독하기 어려운 암호를 선택하는 것은 WordPress 보안에 대한 이전 기사에서 논의되었으므로 더 자세히 다루지 않겠습니다. 간단히 말하면, 암호가 올바른지 확인하십시오. WordPress 인스턴스 내에서 2단계 인증을 활성화하는 것도 좋습니다.
다음으로 플러그인을 사용하여 사이트에 대한 순차적 로그인 시도 횟수를 제한하십시오. 인기있는 플러그인은 Limit Login Attempts Reloaded이며 다운로드 횟수가 백만 회 이상입니다. XMLRPC, WooCommerce 및 사용자 지정 로그인 페이지는 물론 일반 로그인을 통해 가능한 로그인 시도 횟수를 제한합니다.
또 다른 옵션은 wp-admin 로그인 위치를 변경하는 것입니다. 기본적으로 모든 WordPress 웹 사이트에는/wp-admin에 로그인 페이지가 있습니다 (예: www.examplesite.com/ wp-admin.) 무차별 대입 공격을 수행하는 봇은 종종 즉시 이 페이지를 표적으로 삼습니다. WPS Hide Login을 사용하여 도움을 받으십시오.
항상 그렇듯이 새롭고 테스트되지 않은 플러그인을 설치하기 전에 항상 사이트를 백업할 가치가 있습니다. 대부분의 인기 있는 플러그인이 웹 사이트에 해를 끼치지는 않지만 항상 비호환성 가능성이 있습니다. 백업은 잘못된 플러그인으로 인한 손상을 빠르고 쉽게 되돌릴 수 있으므로 안심할 수 있습니다.
WordPress Admin HTTP 인증
기본 HTTP 인증을 추가하여 WP 관리자를 추가로 잠글 수 있습니다. 이 프로세스는 사용자가 WP 로그인 페이지에 도달하기 전에 사용자 이름과 비밀번호를 입력해야 하며, 이는 자신의 트랙에서 무차별 대입 봇을 막는 데 도움이 될 수 있습니다.
이렇게 하려면 .htpasswd 파일을 만들어야합니다. 이를 위해 Hosting Canada의 훌륭한 무료 리소스를 사용해보십시오. 암호와 함께 사용할 사용자 이름을 입력하고 드롭 다운 상자에서 암호화 방법을 선택한 다음 '암호 생성'을 클릭해야합니다. 긴 텍스트 문자열이 생성됩니다. 이것을 복사하여 새 텍스트 파일에 붙여넣으십시오. 이 파일을 단순히 '.htpasswd'로 저장하십시오.
다음으로 서버에 로그인하고 WordPress wp-admin 폴더로 이동합니다. 이것을 열고 wp-admin에서 'htpasswd'라는 새 폴더를 만듭니다. 그런 다음 이전에 만든 .htpasswd 파일을 이 폴더에 업로드합니다. 'BINARY'모드가 아닌 'ASCII'모드만 사용하여 파일을 전송해야 합니다.
마지막 단계는 다음을 포함하는 새 파일을 만드는 것입니다.
AuthName "Admins Only"
AuthUserFile /home/public_html/wp-admin/htpasswd/.htpasswd
AuthType basic
Require user yourusername
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
.htpasswd 파일에 사용한 사용자 이름으로 사용자 이름뿐만 아니라 .htpasswd 파일의 전체 디렉토리 URL로 AuthUserFile 위치를 업데이트 해야 합니다. 이 파일을 .htaccess로 저장하고 이 .htaccess 파일을 서버의 wp-admin 폴더에 업로드하면됩니다. 다음에 www.examplesite.com/wp-admin에서 사이트에 로그인하면 WordPress 관리자 로그인 화면이 표시되기 전에 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.
유용한 팁 : .htpasswd 파일의 전체 디렉토리 URL을 모르는 경우 간단한 PHP 스크립트를 사용하는 것이 좋습니다.
<?php
echo "Absolute path: ", getcwd();
?>
testpath.php라는 스크립트가 포함된 파일을 만들고 htpasswd 파일에 업로드 한 다음 이 URL(예: www.example.com/wp-admin/htpasswd/testpath.php)을 방문하여 .passwd 파일의 전체 파일 경로를 가져옵니다.
wp-includes 보안
WordPress 설치에 액세스 할 수 없는 특정 스크립트가 포함되어 있습니다. 그러나 그들은 해커에 의해 귀하의 사이트로 가능한 경로를 제공합니다. 이 때문에 그들을 제재하는 것이 가치가 있습니다. .htaccess 파일에서 mod_rewrite를 사용하여 이러한 파일에 대한 액세스를 차단할 수 있습니다. 이렇게하려면 # BEGIN WordPress 및 # END WordPress 태그 외부에있는 .htaccess 파일 (일반적으로 WordPress 사이트의 문서 루트에 있음)에 다음 코드를 추가합니다. 그렇지 않으면 WordPress가 덮어쓸 수 있습니다.
# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
# BEGIN WordPress
파일 편집 비활성화
WordPress 웹 사이트 보안에 대한 많은 측면은 잠재적인 해커의 생활을 더 어렵게 만드는 것입니다. 강도가 경보나 보안 등이 없는 조명이 없는 거리에서 집을 찾는 것과 마찬가지로 해커는 은유적인 창문과 문이 단단히 고정된 웹 사이트보다 기본적인 보안 기능이 없는 웹 사이트를 표적으로 삼는 것을 선호합니다.
기본적으로 WordPress에서는 관리자가 대시 보드 내에서 테마 및 플러그인과 같은 PHP 파일을 편집할 수 있습니다. 이 기능은 코드 실행을 허용하기 때문에 해커의 명백한 표적입니다. 대부분의 웹 개발자는 대시 보드 내에서가 아니라 Sublime과 같은 텍스트 편집기를 사용하여 코드를 변경합니다. 이 특정 WordPress 창을 '볼트'하여 해커가 액세스 할 수 있는 다른 지점을 제거하는 것이 좋습니다.
이렇게 하려면 이 코드 줄을 wp-config.php 파일에 넣으십시오. 이 줄은 모든 사용자의 'edit_themes', 'edit_plugins'및 'edit_files'기능을 제거합니다.
define(‘DISALLOW_FILE_EDIT’, true);
이렇게 해도 해커가 악성 파일을 사이트에 업로드하는 것을 막지는 못하지만, 추적 중인 일부 공격을 차단하는 데 도움이 됩니다.
방화벽 사용
방화벽은 공격자가 WordPress 웹 사이트에 접근하지 못하도록 방지하는 훌륭한 방법입니다. 몇 가지 옵션이 있습니다.
방화벽 플러그인
몇 가지 좋은 방화벽 플러그인은 WordPress가 처리하기 전에 Apache 서버 수준에서 액세스를 제한하여 작동합니다. 좋은 예는 All In One WP 보안&방화벽 또는 WordFence입니다. 둘 다 들어오는 요청을 필터링하여 악의적인 트래픽이 WordPress 설치에 영향을 미치지 않도록합니다.
중간 방화벽
WordFence와 같은 플러그인은 서버 수준에서 트래픽을 필터링합니다. 또 다른 접근 방식은 트래픽을 차단하기 전에 서버로 가는 트래픽을 가로챈 다음 Cloudflare와 같은 제품을 사용하여 서버에 요청을 보내는 것입니다. 서버를 변경할 필요없이 중개자를 통해 트래픽을 전송하기 위해 DNS 레코드를 변경하기 만하면 이 접근 방식이 널리 사용됩니다.
다음 단계
WordPress 보안은 여전히 인기 있는 주제입니다. 이 모든 것이 어려운 작업처럼 보인다면 Pressidium과 같은 관리형 WordPress 호스트를 사용하는 것이 좋습니다. 이 호스트는 많은 작업을 수행할 수 있습니다. 마지막으로, 웹 사이트를 정기적으로 백업하여 항상 사이트를 복원할 수 있다는 생각으로 밤에 편하게 잘 수 있습니다.
댓글 (2)
Excellent tips. Strong password and using limit login attempts are the quick fix for any WP blog. Being in the same industry I would like to add one more tip – use only trusted and highly rated themes and plugins.
A good password is great. Also, hiding or changing the wp-admin slug is really helps.