워드프레스 웹사이트를 운영하고 계신가요? 그렇다면 언젠가는 반드시 테마와 플러그인 코드를 안전하게 유지하는 방법을 익혀야 합니다. 웹 개발 지식 수준과 관계없이, 이 글에서 소개하는 단계별 보안 가이드를 따라 하면 누구나 워드프레스 보안 수준을 크게 끌어올릴 수 있습니다. 지금부터 소개할 팁들을 실천하면 소중한 웹사이트를 해킹 위험으로부터 오랫동안 지킬 수 있습니다.
워드프레스 사이트 보안에 신경 써야 하는 이유는 많습니다. 무엇보다 워드프레스 호스팅은 다른 콘텐츠 관리 시스템(CMS)에 비해 전 세계 해커들의 주목을 훨씬 많이 받습니다. 로그인 정보를 강탈하려는 브루트 포스 공격(brute force attack), SQL 인젝션(SQL injection), 워드프레스 데이터베이스와 백업 파일을 노리는 각종 악성 코드가 대표적입니다. 이러한 관심은 워드프레스의 인기가 만들어내는 자연스러운 부작용입니다. 해커의 입장이라면 현재 운영 중인 수천만 개의 워드프레스 사이트를 향해 열쇠를 찾지 않겠습니까? 당연히 찾을 것입니다.
또한 처음부터 보안이 제대로 갖춰지지 않은 테마로 사이트를 제작하면 해커에게 좋은 먹잇감이 됩니다. 웹사이트를 안전하게 만드는 유일한 방법은 보안 모범 사례를 따르는 것, 즉 평판 좋은 테마 하우스에서 워드프레스 테마를 구매하는 것입니다. 테마 하우스가 시장에서 오래 검증될수록 더 완성도 높은 테마를 제공한다는 점도 두말할 필요가 없습니다. 전문적인 워드프레스 테마는 해킹당할 가능성을 상당히 낮춰줍니다(물론 가능성을 완전히 없애주지는 않습니다!).
워드프레스 테마와 플러그인 코드를 안전하게 유지하는 방법
1. 사용자 역할(User Role) 조정 시 주의하기
모든 워드프레스 테마는 사용자 역할을 관리할 수 있습니다. 관리자, 편집자, 작성자, 기여자, 구독자 등 각 역할마다 사용자가 수행할 수 있는 작업과 권한 범위가 정해져 있습니다.
솔직히 말해 초보자라면 위의 5가지 기본 역할을 그대로 사용하는 것이 가장 안전합니다. 하지만 부득이하게 사용자 역할을 커스터마이징해야 한다면 다음 두 가지 규칙을 따르세요. 첫째, User Role Editor처럼 신뢰할 수 있는 플러그인을 설치해 조정 과정을 매끄럽게 진행하세요. 둘째, 항상 신중하게 조정하세요. 사소한 설정 실수 하나로 웹사이트 콘텐츠 전체를 잃을 수도 있습니다. 그만큼 판돈이 큽니다.
2. 파일 에디터(File Editor) 비활성화하기
워드프레스 테마에서 가장 흔히 발생하는 보안 문제 중 하나가 파일 에디터의 취약점입니다. 해커가 파일에 접근하면 삭제나 재구성을 포함한 다양한 변경을 가할 수 있습니다. 따라서 파일 에디터를 비활성화해두는 것이 웹사이트 보호에 큰 도움이 됩니다. 파일 에디터를 비활성화하는 확실한 방법은 크게 두 가지입니다.
- MalCare 보안 플러그인 설치: 몇 초 만에 파일 에디터를 비활성화할 수 있습니다. MalCare는 스캔, 클린, 보호 기능을 손쉽게 제공하는 올인원 보안 플러그인입니다. 반복된 로그인 실패 시도 차단, 외부 PHP 파일 실행 차단 등 다양한 의심스러운 활동도 세밀하게 통제할 수 있습니다. 웹 개발 전문가가 아니라면 워드프레스 보안을 위한 첫 번째 선택지로 MalCare를 추천합니다.
- wp-config.php 파일에 코드 추가: 아래 코드 한 줄을 wp-config.php 파일 맨 아래에 삽입하면 됩니다.
3. PHP 에러 리포팅 비활성화하기
PHP 에러 메시지는 웹 문제를 진단하는 데 매우 유용하지만, 에러 로깅이 활성화되어 있으면 코드나 디렉터리 구조에 대한 핵심 정보가 그대로 노출되어 공격에 악용될 수 있습니다. 예를 들어 PHP 에러는 에러가 발생한 경로를 보여주는데, 해커는 이를 역추적해 웹사이트의 디렉터리 구조에 접근할 수 있습니다. 이를 막으려면 wp-config.php 파일에 해당 코드를 삽입해 PHP 에러 리포팅을 비활성화하세요.
4. 워드프레스 테마와 플러그인 정기 업데이트 잊지 않기
구버전에 남아 있는 버그는 해커에게 깔린 환영 매트나 다름없으며, 보안 위험의 완벽한 온상이 됩니다. 개발자들은 테마, 플러그인, 심지어 워드프레스 코어에서 취약점을 발견할 때마다 업데이트를 배포합니다. 사이트 운영자가 업데이트를 건너뛰면 취약점이 그대로 남아 침입이 한결 쉬워집니다. 테마와 모든 플러그인을 정기적으로 업데이트하면 공격 대상이 될 가능성을 자동으로 최소화할 수 있습니다.
참고로 테마와 설치된 플러그인을 업데이트하려면 파일 에디터가 활성화되어 있어야 합니다. 그렇지 않으면 수정되지 못한 버그들이 사이트에 그대로 남게 됩니다.
그렇다면 이런 의문이 생깁니다. "보안을 위해 파일 에디터를 비활성화해 놓고, 업데이트할 때만 다시 활성화하는 것이 과연 의미가 있는가?" 답은 "예"입니다.
쉽게 비유해 보겠습니다. 워드프레스 웹사이트를 하나의 집이라고 생각해 보세요. 파일 에디터를 비활성화하는 것은 현관문을 잠그는 행위와 같고, 업데이트는 집 청소에 비유할 수 있습니다. 집에서 편안하게 살려면 도난을 막기 위해 평소에는 현관문을 잠그고, 필요할 때 문을 열어 들어가 정기적으로 청소해야 합니다. 워드프레스도 마찬가지입니다. 먼저 파일 에디터를 비활성화해 사이트를 '도난 방지' 상태로 만들고, 업데이트가 필요할 때만 활성화해 코드를 깨끗하게 관리한 뒤, 다시 비활성화해 사이트를 잠그면 됩니다.
5. 플러그인 목록 정기 점검하기
초보자들이 저지르는 전형적인 실수는 매력적인 사이트를 만들겠다는 욕심에 수십 개의 플러그인을 설치하는 것입니다. 하지만 그중 상당수는 불필요하거나 기능이 서로 겹치거나 오작동을 일으키는 경우가 많습니다. 심지어 일부 플러그인은 취약점이 생겨 해커가 사이트에 침입하는 통로가 되기도 합니다. 그렇기 때문에 처음부터 최적의 워드프레스 플러그인을 고르는 기준을 알아야 하며, 6개월에 한 번씩 사이트의 모든 플러그인을 철저히 점검하는 습관을 들이세요. 유지할 플러그인과 비활성화 또는 삭제할 플러그인으로 분류하는 것입니다.
참고: 플러그인 '비활성화'와 '삭제'의 차이를 반드시 이해하세요.
- 비활성화: 플러그인이 워드프레스 도구 목록에 그대로 남아 있으므로 언제든 다시 활성화할 수 있습니다.
- 삭제: 플러그인이 관리자 화면에서 완전히 사라지며, 해당 플러그인과 연관된 모든 데이터도 함께 삭제됩니다.
다만 비활성화된 플러그인 역시 공격에 악용될 수 있으므로, 사용하지 않는 플러그인은 과감히 삭제하는 것이 가장 안전합니다.
6. 웹 폼(Web Form) 데이터 유효성 검증하기
웹 폼은 타깃 고객과 소통하는 데 꼭 필요한 도구이지만, 워드프레스 사이트를 망가뜨리는 통로가 될 수도 있습니다. 해커가 웹 폼 입력란에 악성 코드를 주입하면, 사이트가 이를 그대로 수신·처리하는 순간 원치 않는 광고 표시부터 민감한 데이터 유출까지 심각한 피해가 발생할 수 있습니다. 가장 쉬운 대비책은 데이터 유효성 검증 플러그인을 설치하는 것입니다.
핵심 요약
보안은 이제 대부분의 워드프레스 사이트에 시급한 과제가 되었습니다. 다행인 점은 테마와 플러그인의 보안을 스스로 강화할 수 있다는 것입니다. 필요한 조치는 크게 두 가지 범주로 나뉩니다. 첫 번째는 지금 바로 적용해 보안 수준을 높일 수 있는 일회성 조치이고, 두 번째는 워드프레스를 운영하는 동안 꾸준히 신경 써야 하는 정기 조치입니다.
일회성 보안 조치
- 신뢰할 수 있는 테마 하우스의 전문 워드프레스 테마 선택
- MalCare 같은 올인원 보안 플러그인 설치
- 사용자 역할 신중하게 커스터마이징
- 현재 워드프레스 버전 정보 숨기기
- 파일 에디터 비활성화
- PHP 에러 리포팅 비활성화
- 데이터 유효성 검증 플러그인 설치
정기 보안 조치
- 필요할 때마다 워드프레스 테마, 플러그인, 코어 업데이트
- 사용하지 않는 플러그인 모두 삭제
이 글이 워드프레스 테마와 플러그인 코드를 안전하게 지키는 노하우를 익히는 데 도움이 되기를 바랍니다!