보안

이 무료 백서에서 워드프레스 핵심 소프트웨어 보안에 대해 자세히 알아보세요. PDF 형식으로 다운로드할 수도 있습니다.

개요

이 문서는 워드프레스 핵심 소프트웨어 개발 및 관련 보안 프로세스에 대한 분석과 설명, 소프트웨어에 직접 내장된 내재적 보안에 대한 검토를 담고 있습니다. 콘텐츠 관리 시스템 또는 웹 애플리케이션 프레임워크로서 워드프레스를 평가하는 의사 결정자는 이 문서를 분석 및 의사 결정에 활용하고 개발자는 소프트웨어의 보안 구성 요소와 모범 사례를 숙지하는 데 참조해야 합니다.

이 문서의 정보는 발행 시점의 안정적인 최신 소프트웨어 릴리스인 워드프레스 4.7에 대한 최신 정보이지만, 이전 버전과의 호환성은 워드프레스 개발팀이 중점을 두고 있으므로 최신 버전의 소프트웨어와도 관련이 있는 것으로 간주해야 합니다. 특정 보안 조치 및 변경 사항은 특정 릴리즈의 핵심 소프트웨어에 추가되는 대로 공지됩니다. 최상의 보안 환경을 보장하기 위해 항상 안정적인 최신 버전의 워드프레스를 실행하는 것이 좋습니다.

Executive Summary

워드프레스는 수백만 개의 웹사이트, 웹 애플리케이션, 블로그를 구동하는 데 사용되는 동적 오픈소스 콘텐츠 관리 시스템입니다. 현재 인터넷에서 상위 상위 1,000만 웹사이트 중 43% 이상의 웹사이트가 워드프레스를 사용하고 있습니다. 워드프레스의 사용성, 확장성, 성숙한 개발 커뮤니티는 모든 규모의 웹사이트에 인기 있고 안전한 선택이 되고 있습니다.

2003년 처음 출시된 이래 워드프레스는 핵심 소프트웨어가 일반적인 보안 위협을 해결하고 완화할 수 있도록 지속적으로 보안을 강화해왔으며, 이 문서에서 설명하는 OWASP(오픈 웹 애플리케이션 보안 프로젝트)에서 일반적인 보안 취약점으로 식별한 상위 10개 목록이 여기에 해당합니다.

워드프레스 보안팀은 워드프레스 코어 리더십 팀과 협력하고 워드프레스 글로벌 커뮤니티의 지원을 받아 워드프레스.org에서 배포 및 설치 가능한 핵심 소프트웨어의 보안 문제를 파악하고 해결할 뿐만 아니라 타사 플러그인 및 테마 작성자를 위한 보안 모범 사례를 권장하고 문서화하기 위해 노력하고 있습니다.

사이트 개발자와 관리자는 일반적인 취약점의 원인이 되는 핵심 API와 기본 서버 구성의 올바른 사용과 모든 사용자가 워드프레스에 액세스할 때 강력한 비밀번호를 사용하도록 하는 데 특히 주의를 기울여야 합니다.

워드프레스 개요

워드프레스는 무료 오픈소스 콘텐츠 관리 시스템(CMS)입니다. 워드프레스는 세계에서 가장 널리 사용되는 CMS 소프트웨어로, 상위 1,000만 개 웹사이트1 중 43% 이상을 지원하며 CMS를 사용하는 모든 사이트의 약 62%의 시장 점유율을 차지합니다.

워드프레스는 4가지 핵심 자유를 제공하는 일반 공중 사용 허가서(GPLv2 이상)에 따라 라이선스가 부여되며, 워드프레스의 "권리장전"이라고 할 수 있습니다:

  1. 어떤 목적이든 자유롭게 프로그램을 실행할 수 있습니다.
  2. 프로그램 작동 방식을 자유롭게 연구하고 원하는 대로 변경할 수 있습니다.
  3. 재배포의 자유.
  4. 수정한 버전의 사본을 다른 사람에게 자유롭게 배포할 수 있습니다.

워드프레스 코어 리더십 팀

워드프레스 프로젝트는 공동창업자이자 수석 개발자인 매트 뮬렌웨그가 이끄는 핵심 리더십 팀에 의해 운영되는 능력주의 프로젝트입니다. 이 팀은 핵심 개발, WordPress.org, 커뮤니티 이니셔티브 등 프로젝트의 모든 측면을 관리합니다.

핵심 리더십 팀은 매트 뮬렌웨그와 5명의 리드 개발자, 그리고 영구 커밋 권한을 가진 12명 이상의 핵심 개발자로 구성되어 있습니다. 이 개발자들은 기술 결정에 대한 최종 권한을 가지고 있으며 아키텍처 논의와 구현 노력을 주도합니다.

워드프레스에는 수많은 기여 개발자가 있습니다. 이들 중 일부는 전직 또는 현재 커미터이며, 일부는 향후 커미터가 될 가능성이 높습니다. 이러한 기여 개발자는 신뢰할 수 있고 베테랑이며 동료들 사이에서 많은 존경을 받고 있는 워드프레스 기여자입니다. 필요에 따라 워드프레스에는 임시 또는 시험적으로 특정 구성 요소에 대한 커밋 액세스 권한을 부여받은 개인인 게스트 커미터도 있습니다.

핵심 개발자와 기여 개발자가 주로 워드프레스 개발을 이끌고 있습니다. 매 버전마다 수백 명의 개발자가 워드프레스에 코드를 기여합니다. 이러한 핵심 기여자는 어떤 방식으로든 핵심 코드베이스에 기여하는 자원 봉사자입니다.

워드프레스 릴리스 주기

각 워드프레스 릴리스 주기는 한 명 이상의 핵심 워드프레스 개발자가 주도합니다. 릴리스 주기는 일반적으로 초기 범위 설정 회의부터 버전 출시까지 약 4개월 정도 소요됩니다.

릴리스 주기는 다음 패턴2을 따릅니다:

  • 1단계: 팀 리더를 계획하고 확보합니다. 이 작업은 Slack의 #core 채팅방에서 이루어집니다. 릴리즈 리더는 다음 워드프레스 릴리즈의 기능에 대해 논의합니다. 워드프레스 기여자가 이 토론에 참여합니다. 릴리즈 리드는 각 기능에 대한 팀 리드를 식별합니다.
  • 2단계: 개발 작업이 시작됩니다. 팀 리더가 팀을 구성하고 할당된 기능에 대해 작업합니다. 개발이 계속 진행될 수 있도록 정기적인 채팅이 예정되어 있습니다.
  • 3단계: 베타. 베타 버전이 출시되고 베타 테스터에게 버그 보고를 요청합니다. 이 단계부터는 새로운 개선 사항이나 기능 요청에 대한 커밋이 더 이상 수행되지 않습니다. 타사 플러그인 및 테마 작성자는 향후 변경 사항에 대해 코드를 테스트하는 것이 좋습니다.
  • 4단계: 릴리스 후보. 이 시점부터는 번역 가능한 문자열에 대해 문자열 동결이 적용됩니다. 작업은 회귀 및 차단기만 대상으로 합니다.
  • 5단계: 시작하기. 워드프레스 버전이 실행되고 워드프레스 관리자에서 업데이트를 사용할 수 있습니다.

버전 번호 및 보안 릴리스

워드프레스 주요 버전은 처음 두 순서에 따라 결정됩니다. 예를 들어 3.5는 3.6, 3.7 또는 4.0과 마찬가지로 주요 릴리스입니다. "워드프레스 3" 또는 "워드프레스 4"는 없으며 각 주요 릴리스는 "워드프레스 3.9"와 같은 번호로 표시됩니다

메이저 릴리스에는 새로운 사용자 기능과 개발자 API가 추가될 수 있습니다. 일반적으로 소프트웨어 세계에서 "메이저" 버전은 이전 버전과의 호환성을 깨뜨릴 수 있지만 워드프레스는 이전 버전과의 호환성을 깨지 않기 위해 노력합니다. 하위 호환성은 프로젝트의 가장 중요한 철학 중 하나로, 사용자와 개발자 모두가 훨씬 쉽게 업데이트할 수 있도록 하는 것을 목표로 합니다.

워드프레스 부 버전은 세 번째 순서에 따라 결정됩니다. 3.5.1 버전은 3.4.23와 마찬가지로 마이너 릴리스입니다. 마이너 릴리스는 보안 취약점을 수정하고 중요한 버그를 해결하기 위한 용도로만 사용됩니다. 워드프레스의 새 버전은 매우 자주 출시되므로(메이저 릴리즈는 4~5개월마다, 마이너 릴리즈는 필요에 따라 수시로 출시하는 것이 목표입니다) 메이저와 마이너 릴리즈만 있으면 됩니다.

버전 이전 버전과의 호환성

워드프레스 프로젝트는 하위 호환성에 대한 강력한 의지를 가지고 있습니다. 이러한 약속은 워드프레스 코어 소프트웨어가 업데이트될 때 테마, 플러그인, 사용자 정의 코드가 계속 작동한다는 의미이며, 사이트 소유자가 워드프레스 버전을 최신 보안 릴리스로 업데이트하도록 권장합니다.

워드프레스와 보안

워드프레스 보안 팀

워드프레스 보안팀은 수석 개발자와 보안 연구원을 포함한 약 50명의 전문가로 구성되어 있으며, 절반 정도가 웹에서 가장 오래되고 가장 큰 워드프레스 호스팅 플랫폼인 워드프레스닷컴을 만든 Automattic의 직원이고 다수의 직원이 웹 보안 분야에서 일하고 있습니다. 이 팀은 유명하고 신뢰할 수 있는 보안 연구자 및 호스팅 회사3의 자문을 구합니다.

워드프레스 보안팀은 종종 다른 보안팀과 협력하여 워드프레스 3.9.24에서 워드프레스와 함께 제공되는 XML-RPC API에 사용되는 PHP XML 파서의 취약점을 해결하는 등 공통 종속성 문제를 해결하고 있습니다. 이 취약점 해결은 워드프레스와 드루팔 보안팀의 공동 노력의 결과입니다.

워드프레스 보안 위험, 프로세스 및 기록

워드프레스 보안팀은 잠재적인 취약점을 발견하면 즉시 보안팀에 알리는 책임 있는 공개를 믿습니다. 잠재적인 보안 취약점은 워드프레스 해커원5 을 통해 보안팀에 알릴 수 있습니다. 보안팀은 비공개 Slack 채널을 통해 서로 소통하며, 버그와 보안 문제를 추적, 테스트, 수정하기 위해 차단된 비공개 Trac에서 작업합니다.

각 보안 신고는 접수 즉시 확인되며, 보안팀은 취약점을 확인하고 심각도를 판단하기 위해 노력합니다. 취약점이 확인되면 보안팀은 문제를 해결하기 위한 패치를 계획하여 다음 워드프레스 소프트웨어 릴리스에 적용하거나 문제의 심각도에 따라 즉각적인 보안 릴리스로 푸시할 수 있습니다.

즉각적인 보안 릴리스의 경우 보안팀에서 WordPress.org 뉴스 사이트6에 릴리스를 발표하고 변경 사항을 자세히 설명하는 권고문을 게시합니다. 향후 지속적인 책임감 있는 보고를 장려하고 강화하기 위해 취약점을 책임감 있게 공개하는 것에 대한 크레딧이 권고에 제공됩니다.

워드프레스 소프트웨어 관리자는 새 릴리스가 출시되면 사이트 대시보드에서 업그레이드 알림을 확인할 수 있으며, 수동 업그레이드 후 사용자는 변경 사항을 자세히 설명하는 워드프레스 정보 화면으로 리디렉션됩니다. 관리자가 자동 백그라운드 업데이트를 사용하도록 설정한 경우에는 업그레이드가 완료되면 이메일을 받게 됩니다.

보안 릴리스에 대한 자동 백그라운드 업데이트

워드프레스 3.7 버전부터 3.7.1 및 3.7.2와 같은 모든 마이너 릴리스7에 자동 백그라운드 업데이트가 도입되었습니다. 사이트 소유자가 직접 할 필요 없이 워드프레스 보안팀에서 자동화된 보안 개선 사항을 식별, 수정, 배포할 수 있으며 보안 업데이트가 자동으로 설치됩니다.

현재 안정적인 워드프레스 릴리스에 보안 업데이트가 푸시되면 코어 팀은 백그라운드 업데이트가 가능한 모든 릴리스(워드프레스 3.7 이후)에 대해서도 보안 업데이트를 푸시하므로 이전 버전이지만 여전히 최신 버전인 워드프레스의 보안이 강화됩니다.

개별 사이트 소유자는 구성 파일을 간단히 변경하여 자동 백그라운드 업데이트를 제거할 수 있지만 핵심 팀은 기능을 유지하고 안정적인 최신 버전의 워드프레스를 실행하는 것을 강력히 권장합니다.

2013 OWASP 상위 10

오픈 웹 애플리케이션 보안 프로젝트(OWASP)는 웹 애플리케이션 보안에 특화된 온라인 커뮤니티입니다. OWASP 상위 10대 목록8은 다양한 조직에서 가장 심각한 애플리케이션 보안 위험을 식별하는 데 중점을 두고 있습니다. 상위 10개 항목은 악용 가능성, 탐지 가능성 및 영향 추정치에 대한 합의된 추정치와 함께 선정되고 우선순위가 정해집니다.

다음 섹션에서는 이러한 잠재적 위험으로부터 핵심 소프트웨어와 타사 플러그인 및 테마를 강화하기 위해 워드프레스에서 사용하는 API, 리소스 및 정책에 대해 설명합니다.

A1 - 주입

워드프레스에는 개발자가 무단 코드를 삽입할 수 없도록 하고 데이터의 유효성을 검사하고 살균하는 데 도움이 되는 일련의 기능과 API가 있습니다. 이러한 API를 사용하여 HTML, URL, HTTP 헤더의 입력 및 출력 데이터를 보호, 유효성 검사 또는 살균하고 데이터베이스 및 파일시스템과 상호 작용할 때 사용하는 방법에 대한 모범 사례와 문서9를 사용할 수 있습니다. 관리자는 필터를 통해 업로드할 수 있는 파일 유형을 추가로 제한할 수도 있습니다.

A2 - 깨진 인증 및 세션 관리

워드프레스 코어 소프트웨어는 사용자 계정과 인증을 관리하며 사용자 아이디, 이름, 비밀번호와 같은 세부 정보는 인증 쿠키와 함께 서버 측에서 관리됩니다. 비밀번호는 표준 솔팅 및 스트레칭 기술을 사용하여 데이터베이스에서 보호됩니다. 4.0 이후 버전의 워드프레스에서는 로그아웃 시 기존 세션이 삭제됩니다.

A3 - 크로스 사이트 스크립팅(XSS)

워드프레스에서는 사용자가 제공한 데이터를 안전하게 보호하는 데 도움이 되는 다양한 기능을 제공합니다10. 신뢰할 수 있는 사용자, 즉 단일 워드프레스 설치의 관리자 및 편집자와 워드프레스 멀티사이트의 네트워크 관리자만 필요에 따라 글이나 페이지 내부에 필터링되지 않은 HTML 또는 JavaScript를 게시할 수 있습니다. 신뢰할 수 없는 사용자와 사용자가 제출한 콘텐츠는 기본적으로 wp_kses 기능을 통해 KSES 라이브러리를 사용하여 위험한 개체를 제거하도록 필터링됩니다.

예를 들어, 워드프레스 코어 팀은 워드프레스 2.3 출시 전에 대부분의 테마 작성자가 함수 the_search_query()을 오용하고 있으며 HTML에서 사용하기 위해 함수의 출력을 이스케이프하지 않고 있다는 사실을 발견했습니다. 이전 버전과의 호환성을 약간 깨는 아주 드문 경우지만, 워드프레스 2.3에서는 함수의 출력이 미리 이스케이프되도록 변경되었습니다.

A4 - 안전하지 않은 직접 객체 참조

워드프레스에서는 사용자 계정의 고유 숫자 식별자나 URL 또는 양식 필드에서 사용할 수 있는 콘텐츠와 같은 직접적인 객체 참조를 제공하는 경우가 많습니다. 이러한 식별자는 직접적인 시스템 정보를 공개하지만 워드프레스의 다양한 권한 및 액세스 제어 시스템은 무단 요청을 방지합니다.

A5 - 보안 구성 오류

대부분의 워드프레스 보안 구성 작업은 권한이 있는 관리자 한 명으로 제한됩니다. 워드프레스의 기본 설정은 코어 팀 수준에서 지속적으로 평가되며 워드프레스 코어 팀은 워드프레스 사이트 운영을 위한 서버 구성의 보안을 강화하기 위한 문서와 모범 사례를 제공합니다11.

A6 - 민감한 데이터 노출

워드프레스 사용자 계정 비밀번호는 휴대용 PHP 비밀번호 해싱 프레임워크12를 기반으로 솔트 처리 및 해시 처리됩니다. 워드프레스의 권한 시스템은 등록된 사용자의 PII, 댓글 작성자의 이메일 주소, 비공개로 게시된 콘텐츠 등의 개인 정보에 대한 액세스를 제어하는 데 사용됩니다. 워드프레스 3.7에서는 비밀번호 강도 측정기가 핵심 소프트웨어에 포함되어 비밀번호를 설정하는 사용자에게 추가 정보와 강도 증가에 대한 힌트를 제공합니다. 또한 워드프레스에는 HTTPS를 요구하는 구성 설정 옵션이 있습니다.

A7 - 누락된 기능 수준 액세스 제어

워드프레스에서는 작업을 실행하기 전에 모든 기능 수준 액세스 요청에 대한 적절한 인증과 권한을 확인합니다. 적절한 인증 없이 관리 URL, 메뉴 및 페이지에 액세스하거나 시각화하는 것은 인증 시스템과 긴밀하게 통합되어 권한이 없는 사용자의 액세스를 방지합니다.

A8 - 교차 사이트 요청 위조(CSRF)

워드프레스에서는 논스13라는 암호화 토큰을 사용하여 권한이 있는 사용자의 작업 요청 의도를 검증하여 잠재적인 CSRF 위협으로부터 보호합니다. 워드프레스에서는 이러한 토큰 생성을 위한 API를 제공하여 고유하고 임시적인 토큰을 생성하고 확인하며 토큰은 특정 사용자, 특정 작업, 특정 개체, 특정 기간으로 제한되며 필요에 따라 양식과 URL에 추가할 수 있습니다. 또한 모든 논스는 로그아웃 시 무효화됩니다.

A9 - 알려진 취약점이 있는 구성 요소 사용

워드프레스 코어 팀은 핵심 기능을 위해 워드프레스에 통합된 몇 가지 라이브러리와 프레임워크를 면밀히 모니터링합니다. 과거에 코어 팀은 워드프레스 3.5.214에서 TinyMCE의 교차 사이트 취약점을 수정하는 업데이트와 같이 여러 타사 구성 요소의 보안을 강화하는 데 기여한 바 있습니다.

필요한 경우 코어 팀은 3.5.2에서 SWFUpload 라이브러리가 공식적으로 Plupload 라이브러리로 대체되고 보안 팀<15이 단기적으로 SWFUpload를 계속 사용하는 플러그인을 위해 보안 포크를 제공한 경우와 같이 중요한 외부 구성 요소를 포크하거나 교체하기로 결정할 수 있습니다.

A10 - 유효하지 않은 리디렉션 및 전달

워드프레스 내부 액세스 제어 및 인증 시스템은 사용자를 원치 않는 목적지나 자동 리디렉션으로 안내하려는 시도로부터 사용자를 보호합니다. 이 기능은 플러그인 개발자에게도 API인 wp_safe_redirect()16 를 통해 제공됩니다.

추가 보안 위험 및 우려 사항

XXE(XML 외부 엔티티) 처리 공격

XML을 처리할 때 워드프레스에서는 외부 엔티티 및 엔티티 확장 공격을 모두 방지하기 위해 사용자 정의 XML 엔티티 로드를 비활성화합니다. 워드프레스에서는 PHP의 핵심 기능 외에 플러그인 작성자를 위한 추가적인 보안 XML 처리 API를 제공하지 않습니다.

SSRF(서버 측 요청 위조) 공격

워드프레스에서 발생하는 HTTP 요청은 루프백 및 비공개 IP 주소에 대한 액세스를 방지하기 위해 필터링됩니다. 또한 특정 표준 HTTP 포트에 대해서만 액세스가 허용됩니다.

워드프레스 플러그인 및 테마 보안

기본테마

워드프레스에서 콘텐츠를 프론트엔드에 표시하려면 테마를 활성화해야 합니다. 핵심 워드프레스와 함께 제공되는 기본 테마(현재 "Twenty Twenty-Four")는 테마 개발자 팀과 핵심 개발팀 모두 보안상의 이유로 철저한 검토와 테스트를 거쳤습니다.

기본 테마는 사용자 정의 테마 개발의 시작점으로 사용할 수 있으며 사이트 개발자는 일부 사용자 정의가 포함된 하위 테마를 만들 수 있지만 대부분의 기능 및 보안은 기본 테마를 기반으로 합니다. 기본 테마는 관리자가 필요하지 않은 경우 쉽게 제거할 수 있습니다.

WordPress.org 테마 및 플러그인 저장소

WordPress.org 사이트에는 약 50,000개 이상의 플러그인과 5,000개 이상의 테마가 등록되어 있습니다. 이러한 테마와 플러그인은 포함을 위해 제출되며 자원 봉사자가 직접 검토한 후 저장소에서 사용할 수 있도록 합니다.

저장소에 플러그인과 테마를 포함한다고 해서 보안 취약점이 없다는 보장은 없습니다. 플러그인 작성자가 저장소에 포함하기 위해 제출하기 전에 참고할 수 있는 가이드라인이 제공되며17, 워드프레스 테마 개발 방법18에 대한 광범위한 문서가 WordPress.org 사이트에 제공됩니다.

각 플러그인과 테마는 플러그인 또는 테마 소유자가 지속적으로 개발할 수 있으며, 이후 수정 사항이나 기능 개발은 리포지토리에 업로드하여 해당 플러그인 또는 테마가 설치된 사용자가 해당 변경 사항에 대한 설명과 함께 사용할 수 있도록 할 수 있습니다. 사이트 관리자는 관리 대시보드를 통해 업데이트가 필요한 플러그인에 대한 알림을 받습니다.

워드프레스 보안팀에서 플러그인 취약점을 발견하면 플러그인 작성자에게 연락하여 함께 협력하여 안전한 버전의 플러그인을 수정하고 릴리스합니다. 플러그인 작성자의 응답이 없거나 취약점이 심각한 경우 플러그인/테마를 공개 디렉토리에서 가져오고 경우에 따라 보안팀에서 직접 수정 및 업데이트합니다.

테마 검토 팀

테마 검토팀은 공식 워드프레스 테마 디렉토리에 포함하기 위해 제출된 테마를 검토하고 승인하는 워드프레스 커뮤니티의 핵심 및 기존 회원이 이끄는 자원 봉사자 그룹입니다. 테마 검토팀은 공식 테마 검토 가이드라인19, 테마 단위 테스트 데이터20, 테마 확인 플러그인21을 관리하고 개발 모범 사례와 관련하여 워드프레스 테마 개발자 커뮤니티의 참여와 교육을 시도합니다. 이 그룹에 포함되는 것은 워드프레스 개발팀의 핵심 커미터가 조정합니다.

워드프레스 보안에서 호스팅 공급업체의 역할

워드프레스는 다양한 플랫폼에 설치할 수 있습니다. 워드프레스 코어 소프트웨어는 이 문서에서 다룬 안전한 웹 애플리케이션 운영을 위한 많은 조항을 제공하지만, 운영체제와 소프트웨어를 호스팅하는 기본 웹 서버의 구성도 워드프레스 애플리케이션의 보안을 유지하는 데 똑같이 중요합니다.

워드프레스닷컴과 워드프레스 보안에 대한 참고 사항

WordPress.com는 세계에서 가장 큰 워드프레스 설치 공간으로, 워드프레스 프로젝트 공동창시자인 매트 뮬렌웨그가 설립한 오토매틱이 소유 및 관리하고 있습니다. WordPress.com는 핵심 워드프레스 소프트웨어에서 실행되며 자체 보안 프로세스, 위험 및 솔루션22을 갖추고 있습니다. 이 문서는 WordPress.org에서 다운로드할 수 있고 전 세계 모든 서버에 설치할 수 있는 자체 호스팅 오픈소스 워드프레스 소프트웨어와 관련된 보안을 다룹니다.

부록

Core WordPress APIs

워드프레스 코어 애플리케이션 프로그래밍 인터페이스(API)는 여러 개별 API23로 구성되어 있으며, 각 API는 주어진 기능 집합과 관련된 기능을 다루고 사용합니다. 이들은 함께 프로젝트 인터페이스를 구성하여 플러그인과 테마가 워드프레스 핵심 기능을 안전하고 안전하게 상호 작용, 변경 및 확장할 수 있도록 합니다.

각 워드프레스 API는 워드프레스 핵심 소프트웨어와 상호 작용하고 확장하는 모범 사례와 표준화된 방법을 제공하지만, 다음 워드프레스 API는 워드프레스 보안을 강화하고 강화하는 데 가장 관련성이 높습니다:

데이터베이스 API

워드프레스 0.71에 추가된 데이터베이스 API24는 데이터베이스 계층에 저장된 명명된 값으로 데이터에 액세스하는 올바른 방법을 제공합니다.

파일시스템 API

워드프레스 2.626에 추가된 파일시스템 API25는 원래 워드프레스 자체의 자동 업데이트 기능을 위해 만들어졌습니다. 파일시스템 API는 다양한 호스트 유형에서 로컬 파일을 파일시스템에 읽고 쓰는 데 필요한 기능을 추상화하여 안전하게 수행합니다.

이 작업은 개별 호스트 지원에 따라 로컬 파일시스템에 연결하는 다양한 방법을 구현하는 여러 하위 클래스와 WP_Filesystem_Base 클래스를 통해 수행됩니다. 로컬에 파일을 써야 하는 테마나 플러그인은 모두 WP_Filesystem 클래스 계열을 사용해야 합니다.

HTTP API

워드프레스 2.728에 추가되고 워드프레스 2.8에서 더욱 확장된 HTTP API27는 워드프레스에 대한 HTTP 요청을 표준화합니다. 이 API는 쿠키, gzip 인코딩 및 디코딩, 청크 디코딩(HTTP 1.1의 경우) 및 기타 다양한 HTTP 프로토콜 구현을 처리합니다. API는 요청을 표준화하고, 전송하기 전에 각 방법을 테스트하며, 서버 구성에 따라 적절한 방법을 사용하여 요청을 수행합니다.

권한 및 현재 사용자 API

권한 및 현재 사용자 API29는 요청된 작업이나 작업을 수행할 수 있는 현재 사용자의 권한과 권한을 확인하는 데 도움이 되는 기능 집합으로, 권한이 없는 사용자가 허용된 기능을 넘어 액세스하거나 기능을 수행하지 못하도록 보호할 수 있습니다.

백서 콘텐츠 라이선스

이 문서의 텍스트(워드프레스 로고 또는 상표 제외)는 CC0 1.0 유니버설(CC0 1.0) 퍼블릭 도메인 전용 라이선스에 따라 라이선스가 부여됩니다. 상업적 목적을 위해서라도 허가 없이 복사, 수정, 배포, 공연할 수 있습니다.

Drupal의 보안 백서에서 영감을 얻었습니다.

추가 읽기


작성자: 사라 로소

배리 아브라함슨, 마이클 아담스, 존 케이브, 헬렌 후-산디, 디온 헐스, 모 장다, 폴 마이오라나의 기여

버전 1.0 2015년 3월


각주