기본적인 워드프레스 보안

최근 kuroi’SH라는 해커조직에 의해 디페이스 해킹을 당한 아시아나항공 홈페이지가 핵티비즘을 연상케 하는 페이지로 연결이 되는 일이 발생했는데요.
이 조직들이 현재 워드프레스로 제작된 웹사이트들의 취약점을 찾아 디페이스 공격을 시도하고 있는 것으로 알려졌습니다.
이러한 공격들에서 웹사이트를 보호하려면 기본적인 것부터 신경 써야 합니다.
관리자들이 아래에 소개해 드리는 간단한 조치만 취하더라도 웹사이트를 보호할 수 있습니다.

 

1. 최신 버전 업데이트(코어/플러그인/테마)

1월 26일에 배포된 워드프레스 버전 4.7.2에는 3개의 취약점에 대한 정보를 포함하고 있습니다.

  • The user interface for assigning taxonomy terms in Press This is shown to users who do not have permissions to use it.
  • WP_Query is vulnerable to a SQL injection (SQLi) when passing unsafe data. WordPress core is not directly vulnerable to this issue, but we’ve added hardening to prevent plugins and themes from accidentally causing a vulnerability.
  • A cross-site scripting (XSS) vulnerability was discovered in the posts list table.

1주일 후에는 인증되지 않은 권한을 가진 이가 게시물이나 페이지를 수정할 수 있는 심각한 취약점을 추가 공개했습니다.

  • An unauthenticated privilege escalation vulnerability was discovered in a REST API endpoint.

이렇듯 취약점은 계속 발견되고 있고, 워드프레스는 최신 버전을 통해 보안을 강화해 나가고 있습니다.
다음 사이트에서 워드프레스 취약점을 확인할 수 있고,  워드프레스 최신 버전 내용을 확인할 수 있습니다.

– wpvulndb.com
– wordpress.org/news/category/releases/
– wordpress.org/news/category/security/
– wordpress.org/news/2017/01/wordpress-4-7-2-security-release/
– make.wordpress.org/core/2017/02/01/disclosure-of-additional-security-fix-in-wordpress-4-7-2/

 

2. 보안플러그인

워드프레스에는 다양한 셋팅을 통해 자신의 웹사이트를 보호할 수 있는 플러그인들이 존재합니다.
다음에 소개하는 다운로드 수가 많은 보안 플러그인을 통해 웹사이트를 보호 할 수 있습니다.

– iThemes Security(무료/유료 보안 플러그인)
– Wordfence Security(무료 보안 플러그인)
– All in One WP Security & Firewall(무료 보안 플러그인)

 

3. 로그 기록 확인

로그 기록을 확인하여 관리자 이외에 검증되지 않은 IP가 로그인 시도하는 것을 차단해야 합니다.
다음 스크립트를 .htaccess에 추가 설정하여 특정 IP 접근 차단/허용할 수 있습니다.

– 무차별 대입 공격(Brute Force Attacks) 의심 IP 접근 차단

– 특정 IP(관리자) 접근 허용

 

4. 관리자 계정 변경

무차별 대입 공격(Brute Force Attacks)을 시도하려면 우선 관리자 계정을 알아야 합니다.
워드프레스는 기본적으로 ‘admin’을 관리자 계정으로 사용하기 때문에 추측하기가 쉽습니다.
또한 이런 식으로 반복적인 공격을 하다 보면 트래픽이 증가해 서버의 메모리가 부족한 문제가 발생할 수도 있습니다.
그렇기 때문에 관리자 이름을 ‘admin’이 아닌 추측하기 어려운 이름으로 변경해야 합니다.

– 참고 : https://codex.wordpress.org/Brute_Force_Attacks

 

5. 관리자 경로(wp-admin) 변경

워드프레스의 기본 로그인 uri는 ‘wp-login’이며, 기본 관리자 계정과 같이 추측하기가 쉬워
관리자만 알 수 있는 uri로 변경해야 합니다.
다음에 있는 플러그인을 통해 관리자 경로를 쉽게 변경할 수 있습니다.

– https://wordpress.org/plugins/rename-wp-login/
– https://ko.wordpress.org/plugins/lockdown-wp-admin/

 

6. 백업(테마,플러그인,DB)

어떠한 문제로 인해 최신 버전으로 업데이트를 못할 환경일 경우, 정기적으로 백업을 해야 합니다.

 

7. 강력한 비밀번호 사용

관리자만의 복잡하고 길고 고유한 비밀번호를 사용해야 합니다. 남들이 쉽게 짐작할 수 있는 비밀번호를 사용하지 말고 숫자와 대소문자 및 특수기호를 조합하여 만들도록 합니다.

 

8. 사용하지 않는(비활성화) 플러그인 삭제

사용하지 않는 플러그인을 비활성화만 해두고 잊어버리면 안 됩니다. 취약점이 발견된 플러그인은 최신 버전 업데이트를 통해 보안을 강화하고 있지만, 대부분 사용하지 않는 플러그인(비활성화)은 하위 버전에 머물러 있을 것입니다. 이런 문제를 노려 해킹을 시도하면 당할 수밖에 없습니다. 그렇기 때문에 사용하지 않는 플러그인은 꼭 비활성화 후 삭제하시길 권장합니다.

 

9. 데이터베이스 테이블 접두어 변경

워드프레스 설치 시 데이터베이스 설정을 해야 합니다. 설치 과정에서 테이블 접두어를 설정할 수 있는데 여기서 기본 접두어인 wp_를 변경해줘야 합니다.
기본 접두어를 사용했다면 SQL 인젝션 공격 시 추측이 쉬워집니다. 그렇기에 자신만의 고유 접두어를 사용하여 추측을 어렵게 만들어야 합니다.

 

마치며

꼭! 위와 같이 간단한 조치를 취해 자신의 웹사이트를 보호하시길 바랍니다.
(글 작성 중 워드프레스 4.7.3 릴리즈 됐다는 소식이 있는데…현실인가요? ㅠ.ㅠ)