일반적인 WordPress 설치를 보호하는 10가지 주요 방법

게시 됨: 2016-02-20

10년이 넘는 기간 동안 WordPress는 신생 콘텐츠 관리 시스템에서 온라인에서 가장 많이 사용되는 솔루션으로 발전했습니다. 일반적으로 이 악명은 전체 커뮤니티에 도움이 되며 현재 사용 가능한 모든 콘텐츠 관리 시스템의 가장 큰 개발자 그룹으로 이어졌습니다. CMS는 주로 온라인 출판에서 그 규모, 범위 및 영향력으로 인해 변화하고, 발전하고, 더욱 발전하고 있습니다.

그러나 WordPress가 악의적인 해킹 시도와 개인 정보 침해의 일반적인 대상이 되는 것은 바로 이러한 것들입니다. 해커는 CMS가 독립 웹사이트와 주요 언론 매체 모두에서 확산되고 있다는 사실에 주목했으며 대시보드 및 WordPress 데이터베이스 자체에 대한 액세스 권한을 얻는 여러 취약점을 악용합니다.

고맙게도 WordPress 사용자는 점점 더 악의적인 온라인 환경에서 단순히 "앉아있는 오리"가 아닙니다. WordPress 설치의 보안을 극적으로 개선하고 웹사이트의 콘텐츠, 데이터베이스 및 전반적인 안정성을 탈취하려는 해커의 시도를 저지하기 위해 수행할 수 있는 여러 가지 방법이 있습니다.

1. WordPress 데이터베이스 접두사 변경

기본적으로 모든 WordPress 설치는 "wp_" 접두사가 있는 MySQL 데이터베이스에 테이블을 배치합니다. 이것은 일반적으로 WordPress가 종종 "WP"로 축약되고 해당 테이블이 속한 CMS에 대한 혼동이 없기 때문에 보다 직관적으로 만들기 위해 수행됩니다.

그러나 인터넷의 더 사악한 사용자는 WordPress가 기본적으로 이 접두사가 있는 테이블에 콘텐츠를 배치한다는 것을 알고 있으며 이것이 설치에 침입하거나 외부에서 소프트웨어 데이터베이스에 문제를 일으키는 첫 번째 방법 중 하나입니다.

접두사 자체는 설치 프로세스가 발생하기 전에 wp-config.php 파일에 설정됩니다. 그 때 WordPress 웹 사이트 소유자는 구성 파일을 스크롤하여 다음 행을 찾아야 합니다.

 $table_prefix = 'wp_';

이 줄은 기본 접두어 이외의 거의 모든 것으로 변경되어야 합니다. 웹 사이트의 제목이나 기본 관리자의 이름과 같은 것을 선택하는 것은 설치를 보호하고 인터넷 주변에서 악의적인 해커를 차단하는 훌륭한 첫 번째 단계일 수 있습니다.

2. WordPress 설치 버전 번호를 공개적으로 숨기기

모든 WordPress 템플릿에는 기본 WordPress 정보를 표시하고 플러그인을 통해 헤더를 지속적으로 수정할 수 있는 변수가 함께 제공됩니다. 그 변수는 <?php wp_head() ?> 이며 항상 header.php 파일의 여는 태그와 닫는 <HEAD> 태그 사이에 위치합니다. 이 변수가 수행하는 주요 작업 중 하나는 현재 WordPress 설치 버전 번호를 대중에게 표시하는 것입니다.

이것은 실제로 Automattic 개발 팀에서 가장 많이 사용되는 버전 번호와 현재 사용하지 않는 사용자가 많은 경우 분석 목적으로 사용됩니다.

또한 해커는 WordPress 설치 버전 번호를 보고 그에 따라 공격을 계획할 수 있습니다. WordPress의 보안 취약성은 일반적으로 버전에 따라 다르며 이후 버전에서 수정되며 버전 번호를 표시하는 오래된 설치는 대시보드 또는 데이터베이스에 대한 무단 액세스를 얻으려는 사람들의 공격을 받기 쉽습니다.

이 정보는 "wp_head" 변수에서 제거될 수 있고 제거되어야 합니다. 현재 테마의 functions.php 파일에 다음 코드 줄을 추가하면 됩니다.

 remove_action('wp_header', 'wp_generator');

해당 파일을 저장하고 서버에 업로드하면 WordPress 설치가 최신 버전인지, 오래된 버전인지, 베타 버전인지 아무도 알 수 없습니다. 어떤 것도 공개적으로 광고되지 않습니다.

3. 로그인 시도 실패 횟수 제한

일반적으로 악의적인 인터넷 사용자는 수만 개의 암호를 빠르게 입력하는 "무차별 대입" 공격을 통해 WordPress 대시보드에 액세스합니다. 이 공격은 사전 단어와 일반 숫자를 사용하여 사용자의 보안 자격 증명을 알아내는 것으로 보입니다. 이러한 반복적인 시도에 대한 적절한 차단이 없으면 실제로 막을 수 없습니다.

그것이 로그인 잠금 플러그인이 들어오는 곳입니다. 플러그인을 사용하여 WordPress 사용자는 한 시간 동안 본질적으로 대시보드에서 잠기기 전에 실패한 로그인 시도 횟수에 대한 제한을 설정할 수 있습니다. 이러한 실패한 시도는 IP 주소와 연결되어 이 플러그인을 더욱 효과적으로 만듭니다.

4. 관리자는 자신을 "관리자"라고 하면 안 됩니다.

기본 제공 설치 프로그램에서 WordPress를 설치할 때 관리자 사용자는 일반적으로 기본적으로 " admin "으로 이름이 지정됩니다. 악의적인 인터넷 사용자는 이것을 알고 있으며 WordPress 대시보드에 대한 무차별 액세스 권한을 얻을 때 추측하려고 시도하는 이름입니다.

WordPress를 처음 설치할 때 관리자 사용자의 이름을 추측하기 어려운 이름(닉네임 또는 다른 이름)으로 지정해야 합니다. 무차별 암호 대입 공격은 관리자의 사용자 이름을 알고 있는 경우에만 유효합니다. 그렇지 않으면 액세스 권한을 얻는 것이 이중으로 불가능합니다.

5. WordPress를 항상 최신 상태로 유지하고 이에 대해 신속하게 알리십시오.

WordPress의 새 버전은 일반적으로 몇 주에 한 번씩 릴리스되며, 인터넷의 대시보드 및 데이터베이스를 점점 더 표적으로 삼고 있는 해커로부터 사용자를 안전하게 보호하기 위한 사소한 업데이트 및 보안 패치를 제공합니다.

WordPress를 최신 상태로 유지하지 못하는 것은 본질적으로 해커에게 공개 초대를 제공하여 일부 게시물을 삭제하고 웹사이트 보안을 손상시키는 것과 같습니다. 이러한 업데이트에 뒤처지는 것은 정말 나쁜 일입니다. 특히 변경되지 않은 테마는 궁금한 사람이 볼 수 있도록 버전 번호도 표시하기 때문입니다.

버전 3.0부터 WordPress는 한 번의 클릭으로 대시보드의 자동 업데이트를 활성화했습니다. 실제로 대시보드는 사용자에게 업데이트를 자동으로 알리고 매우 굵고 눈에 띄는 텍스트로 업그레이드하도록 촉구합니다. 업그레이드를 사용할 수 있는 즉시 이 작업을 수행해야 합니다. 파일, 플러그인, 테마 또는 설정이 손실되지는 않습니다.

대신, WordPress 업데이트는 마지막 버전이 소프트웨어의 6천만 사용자에게 전송된 이후에 발견된 새로운 기능과 패치 보안 취약점을 활성화하는 데에만 사용됩니다. 해커를 막기 위해 항상 최신 정보를 유지하십시오.

6. 거의 모든 인터넷 사용자로부터 WP-Config.PHP 파일 숨기기

WordPress 사용자는 파일을 숨기고 WordPress 대시보드 및 데이터베이스의 무결성을 보호하려고 할 때 .htaccess 파일의 힘을 절대 잊어서는 안됩니다. 사실 이 파일은 워드프레스의 장기적 보안을 여러 면에서 보장하는 데 필수적입니다. 몇 줄의 간단한 코드를 사용하여 ".htaccess" 파일은 해당 파일에 적절한 파일 권한이 설정되지 않은 경우에도 실제로 공용 인터넷 사용자로부터 파일을 완전히 숨길 수 있습니다.

이것은 설치를 손상시키는 데 필요한 API 키 및 데이터베이스 접두사와 같은 항목이 포함된 "wp-config.php" 파일의 공개 표시에 대한 솔루션입니다.

악의적인 인터넷 사용자로부터 이 파일을 보호하려면 WordPress 설치의 루트 폴더에 있는 ".htaccess" 파일에 다음 코드 줄을 추가하기만 하면 됩니다. 그러한 파일이 없으면 다음과 같이 만듭니다.

 <파일 wp-config.php>
주문 허용, 거부
모두를 부정하다
</파일>

이 코드 줄을 파일에 넣은 상태에서 저장하고 FTP 클라이언트를 통해 서버에 업로드합니다. 관련 WordPress 설치에 대한 구성 파일은 이제 기본적으로 공개 보기에서 사라지며 이는 보안과 마음의 평화를 위한 좋은 의미일 뿐입니다.

7. 그리고 파일 권한에 대해 말하자면 보안을 확인하기 위해 확인하십시오.

WordPress는 제대로 작동하기 위해 파일 액세스 및 수정에 대해 매우 관대한 규칙을 요구하지 않습니다. 실제로 사이트의 모든 설정과 콘텐츠 정보는 서버 측 PHP 파일에 저장되지 않고 데이터베이스에 기록됩니다. 이러한 이유로 WordPress 파일에서 777 CHMOD 값을 사용하는 데 대한 정당성은 전혀 없습니다. 이는 대신 해커가 설치를 손상시킬 수 있는 구성 설정 또는 기타 파일에 쉽게 액세스할 수 있도록 하는 방법일 뿐입니다.

권한을 확인하고 더 안전한 설치를 위해 잠재적으로 수정하려면 FTP 클라이언트를 열고 루트 WordPress 디렉토리로 이동하십시오. PHP 파일을 마우스 오른쪽 버튼으로 클릭하고 권한과 관련된 메뉴 옵션을 찾으십시오. 결과 창에서 파일의 가용성을 나타내는 숫자를 찾습니다. 그것은 확실히 777 이 아니어야 합니다. 대부분의 경우 서버의 루트 FTP 사용자만 파일에 액세스하고 수정할 수 있도록 제한하는 744 CHMOD 값을 사용하는 것이 좋습니다. 필요한 경우 이 설정을 변경한 다음 저장하십시오. 그에 따라 서버가 업데이트됩니다.

8. .htaccess 파일을 사용하여 .htaccess 파일 숨기기

대부분의 사람들은 이것을 가능성으로 생각하지 않지만 .htaccess 파일은 실제로 대중에게 자신을 숨기는 데 사용될 수 있습니다. 마침표로 시작하는 파일 이름을 사용하여 이미 대부분이 작업을 수행하지만 Windows 기반 컴퓨터에서는 작동하지 않습니다. 이러한 시스템은 ".htaccess" 자체에 포함된 지침을 사용하여 액세스할 수 없는 파일을 찾아야 합니다. 권한은 실제로 다음과 같이 WordPress의 PHP 구성 파일을 숨기는 데 사용되는 방법과 매우 유사합니다.

 <파일 .htaccess>
주문 허용, 거부
모두를 부정하다
</파일>

다시 말하지만, 해당 줄이 파일에 배치되면 저장하고 서버에 업로드할 수 있습니다. 이제 루트 관리자 사용자를 제외하고 사이트를 방문하는 거의 모든 사람에게 표시되지 않습니다.

9. 빈 HTML 문서의 힘을 이해하고 사용하기

손상된 WordPress 설치에 액세스하려는 모든 사람은 소프트웨어가 플러그인과 테마를 특정 디렉토리에 저장한다는 것을 알고 있습니다. 그들은 보안 플러그인의 부족이나 다수의 XHTML 및 CSS 기반 취약점을 찾기 위해 이 디렉토리를 확인한 다음 액세스 권한을 얻기 위해 이러한 것들을 악용할 것입니다. 이것은 실제로 예방하기가 매우 쉽습니다.

이 디렉토리의 파일 목록이 인터넷 사용자에게 표시되지 않도록 하려면 빈 HTML 문서를 만들어 폴더에 넣으면 됩니다. 문서는 헤드 태그와 " 제한된 액세스 " 와 같은 제목이 포함된 매우 기본적인 것이어야 합니다. 이 제목은 사이트 관리자가 보안에 대해 한두 가지 알고 있다는 인상을 줄 수 있으며 악의적인 사용자를 다른 웹 사이트로 보냅니다.

10. 항상 최근 백업을 사용할 수 있도록

WordPress 설치의 보안에 접근하는 올바른 방법은 한 부분은 준비이고 한 부분은 예방이라는 것입니다.

이 프로세스의 "준비" 측면은 백업의 형태로 제공됩니다. 실제 WordPress 파일과 정보를 저장하는 데 사용되는 데이터베이스는 모두 정기적으로 백업해야 합니다. 이것은 대시보드용 여러 WordPress 플러그인을 포함하여 다양한 방법으로 수행할 수 있습니다.

파일을 백업하는 고급 방법이 필요한 경우 사용자는 cPanel 또는 Plesk Panel 백엔드 관리 영역에서 백업 도구를 사용할 수 있습니다. 또한 관리자는 프로세스를 자동화하고 Cron 작업을 생성하여 최근 백업을 항상 쉽게 사용할 수 있도록 할 수 있습니다.

WordPress 보안에서 중요한 것은 항상 최악의 시나리오에 대비하는 것입니다. 가동 시간과 안정성 보장과 관련하여 악의적인 해커의 공격을 받는 경우에도 사이트 백업은 보안 허점이 닫힌 후 온라인으로 돌아갈 수 있는 가장 쉬운 방법입니다.

경계와 현명한 사용은 안전한 WordPress 설치의 열쇠입니다

일반적으로 말해서 WordPress는 최근 몇 년 동안 기하급수적으로 더 안전해졌습니다. 짧은 시간 동안 격주로 새로운 보안 취약점이 발생하는 것처럼 보였습니다. 이 패턴은 특히 더 크고 더 많은 기업 사용자에게 문제가 되었고 Automattic 팀은 신속하게 완전한 재부팅 작업에 착수했습니다.

그 재부팅은 최신 보안 패치 및 수정 사항을 최신 상태로 유지하는 데 수고를 덜어주는 훨씬 더 안전한 아키텍처와 자동 업데이트 도구가 포함된 3.0 릴리스였습니다.

보안 유지와 관련하여 이러한 릴리스는 절대적으로 최신 상태로 유지되어야 하며 사용자는 악의적인 인터넷 사용자로부터 안전을 유지하기 위해 엄격한 권한, 제한 및 보안 트릭을 사용해야 합니다.