워드프레스 보안 설정의 목표는 공격을 완전히 없애는 것이 아니라 침입 가능성을 낮추고, 계정 하나가 뚫려도 피해 범위를 제한하며, 문제가 생기면 빠르게 복구할 수 있게 만드는 것입니다. 복잡한 보안 기능을 많이 설치하는 것보다 업데이트, 계정, 권한, 백업, 모니터링이라는 기본 원칙을 꾸준히 지키는 편이 중요합니다.
워드프레스 보안 우선순위 한눈에 보기
| 우선순위 | 해야 할 일 | 막거나 줄이는 위험 |
|---|---|---|
| 1 | 코어·테마·플러그인 업데이트 | 알려진 취약점 악용 |
| 2 | 고유 비밀번호·2단계 인증 | 계정 탈취와 재사용 공격 |
| 3 | 최소 권한·사용자 정리 | 탈취 계정의 피해 확산 |
| 4 | 검증한 외부 백업과 복원 연습 | 랜섬웨어·실수·업데이트 장애 |
| 5 | 로그·파일 변경·이상 알림 확인 | 침해 장기 방치 |
WordPress 공식 보안 안내도 가장 중요한 기본으로 코어, 플러그인, 테마를 최신 상태로 유지하고 지속적으로 업데이트되는 제품을 선택할 것을 권합니다.

1단계: 코어·테마·플러그인을 최신 상태로 유지한다
보안 업데이트가 공개되면 취약점 정보도 알려질 수 있으므로 오래된 버전을 방치하지 마세요. 업데이트 전에는 변경 내역과 호환성을 확인하고 복원 가능한 백업을 만든 다음, 가능하면 스테이징에서 주요 기능을 시험합니다. WordPress 공식 업데이트 문서도 작업 전 백업을 권장합니다.
- 업데이트 알림을 주 1회 이상 확인합니다.
- 사용하지 않는 테마와 플러그인은 비활성화만 하지 말고 삭제합니다.
- 공식 저장소나 신뢰할 수 있는 개발사에서만 설치합니다.
- 오랫동안 업데이트가 없고 지원이 중단된 제품은 대체합니다.
- 업데이트 후 로그인, 글 편집, 메뉴, 폼, 모바일 화면을 점검합니다.
자동 업데이트는 작은 보안 패치를 빠르게 적용하는 데 도움이 되지만, 실패 알림과 복원 방법을 함께 마련해야 합니다. 결제나 회원 기능처럼 중단 영향이 큰 사이트는 자동화 범위를 정하고 테스트 절차를 갖추세요.
2단계: 길고 고유한 비밀번호를 사용한다
사이트마다 다른 비밀번호를 사용해야 합니다. 다른 서비스에서 유출된 비밀번호를 재사용하면 WordPress 자체가 안전해도 자동 대입 공격으로 로그인될 수 있습니다. 사람이 기억하기 쉬운 짧은 변형 대신 비밀번호 관리자가 생성한 긴 무작위 비밀번호를 사용하세요.
WordPress 공식 비밀번호 모범 사례는 자동 생성 비밀번호와 강한 암호 사용을 설명합니다. 관리자, 호스팅, 도메인 등록기관, CDN, 원격 저장소 계정 모두 별도의 비밀번호를 사용하고, 복구 이메일 계정도 같은 수준으로 보호해야 합니다.
3단계: 관리자 계정에 2단계 인증을 적용한다
2단계 인증은 비밀번호 외에 인증 앱, 보안 키, 일회용 코드 같은 두 번째 확인 수단을 요구합니다. WordPress 코어만으로 제공되지 않는 환경에서는 신뢰할 수 있는 보안 플러그인이나 호스팅의 로그인 보호 기능을 사용할 수 있습니다.
- 최소한 모든 관리자 계정에 먼저 적용합니다.
- SMS보다 인증 앱이나 보안 키를 지원하면 이를 우선 검토합니다.
- 복구 코드를 출력하거나 암호화된 별도 위치에 보관합니다.
- 기기 분실 시 복구 절차를 실제로 확인합니다.
- 로그인 보호 플러그인을 교체하기 전에 잠금 해제 방법을 준비합니다.
2단계 인증을 켰더라도 피싱 사이트에 코드를 입력하거나 관리자 세션을 탈취당할 수 있으므로 업데이트와 최소 권한을 함께 적용해야 합니다.
4단계: 사용자 권한을 필요한 만큼만 부여한다
글만 쓰는 사람에게 관리자 권한을 줄 필요는 없습니다. 작성자, 편집자, 관리자 역할의 차이를 확인하고 업무에 필요한 최소 권한만 부여하세요. 외부 작업자 계정은 개인별로 만들고 공용 관리자 계정을 공유하지 마세요.
| 점검 항목 | 권장 조치 |
|---|---|
| 사용하지 않는 계정 | 콘텐츠 소유권을 확인한 뒤 삭제 또는 역할 축소 |
| 외부 작업자 계정 | 작업 종료일을 정하고 완료 후 즉시 회수 |
| 관리자 수 | 업무상 꼭 필요한 계정만 유지 |
| 공개 작성자 이름 | 로그인 아이디와 개인정보 노출 여부 점검 |
| 비밀번호 초기화 | 복구 이메일 계정과 전달 경로 보호 |
관리자 아이디를 흔하지 않게 바꾸는 것만으로 보안이 완성되지는 않습니다. 공격자는 작성자 아카이브나 다른 공개 정보에서 사용자 이름을 추측할 수 있으므로 강한 비밀번호와 2단계 인증이 더 중요한 방어선입니다.
5단계: 파일 권한을 무작정 넓히지 않는다
업로드나 업데이트가 안 된다고 모든 파일 권한을 777로 설정하면 웹서버와 다른 사용자가 파일을 수정할 범위가 커질 수 있습니다. 서버마다 소유자와 실행 방식이 다르므로 호스팅 권장값을 먼저 확인하세요. WordPress 공식 보안 강화 문서는 파일과 디렉터리 권한, wp-config.php 보호, SFTP 사용 등을 설명합니다.
- 권한 오류가 없으면 숫자만 보고 임의로 변경하지 않습니다.
- wp-admin과 wp-includes 핵심 파일은 일반적으로 웹에서 직접 수정할 필요가 없습니다.
- wp-config.php는 데이터베이스 접속 정보와 보안 키를 포함하므로 접근을 제한합니다.
- FTP 대신 호스팅이 지원하는 SFTP 또는 암호화 연결을 사용합니다.
- 권한 변경 전 현재 값과 복원 방법을 기록합니다.
파일 권한은 서버 구성에 따라 달라질 수 있습니다. 익숙하지 않다면 직접 재귀 명령을 실행하지 말고 호스팅 지원팀에 확인하세요.
6단계: 관리자 파일 편집 기능을 제한할지 검토한다
관리자 화면의 테마·플러그인 파일 편집기는 편리하지만 관리자 계정이 탈취되면 공격자가 코드를 바로 수정하는 통로가 될 수 있습니다. 운영 정책에 따라 wp-config.php의 DISALLOW_FILE_EDIT 설정으로 편집기를 비활성화할 수 있습니다.
다만 설정 파일 변경은 문법 오류로 사이트 접속을 막을 수 있습니다. WordPress 공식 파일 편집 안내를 읽고, 원본 파일과 복구 접속 수단을 준비한 뒤 적용하세요. 이 설정은 플러그인 설치와 업데이트를 모두 차단하는 것과는 다르므로 원하는 통제 범위를 확인해야 합니다.
7단계: HTTPS와 관리 접속 경로를 보호한다
HTTPS는 브라우저와 서버 사이의 로그인 정보와 콘텐츠를 암호화합니다. 인증서가 있어도 WordPress 주소와 사이트 주소, 리디렉션, 혼합 콘텐츠가 잘못 설정되면 일부 요청이 HTTP로 남을 수 있습니다. 로그아웃 상태와 모바일에서도 자물쇠 표시와 리디렉션을 확인하세요.
서버 파일에 접속할 때는 평문 FTP보다 SFTP를 사용하고, 공용 컴퓨터와 신뢰할 수 없는 네트워크에서 관리자 작업을 피하세요. 호스팅 계정과 도메인 등록기관에 2단계 인증을 적용하는 것도 중요합니다. WordPress 관리자만 보호하고 DNS 계정을 놓치면 공격자가 사이트 연결 자체를 바꿀 수 있습니다.
8단계: 보안 플러그인은 하나의 정책으로 운영한다
방화벽, 로그인 제한, 파일 변경 감지, 악성 코드 검사는 유용한 보조 수단입니다. 그러나 기능이 겹치는 보안 플러그인을 여러 개 설치하면 요청 차단 규칙이 충돌하고 서버 부하가 커지며 원인 파악이 어려워질 수 있습니다.
- 현재 WordPress와 PHP 버전을 지원하는가?
- 최근 업데이트와 지원 기록이 확인되는가?
- 차단된 요청과 관리자 작업을 구분하는 로그가 있는가?
- 사이트가 잠겼을 때 플러그인을 우회하거나 해제하는 문서가 있는가?
- 개인정보와 로그 보관 기간을 설정할 수 있는가?
- 호스팅 방화벽과 중복되는 기능은 무엇인가?
새 보안 플러그인을 운영 사이트에 바로 추가하지 말고 백업 후 스테이징에서 로그인, 글 저장, 검색엔진 크롤링, 캐시, 문의 폼을 시험하세요. 오류가 생기면 플러그인 충돌 진단 순서를 따라 확인합니다.
9단계: 백업은 서버 밖에 두고 복원을 연습한다
보안 플러그인이 있어도 백업은 필요합니다. 침입자가 운영 서버의 백업까지 삭제하거나 암호화할 수 있으므로 최소 한 사본은 다른 저장소에 보관하세요. 파일과 데이터베이스를 모두 포함하고, 백업 파일을 실제로 내려받아 열어 보며, 스테이징에서 복원 테스트를 합니다.
업데이트와 설정 변경 직전에는 정기 일정과 별도로 수동 백업을 만드세요. 자세한 기준은 워드프레스 백업과 복원 가이드에서 확인할 수 있습니다.
10단계: 로그와 이상 징후를 정기적으로 본다
알림을 많이 받는 것보다 실제로 확인할 수 있는 기준을 정하는 것이 중요합니다. 로그인 실패 급증, 알 수 없는 관리자 생성, 핵심 파일 변경, 갑작스러운 트래픽 변화, 검색 결과의 스팸 제목, 발신하지 않은 이메일 같은 징후를 점검하세요.
| 이상 징후 | 즉시 할 일 |
|---|---|
| 모르는 관리자 계정 | 계정 활동과 생성 시각을 기록하고 접근 차단 |
| 파일 변경 알림 | 최근 업데이트와 대조하고 원본 보존 |
| 검색 결과에 스팸 페이지 | 사이트 침해 여부 조사 후 Search Console 확인 |
| 로그인 실패 급증 | 2단계 인증, 비밀번호 재사용, 차단 정책 점검 |
| 호스팅 자원 급증 | 접속 로그, 예약 작업, 악성 스크립트 여부 확인 |
보안 로그에는 IP 주소와 사용자 정보가 포함될 수 있으므로 필요한 기간만 보관하고 접근 권한을 제한하세요.
침해가 의심될 때 하지 말아야 할 일
- 증거와 현재 상태를 보존하기 전에 모든 파일을 삭제하지 않습니다.
- 감염이 의심되는 관리자 화면에서 같은 비밀번호를 계속 입력하지 않습니다.
- 출처를 모르는 ‘복구 스크립트’를 바로 실행하지 않습니다.
- 감염 시점을 모른 채 가장 최근 백업을 덮어쓰지 않습니다.
- 비밀번호와 데이터베이스 정보를 공개 커뮤니티에 올리지 않습니다.
먼저 안전한 기기에서 호스팅, 도메인, 관리자 계정의 비밀번호를 변경하고 2단계 인증을 확인합니다. 사이트와 로그의 현재 상태를 별도로 보존한 뒤 호스팅 또는 보안 전문가와 원인을 조사하세요.
침해 대응 순서
- 접근 통제: 모르는 관리자와 활성 세션을 확인하고 필요한 계정을 잠급니다.
- 증거 보존: 파일, 데이터베이스, 접속 로그, 오류 메시지를 별도로 저장합니다.
- 원인 조사: 취약한 플러그인, 탈취 계정, 변경 파일, 악성 예약 작업을 확인합니다.
- 깨끗한 복구: 공식 출처의 코어·테마·플러그인과 검증된 백업으로 복원합니다.
- 자격 증명 교체: WordPress뿐 아니라 호스팅·DNS·데이터베이스·저장소 계정을 교체합니다.
- 검증: 관리자, 공개 화면, 이메일, 검색 결과, 로그를 확인합니다.
- 재발 방지: 침입 원인과 누락된 통제를 기록하고 보완합니다.
WordPress 공식 해킹된 사이트 대응 안내도 복구 시 참고할 수 있습니다.
월간 보안 점검표
- 코어·테마·플러그인 업데이트가 남아 있지 않은가?
- 사용하지 않는 확장 기능과 사용자 계정을 제거했는가?
- 모든 관리자에게 2단계 인증이 적용됐는가?
- 호스팅·도메인·백업 저장소 계정도 보호했는가?
- 백업이 외부에 있고 최근 복원 테스트가 성공했는가?
- 파일 변경과 로그인 실패 알림을 확인했는가?
- HTTPS, 인증서 만료일, SFTP 접속을 확인했는가?
- 보안 플러그인의 차단 로그와 오탐을 검토했는가?
워드프레스 보안은 한 번의 설정으로 끝나는 프로젝트가 아닙니다. 가장 효과적인 방어는 업데이트를 미루지 않고, 계정과 권한을 줄이며, 복원 가능한 백업을 유지하고, 이상 징후를 정기적으로 확인하는 운영 습관입니다.