워드프레스 보안 강화: 애플리케이션 비밀번호를 꺼야 하는 경우와 비활성화 방법

워드프레스 버전 5.6부터 기본으로 탑재된 애플리케이션 비밀번호(Application Passwords) 기능은 외부 응용 프로그램이나 AI 도구가 REST API를 통해 사이트에 접근할 수 있도록 해주는 인증 수단입니다. 활용도가 높은 기능이지만, 기본 설정 그대로 두면 외부 앱에 관리자 수준의 전체 권한이 부여되어 글, 플러그인, 테마, 사용자까지 모두 제어할 수 있는 상태가 됩니다.

REST API 연동이나 AI 도구를 전혀 사용하지 않는 일반 블로그라면 이 기능을 활성화해 둘 이유가 없습니다. 오히려 비활성화하지 않으면 공격자가 신뢰할 수 있는 앱을 가장하여 권한을 탈취하거나, SSL이 적용되지 않은 환경에서 패스워드가 노출될 위험이 있습니다. 이 글에서는 애플리케이션 패스워드의 역할과 보안 위협, 그리고 이 기능을 비활성화하는 방법에 대하여 다룹니다.

워드프레스 보안 강화: 애플리케이션 비밀번호를 꺼야 하는 경우와 비활성화 방법

애플리케이션 비밀번호란?

애플리케이션 비밀번호는 외부 애플리케이션이 워드프레스 사이트에 특정 권한을 요청할 수 있게 해주는 별도의 인증 수단입니다. 관리자 사용자의 로그인 비밀번호를 공유하지 않고도 외부 앱이 REST API를 통해 사용자 대신 작업을 수행할 수 있습니다.

일반 로그인 비밀번호와의 차이점

구분일반 로그인 비밀번호애플리케이션 패스워드
용도관리자 화면 직접 로그인REST API 외부 인증
관리자 화면 접속가능불가능
개별 삭제불가각각 독립 삭제 가능
발급 수1개여러 개 발급 가능

애플리케이션 비밀번호(응용 프로그램 암호)는 워드프레스 관리자 페이지 » 사용자 » 프로필 화면 하단의 "애플리케이션 비밀번호" 섹션에서 생성할 수 있습니다.

새 애플리케이션 비밀번호 이름에 이름을 입력하고 버튼을 클릭하면 xxxx xxxx xxxx xxxx xxxx xxxx 형식의 패스워드가 발급됩니다.

워드프레스 애플리케이션 비밀번호

저는 살펴보니 한 사이트에서 몇 년 전에 PC용 자동 포스팅 프로그램 테스트를 위해 애플리케이션 비밀번호가 설정되어 있는 것을 발견해서 삭제(폐기)했습니다.😀

애플리케이션 비밀번호 폐기

애플리케이션 비밀번호가 필요한 경우

REST API를 활용하는 외부 연동이 있다면 애플리케이션 패스워드가 필요합니다. 대표적인 사용 사례는 다음과 같습니다.

  • AI 자동 포스팅 앱(프로그램) — 챗GPT API로 생성한 글을 Python 등으로 자동 업로드하려는 경우
  • AI 도구 연동WordPress MCP Adapter, MCP for WordPress 등 AI 에이전트 연결 시
  • 자동화 서비스 — Zapier, Make(Integromat) 등 외부 자동화 툴 연동 시
  • 헤드리스 워드프레스 — Next.js 등 별도 프론트엔드와 연결할 때
  • 워드프레스 공식 앱 — 모바일·데스크탑 앱으로 사이트를 관리할 때

상기 케이스에 해당하지 않는 일반 블로그나 사이트라면 애플리케이션 비밀번호가 필요하지 않습니다.

애플리케이션 비밀번호를 비활성화해야 하는 이유

애플리케이션 비밀번호는 외부 어플리케이션이나 툴이 워드프레스 계정에 접근할 때 사용하는 고유한 인증 수단으로, 발급한 계정의 권한을 그대로 상속합니다.가령 관리자 계정으로 발급한 패스워드가 유출되면 해당 계정이 수행할 수 있는 모든 작업 권한까지 외부에 그대로 노출되는 셈입니다. 외부 연동이 불필요한 사이트라면 사용하지 않는 기능을 열어 둘 이유가 없으므로, 이 기능을 비활성화하여 불필요한 공격 경로를 미리 차단하는 것이 바람직합니다.

1. 기본적으로 관리자 전체 권한이 부여됨

응용 프로그램 암호는 발급한 계정의 권한을 그대로 상속합니다. 관리자 계정으로 발급하면 글과 플러그인 등 모든 항목들을 삭제할 수 있는 권한이 외부 앱이 가지게 됩니다. 이 상태에서 패스워드가 유출되면 사이트 전체가 위험에 노출됩니다.

2. 사칭 공격에 취약

공격자가 신뢰할 수 있는 브랜드 이름을 가장한 애플리케이션을 만들어 관리자를 속여 권한을 부여하도록 유도할 수 있습니다. 권한이 부여되면 사이트 콘텐츠 변경 및 데이터 탈취가 가능하게 됩니다.

3. SSL 미적용 환경의 패스워드 노출

SSL 인증서가 적용되지 않은 사이트에서는 사이트와 외부 앱 사이 네트워크 구간에서 패스워드가 평문으로 노출될 위험이 있습니다.

다행히 요즘은 대부분의 웹호스팅에서 SSL 인증서를 무료로 제공합니다. 카페24를 사용하는 경우 뉴매니지드 워드프레스(또는 매지니드 워드프레스) 호스팅을 이용하면 무료 SSL 보안서버 인증서를 설치할 수 있습니다. 클라우드웨이즈 등 대부분의 해외 호스팅은 오래 전부터 무료 Let's Encrypt SSL 인증서를 제공해왔습니다.

4. 사용하지 않는 기능은 비활성화하는 것이 바람직

보안의 기본 원칙은 불필요한 접근 경로를 최소화하는 것입니다. API 연동을 사용하지 않는다면 이 기능 자체를 비활성화하는 것이 가장 확실한 방어책입니다.

애플리케이션 비밀번호를 비활성화하는 방법

여러 가지 방법으로 애플리케이션 패스워드를 비활성화할 수 있습니다.

방법 1 - 플러그인을 사용하여 비활성화하기

간단한 방법으로 플러그인을 사용할 수 있습니다.

보안 플그러그인인 Wordfence를 사용하고 있다면 Wordfence » 방화벽 » 추가 옵션 섹션에서 "워드프레스 애플리케이션 패스워드 사용 안함"을 체크하여 이 기능을 사용하지 않도록 설정할 수 있습니다.

워드프레스 워드펜스 애플리케이션 패스워드 사용 안 함

워드펜스 설정을 저장하면 이제 "응용 프로그램 암호"에 "사용 안 함 - 워드프레스에서 패스워드프를 사용할 수 없도록 설정했습니다" 안내 문구가 표시됩니다.

응용 프로그램 암호 비활성화됨

워드펜스와 같이 기능이 많은 보안 플러그인은 무거워서 사이트 속도를 느리게 할 수 있지만, 보안이 중요한 경우 설치를 고려할 수 있습니다. 저는 과도한 악성 IP 접속 공격을 방어하기 위해 워드펜스를 설치했습니다.😀

Wordfence가 설치되어 있지 않다면 Disable Application Passwords 플러그인을 설치할 수 있습니다.

애플리케이션 패스워드 비활성화 플러그인

이 플러그인은 2,000개가 조금 넘는 사이트에 설치되어 활성화되어 있으며, 설치하여 활성화하면 하면 됩니다. 플러그인 설명을 보면 코드 한 줄 뿐이기 때문에 가볍다고 합니다.

방법 2 — 코드로 비활성화하기

차일드 테마의 함 수 파일(functions.php)에 다음 한 줄을 추가하면 애플리케이션 패스워드가 비활성화됩니다.

add_filter( 'wp_is_application_passwords_available', '__return_false' );

플러그인 사용을 선호하지 않는 경우 이 방법을 이용할 수 있습니다. (만약 Wordfence 보안 플러그인을 사용하고 있다면 워드펜스의 기능을 사용하면 번거롭게 FTP에 접속해서 코드를 추가할 필요가 없습니다.)

자주 묻는 질문 (FAQ)

Q1. 워드프레스 애플리케이션 패스워드는 일반 로그인 비밀번호와 어떻게 다른가요?

일반 로그인 비밀번호는 관리자 (대시보드) 화면에 직접 접속할 때 사용하는 반면, 애플리케이션 패스워드는 외부 앱이나 프로그램이 REST API를 통해 사이트에 접근할 때만 사용하는 별도의 인증 수단입니다. 유출되더라도 관리자 화면 로그인에는 사용할 수 없으며, 언제든지 특정 패스워드만 선택적으로 삭제(폐기)할 수 있습니다.

Q2. 애플리케이션 패스워드를 비활성화하면 사이트 기능에 문제가 생기지 않나요?

REST API를 사용하는 외부 서비스를 사용하지 않는다면 비활성화해도 사이트에 아무런 영향이 없습니다. 단, Jetpack처럼 REST API 인증을 내부적으로 사용하는 플러그인이 있다면 해당 기능이 중단될 수 있으므로 미리 확인하시기 바랍니다.

Q3. AI 자동 포스팅 프로그램을 사용할 때 관리자 계정으로 발급해도 되나요?

그리 권장하지 않습니다. 관리자 계정으로 발급하면 글 작성뿐 아니라 플러그인·테마·사용자 삭제 등 모든 권한이 외부 프로그램에 열리게 됩니다. 글을 바로 발행하는 자동 포스팅이라면 작성자(Author) 역할의 전용 계정을, 발행 전 검토가 필요한 구조라면 기여자(Contributor; 외부 기고자) 역할의 전용 계정에서 애플리케이션 패스워드를 발급하는 것이 보안상 더 안전할 수 있습니다. 역할에 부여된 권한이 적을수록 패스워드가 유출되더라도 피해 범위를 최소화할 수 있기 대문입니다.

Q4. 애플리케이션 패스워드가 유출되었을 경우 어떻게 해야 하나요?

워드프레스 관리자 화면에서 사용자 » 프로필로 이동하면 발급된 패스워드 목록이 표시됩니다. 유출이 의심되는 패스워드 오른쪽의 Revoke(폐기) 버튼을 클릭하면 해당 패스워드가 삭제되어 무효화됩니다.

Q5. Wordfence 같은 보안 플러그인을 사용 중이면 별도로 비활성화하지 않아도 되나요?

Wordfence 등 주요 보안 플러그인에서 애플리케이션 패스워드를 비활성화하는 기능을 제공하는 경우가 많습니다. 워드펜스의 경우 상기에서 언급했듯이 Wordfence » 방화벽 » 추가 옵션 부분에서 "워드프레스 애플리케이션 패스워드 사용 안함" 옵션을 체크할 수 있습니다.

참고

댓글 남기기

댓글 남기기