워드프레스 웹사이트 보안 체크리스트: 사이트를 위협으로부터 보호하세요

EdgeOneDev-Dev Team
10 분 읽기
May 29, 2025

wordpress website security checklist.png

오늘날의 디지털 환경에서 WordPress 웹사이트 보안을 보장하는 것은 매우 중요합니다. 단 한 번의 보안 침해로 데이터 손실, 사용자 정보 유출 및 온라인 평판 손상으로 이어질 수 있습니다. 이 포괄적인 보안 체크리스트는 귀하의 WordPress 사이트를 일반적인 위협로부터 보호하고 강력한 방어를 유지하는 데 필요한 필수 단계를 안내합니다.

1. 호스팅 및 서버 보안

안전한 호스팅 제공업체 선택

  • 전용 WordPress 보안 기능을 갖춘 호스팅 회사를 선택하세요.
  • 정기적인 서버 업데이트 및 보안 패치를 제공하는 공급자를 찾으세요.
  • WP Engine이나 Kinsta와 같은 격리된/컨테이너화된 환경을 우선시하세요.
  • 호스트가 DDoS 보호 및 서버 수준 방화벽을 제공하는지 확인하세요.

EdgeOne Pages는 빠른 전송을 위한 엣지 컴퓨팅을 갖춘 안전한 WordPress 호스팅을 제공합니다. 여기에는 WAFDDoS 보호봇 관리를 통해 위협에 대응하며 HTTPS는 데이터 암호화를 보장합니다.

서버 수준 보안 구성

  • 서버 강화 기술을 구현하세요.
  • Apache 서버에서 ModSecurity를 활성화하세요.
  • 최적의 보안을 위해 PHP 설정을 구성하세요 (exec, system, shell_exec 등의 함수 비활성화).
  • 최신 서버 소프트웨어를 사용하고 정기적으로 업데이트하세요.

SSL 인증서 구현

  • HTTPS 연결을 활성화하기 위해 SSL 인증서를 설치하세요.
  • 올바른 SSL 인증서 갱신 알림을 구성하세요.
  • HTTP Strict Transport Security (HSTS)를 구현하세요.
  • 모든 HTTP 트래픽을 HTTPS로 리디렉션하세요.

웹 애플리케이션 방화벽 (WAF)

  • Cloudflare 또는 EdgeOne와 같은 WAF를 설정하세요.
  • 의심스러운 트래픽을 차단하기 위해 방화벽 규칙을 구성하세요.
  • 청중이 지리적으로 제한된 경우 국가 차단을 활성화하세요.
  • 무차별 대입 공격을 방지하기 위해 비율 제한을 구현하세요.

2. WordPress 코어 보안

정기적인 WordPress 업데이트

  • 마이너 릴리스에 대한 자동 업데이트를 활성화하세요.
  • 주요 버전 업데이트를 위한 테스트 환경을 만드세요.
  • 정기적인 업데이트 확인을 일정에 포함하세요 (최소 매주).
  • 업데이트 프로세스 및 결과를 문서화하세요.

안전한 설치 관행

  • 가능한 경우 핵심 디렉터리에서 "wp-" 접두사를 제거하세요.
  • 기본 wp-content 디렉터리 이름을 변경하세요.
  • 파일 전송을 위해 안전한 FTP(SFTP)를 사용하세요.
  • 공식 출처에서만 WordPress를 설치하세요.

파일 권한

  • 적절한 파일 권한을 설정하세요: 파일은 644, 디렉터리는 755로 설정하세요.
  • wp-config.php를 600 권한으로 구성하세요.
  • wp-content/uploads는 755 권한을 가져야 합니다.
  • 파일의 적절한 소유권을 확인하세요 (www-data 또는 적절한 사용자).

불필요한 파일 및 정보 제거

  • 사용하지 않는 테마 및 플러그인 파일을 삭제하세요.
  • 공개 표시에서 WordPress 버전 정보를 제거하세요.
  • readme.html 및 기타 문서 파일을 삭제하세요.
  • 불필요한 설치 파일을 제거하세요.

데이터베이스 접두사 변경

  • 기본 "wp_" 데이터베이스 접두사를 사용자 지정 접두사로 교체하세요.
  • wp-config.php에서 해당 참조를 업데이트하세요.
  • 접두사 변경 후 데이터베이스 기능을 확인하세요.
  • 이 프로세스를 도와줄 보안 플러그인을 사용하는 것을 고려하세요.

3. 플러그인 및 테마 보안

안전한 플러그인 또는 테마 선택을 위한 모범 사례

  • 신뢰할 수 있는 출처(WordPress.org, 신뢰할 수 있는 개발자)에서만 플러그인/테마를 사용하세요.
  • 업데이트 빈도 및 WordPress 버전과의 호환성을 확인하세요.
  • 보안 이력 및 취약성 보고서를 검토하세요.
  • 개발자 지원 응답성을 확인하세요.

정기 업데이트 및 유지 관리

  • 신뢰할 수 있는 플러그인에 대해 자동 업데이트를 활성화하세요.
  • 수동 업데이트 확인을 위한 정기 일정을 설정하세요.
  • 플러그인 보안 공지 및 패치를 모니터링하세요.
  • 생산 환경에 적용하기 전에 스테이징 환경에서 업데이트를 테스트하세요.

사용하지 않는 플러그인 및 테마 제거

  • 모든 사용하지 않는 플러그인을 비활성화하고 삭제하세요.
  • 하나의 기본 테마를 제외한 모든 비활성 테마를 제거하세요.
  • 설치된 플러그인을 문서 파일에 기록하세요.
  • 정기적으로 플러그인 감사를 수행하세요.

제3자 구성 요소에 대한 보안 감사

  • 플러그인 권한 및 접근 요구 사항을 검토하세요.
  • 알려진 취약점에 대해 플러그인을 스캔하세요.
  • 핵심 플러그인의 코드 품질을 평가하세요.
  • 전자 상거래 플러그인의 데이터 처리 관행을 평가하세요.

4. 사용자 접근 관리

강력한 비밀번호 정책

  • 최소 12자 이상의 복잡한 비밀번호를 강제하세요.
  • 대문자, 소문자, 숫자 및 특수 문자의 조합을 요구하세요.
  • 비밀번호 만료 정책을 구현하세요.
  • 사용자를 위한 비밀번호 강도 표시기를 사용하세요.

이중 인증

  • 모든 관리 계정에 대해 2FA를 활성화하세요.
  • 신뢰할 수 있는 2FA 방법을 선택하세요 (SMS보다 인증 앱 선호).
  • 비상 접근을 위한 백업 코드를 제공하세요.
  • 2FA 복구 절차를 문서화하세요.

사용자 역할 및 권한

  • 모든 사용자에게 최소 권한 원칙을 적용하세요.
  • 정기적으로 사용자 역할을 감사하고 권한을 조정하세요.
  • 필요 시 특정 기능을 위한 사용자 정의 역할을 만드세요.
  • 기본 역할에서 불필요한 기능을 제거하세요.

로그인 시도 제한

  • 로그인 시도를 제한하는 플러그인 설치 (예: Limit Login Attempts Reloaded).
  • 점진적인 잠금 기간을 구성하세요.
  • 다수의 실패 시도 후 IP 차단을 설정하세요.
  • 로그인 양식에 CAPTCHA를 구현하세요.

기본 관리자 사용자 이름 변경

  • 고유한 사용자 이름으로 새 관리자 계정을 생성하세요.
  • 기본 "admin" 계정을 삭제하거나 권한을 낮추세요.
  • 가능한 경우 이메일 주소를 사용자 이름으로 사용하세요.
  • 실명 대신 가명을 사용하는 것을 고려하세요.

5. 콘텐츠 및 데이터베이스 보안

데이터베이스 보안 조치

  • 정기적으로 데이터베이스를 최적화하고 복구하세요.
  • 사용하지 않는 테이블과 게시물 개정을 제거하세요.
  • 가능한 경우 데이터베이스 암호화를 구현하세요.
  • SQL 주입을 방지하기 위해 매개변수화된 쿼리를 사용하세요.

콘텐츠 보호 전략

  • .htaccess를 구성하여 민감한 콘텐츠를 보호하세요.
  • 회원 사이트에 대한 콘텐츠 제한을 구현하세요.
  • 전문 이미지에 워터마크를 사용하세요.
  • 프리미엄 콘텐츠를 위한 DRM 솔루션을 고려하세요.

SQL 주입 방지

  • 모든 사용자 입력을 검증하고 정리하세요.
  • 데이터베이스 쿼리를 이스케이프하세요.
  • 데이터베이스 작업을 위한 준비된 문장을 사용하세요.
  • 양식에서 입력 검증을 구현하세요.

파일 업로드 보안

  • 업로드할 수 있는 파일 유형을 제한하세요.
  • 처리하기 전에 업로드를 악성코드 스캔하세요.
  • 가능한 경우 웹 루트 외부에 업로드된 파일을 저장하세요.
  • 덮어쓰기를 방지하기 위해 업로드 시 파일 이름을 변경하세요.

6. 악성코드 예방 및 스캔

보안 플러그인 개요

  • Wordfence, Sucuri 또는 iThemes Security와 같은 평판 좋은 보안 플러그인을 설치하세요.
  • 실시간 모니터링 및 경고를 구성하세요.
  • 파일 무결성 모니터링을 활성화하세요.
  • 의심스러운 활동에 대해 IP 차단을 설정하세요.

정기적인 악성코드 스캔

  • 자동화된 일일 또는 주간 악성코드 스캔을 예약하세요.
  • 매월 심층 스캔을 수행하세요.
  • 포괄적인 범위를 위해 여러 스캔 도구를 사용하세요.
  • 악성코드 정의를 정기적으로 업데이트하세요.

악성코드 제거 절차

  • 악성코드 제거 절차를 단계별로 문서화하세요.
  • 감염된 사이트에 대한 격리 절차를 만드세요.
  • 깨끗한 백업 복원 프로토콜을 설정하세요.
  • 보안 사고 대응 계획을 유지하세요.

블랙리스트 모니터링

  • 검색 엔진 블랙리스트에 대한 알림을 설정하세요.
  • Google Search Console에서 보안 문제를 모니터링하세요.
  • 여러 서비스에서 블랙리스트 상태를 확인하는 도구를 사용하세요.
  • 블랙리스트 제거를 위한 수정 단계를 문서화하세요.

7. 백업 및 복구 계획

정기 백업 일정

  • 일일 자동 백업을 구성하세요.
  • 공간을 절약하기 위해 차등 백업을 구현하세요.
  • 각 백업에 포함된 내용을 문서화하세요.
  • 백업 무결성을 정기적으로 테스트하세요.

오프사이트 백업 저장소

  • 백업을 여러 플랫폼(클라우드 서비스, 물리적 드라이브)에 저장하세요.
  • 저장 전에 백업 파일을 암호화하세요.
  • 중요 데이터에 대한 지리적 중복성을 구현하세요.
  • Dropbox, Google Drive 또는 전문 백업 제공업체와 같은 서비스를 사용하세요.

복원 프로세스 테스트

  • 분기별 복원 훈련을 일정에 포함하세요.
  • 복원 절차를 단계별로 문서화하세요.
  • 복원 시간 요구 사항을 측정하세요.
  • 여러 팀원이 복구 절차에 대해 교육받도록 하세요.

비상 대응 계획

  • 서면 재해 복구 계획을 작성하세요.
  • 보안 사고 발생 시 통신 프로토콜을 설정하세요.
  • 복구 중 역할 및 책임을 정의하세요.
  • 호스팅 및 보안 서비스에 대한 비상 연락처 정보를 유지하세요.

8. 모니터링 및 유지 관리

보안 로그 및 모니터링

  • WordPress 활동 로깅을 활성화하세요.
  • 주간 보안 로그를 검토하세요.
  • 의심스러운 활동에 대한 경고를 구성하세요.
  • 향후 참고를 위해 로그를 보관하세요.

업타임 모니터링

  • 웹사이트 업타임 모니터링 도구를 구현하세요.
  • 다운타임에 대한 알림을 설정하세요.
  • 성능 패턴 및 이상을 추적하세요.
  • 기준 성능 메트릭을 문서화하세요.

정기 보안 감사

  • 분기마다 종합 보안 감사를 일정에 포함하세요.
  • 자동화된 스캔 도구와 수동 점검을 결합하여 사용하세요.
  • 감사 결과 및 수정 단계를 문서화하세요.
  • 시간에 따라 보안 개선 사항을 추적하세요.

업데이트 후 보안 점검

  • 업데이트 후 사이트 기능을 확인하세요.
  • 주요 업데이트 후 새로운 취약점을 스캔하세요.
  • 플러그인 업데이트 후 보안 설정을 검토하세요.
  • 변경 사항으로 문서를 업데이트하세요.

9. 추가 보안 레이어

CAPTCHA 구현

  • 로그인, 등록 및 댓글 양식에 CAPTCHA를 추가하세요.
  • reCAPTCHA v3와 같은 최신 CAPTCHA 솔루션을 사용하세요.
  • 대안을 위해 허니팟 기법을 구현하세요.
  • 보안과 사용자 경험의 균형을 맞추세요.

댓글 보안

  • 댓글 검열을 활성화하세요.
  • Akismet과 같은 스팸 방지 조치를 구현하세요.
  • 댓글을 달기 전에 등록을 요구하세요.
  • 오래된 게시물의 댓글을 비활성화하세요.

무차별 대입 공격 방지

  • 실패한 로그인 시도 후 IP 차단을 사용하세요.
  • 로그인 URL 변경을 구현하세요 (wp-admin 리디렉션).
  • 실패한 로그인 후 CAPTCHA를 설정하세요.
  • IP 지리적 제한을 고려하세요.

IP 차단 기법

  • 목표 시장이 아닌 고위험 국가의 IP를 차단하세요.
  • 신뢰할 수 있는 IP 주소에 대한 화이트리스트를 만드세요.
  • 동적 IP 차단을 사용하세요.
  • 일시적 및 영구 차단 정책을 구현하세요.

10. WordPress 보안 플러그인의 기능

WordPress 보안 플러그인을 선택할 때 다음 기능을 고려하세요:

  1. 악성코드 스캔: 사이트를 정기적으로 스캔하여 악성코드를 발견하면 경고합니다.
  2. 무차별 대입 로그인 보호: 실패한 로그인 시도의 수를 제한하고 의심스러운 IP 주소를 차단하여 무단 로그인 시도를 방지합니다.
  3. 해커 탐색 기법에 대한 보호: 포트 스캐닝 및 취약점 탐색과 같은 탐색 시도를 감지하고 차단합니다.
  4. 정기 규칙 세트 업데이트가 있는 WAF: 정기적으로 업데이트되는 규칙을 갖춘 웹 애플리케이션 방화벽(WAF)은 일반적인 웹 애플리케이션 공격을 차단할 수 있습니다.
  5. 비율 기반 스로틀링 및 차단: 단일 IP 주소의 요청 속도를 제한하여 남용 및 DDoS 공격을 방지합니다.
  6. 이중 인증: 로그인 시 두 번째 형태의 인증을 요구하여 보안을 강화합니다.
  7. 비밀번호 감사: 사용자 비밀번호의 강도와 보안 정책 준수를 검사합니다.
  8. 국가 차단: 특정 국가의 트래픽을 차단하여 알려진 악성 지역의 공격 위험을 줄입니다.
  9. 고급 차단 기법: IP 차단, 사용자 에이전트 차단 및 리퍼러 차단과 같은 고급 차단 옵션을 제공합니다.

결론

WordPress 웹사이트의 보안을 보장하는 것은 지속적인 과정으로 경계와 사전 조치가 필요합니다. 이 포괄적인 보안 체크리스트를 따르면 보안 침해의 위험을 크게 줄이고 일반적인 위협으로부터 사이트를 보호할 수 있습니다. 최신 보안 모범 사례에 대한 정보를 유지하고 보안 조치를 정기적으로 검토 및 업데이트하는 것을 잊지 마세요. 강력한 방어가 마련되면 안전하고 신뢰할 수 있는 온라인 존재감을 유지할 수 있습니다.

Tencent EdgeOne는 Tencent 엣지 노드를 기반으로 한 가속 및 보안 솔루션을 제공하며 WAFAnti-DDoS와 같은 보안 보호 서비스를 제공합니다. 노드는 다양한 3/4/7 계층 공격 요청을 식별하고 차단하며 DDoS 공격 트래픽을 정화하고 스마트 AI 엔진 및 봇 정책 엔진을 사용하여 웹, 봇 및 CC 공격의 행동을 분석하고 공격 차단 정책을 업데이트합니다. 이는 악의적인 요청이 귀하의 오리진 서버에 도달하지 않도록 도와주며 비즈니스에 원활하고 안정적인 접근을 보장합니다.가입하세요 그리고 무료 체험을 시작하세요!