워드프레스 관리자 사용자 이름 변경 방법과 보안상 주의할 점
워드프레스 관리자 계정의 사용자 이름이 admin이거나 사이트 도메인과 비슷하면 공격자가 로그인 시도에 사용할 아이디를 쉽게 추측할 수 있습니다. 사용자 이름만 바꾼다고 모든 보안 문제가 해결되는 것은 아니지만, 자동화된 무차별 대입 공격이 겨냥할 정보를 줄이는 기본 조치로는 의미가 있습니다.
변경 방법은 크게 새 관리자 계정을 만든 뒤 기존 계정을 삭제하는 방식, 플러그인을 이용하는 방식, 데이터베이스에서 직접 수정하는 방식으로 나뉩니다. 사이트 운영 환경과 데이터베이스 접근 권한에 따라 안전한 방법을 선택하면 됩니다.
먼저 확인할 계정과 보안 위험
워드프레스 관리자 페이지의 사용자 > 모든 사용자에서 현재 계정의 사용자 이름을 확인할 수 있습니다. admin은 대표적인 공격 대상이며, 도메인이 example.com일 때 사용자 이름을 example처럼 설정한 경우도 추측하기 쉽습니다. 이름과 도메인, 사이트 주제, 회사명처럼 공개된 정보와 연결되는 사용자 이름은 피하는 편이 좋습니다.
사용자 이름은 로그인에 쓰이는 식별자이고, 프로필에 표시되는 이름이나 별칭과는 다릅니다. 사용자 이름을 변경한 뒤에도 프로필의 이름, 성, 별칭이 기존 값으로 남아 있을 수 있으므로 사용자 > 프로필에서 공개 표시 이름과 작성자 정보도 함께 점검해야 합니다.
비밀번호 역시 별도로 관리해야 합니다. 사용자 이름을 어렵게 바꾸더라도 짧거나 다른 서비스에서 재사용한 비밀번호를 사용하면 공격 위험은 남습니다. 예측하기 어려운 비밀번호와 2단계 인증, 최신 워드프레스·테마·플러그인 유지, 정기 백업을 함께 적용하는 편이 안전합니다.
아이디는 바꾸기 전에 이미 새어 나가고 있다
아이디를 바꾸는 이유는 공격자가 그것을 모르게 하려는 것입니다. 그런데 워드프레스는 기본 상태에서 아이디를 여러 경로로 흘립니다. 새는 구멍을 막지 않은 채 이름만 바꾸면 며칠 뒤에 새 이름이 다시 알려집니다. 바꾸기 전에 지금 무엇이 노출되고 있는지부터 확인해야 합니다.
작성자 번호로 아이디를 알아내는 방법
주소창에 ?author=1처럼 번호를 붙이면 워드프레스는 그 번호에 해당하는 작성자 보관함으로 넘겨줍니다. 이때 이동한 주소에 아이디가 그대로 들어 있습니다. 실제로 확인해 보면 이렇게 나옵니다.
?author=3 -> 301 /author/kilho/
번호를 1부터 차례로 올려 보면 사이트의 계정 목록이 만들어집니다. 자동화 도구가 가장 먼저 하는 일이 이것입니다. 여기서 중요한 것은 주소에 나오는 이름이 로그인 아이디와 같은 경우가 대부분이라는 점입니다. 워드프레스는 계정을 만들 때 아이디를 그대로 작성자 슬러그로 씁니다.
그래서 관리 화면에서 아이디만 바꾸고 작성자 슬러그를 그대로 두면 아무것도 달라지지 않습니다. 둘은 별개의 값입니다. 프로필 편집 화면에서 슬러그에 해당하는 항목까지 함께 바꿔야 합니다.
로그인 화면이 계정 존재를 알려준다
더 직접적인 경로도 있습니다. 로그인 화면에 아이디를 넣고 아무 비밀번호나 넣어 보면, 워드프레스는 두 가지로 다르게 답합니다.
| 입력한 아이디 | 돌아오는 메시지 | 공격자가 아는 것 |
|---|---|---|
| 존재하는 계정 | 비밀번호가 올바르지 않습니다 | 이 아이디는 있다 |
| 없는 계정 | 알 수 없는 사용자명입니다 | 이 아이디는 없다 |
메시지가 다르기 때문에 아이디 하나를 넣어 보는 것만으로 존재 여부를 확인할 수 있습니다. 실제로 admin을 넣어 보면 비밀번호 쪽 메시지가 돌아오는 사이트가 많습니다. 그 사이트에 admin 계정이 살아 있다는 뜻입니다.
이 메시지는 필터로 하나로 통일할 수 있습니다. 어느 쪽이든 같은 문구가 나가면 존재 여부를 알 수 없게 됩니다.
add_filter( 'login_errors', function () {
return '로그인 정보가 올바르지 않습니다.';
} );
REST API로도 목록이 나온다
세 번째 경로는 /wp-json/wp/v2/users입니다. 이 주소를 그대로 열면 글을 쓴 적이 있는 사용자들의 표시 이름과 슬러그가 JSON으로 돌아옵니다. 로그인하지 않은 상태에서도 열립니다.
여기에는 비밀번호나 이메일은 들어 있지 않지만, 슬러그가 그대로 나오기 때문에 앞의 작성자 번호 방식과 같은 결과를 더 빠르게 얻을 수 있습니다.
정리하면 순서가 이렇게 된다
아이디를 바꾸기로 했다면 다음 순서가 맞습니다. 이름만 바꾸는 것은 마지막 한 단계일 뿐입니다.
?author=1부터 몇 번까지 열리는지 직접 확인해 현재 노출 상태를 파악합니다.- 새 관리자 계정을 만들고 기존 계정의 글을 넘깁니다.
- 작성자 슬러그를 아이디와 다르게 지정합니다. 이걸 빠뜨리면 앞의 작업이 무의미해집니다.
- 로그인 오류 메시지를 하나로 통일합니다.
- 바꾼 뒤 다시
?author=로 열어 새 이름이 나오지 않는지 확인합니다.
마지막 확인을 빼먹는 경우가 많습니다. 슬러그는 기존 값이 캐시에 남아 한동안 그대로 나오기도 하므로, 바꾼 직후와 하루 뒤에 각각 확인해 보는 편이 확실합니다.
가장 안전하게 진행하는 방법은 새 관리자 계정 생성
워드프레스 관리자 화면에서 새 계정을 추가한 뒤 기존 계정을 삭제하는 방식은 데이터베이스를 직접 수정하지 않아도 된다는 점에서 무난합니다.
사용자 > 사용자 추가로 이동합니다.- 새 사용자 이름과 이메일을 입력하고 역할을
관리자로 지정합니다. - 새 비밀번호를 생성하거나 직접 설정합니다.
- 계정 생성 알림이 필요하지 않다면 사용자 알림 전송 옵션을 해제합니다.
- 로그아웃한 뒤 새 관리자 계정으로 다시 로그인합니다.
사용자 > 모든 사용자에서 기존 계정을 삭제합니다.
기존 계정을 삭제할 때 워드프레스는 해당 사용자가 작성한 글과 콘텐츠를 어떻게 처리할지 묻습니다. 모든 콘텐츠를 다음으로 귀속 항목에서 새 관리자 계정을 선택해야 기존 글이 삭제되지 않고 새 계정에 연결됩니다. 이 선택을 빠뜨리면 콘텐츠 처리 방식이 의도와 달라질 수 있으므로 삭제 화면을 서둘러 넘기지 않는 것이 좋습니다.
작업 전에는 데이터베이스와 사이트 파일을 백업해 두는 것이 안전합니다. 새 계정으로 정상 로그인되는지, 관리자 권한이 유지되는지, 기존 글의 작성자가 올바르게 표시되는지 확인한 뒤 기존 계정을 삭제하는 순서가 적절합니다.
플러그인으로 바꾸는 방법과 남는 작업
데이터베이스를 직접 다루기 어렵다면 사용자 이름 변경 플러그인을 사용할 수 있습니다. Username Changer처럼 사용자 이름 변경만 담당하는 플러그인을 설치한 뒤 사용자 프로필에서 Change Username을 선택하고 새 사용자 이름을 입력한 다음 Save Username을 누르는 방식입니다.
플러그인 방식은 클릭 몇 번으로 끝난다는 장점이 있지만, 변경이 완료된 뒤에도 확인 절차가 필요합니다. 우선 로그아웃한 다음 새 사용자 이름으로 다시 로그인해 보십시오. 프로필의 이름, 성, 별칭, 이메일 주소가 원하는 값인지 확인하고, 글 작성자 정보나 다른 관리 기능이 정상적으로 보이는지도 살펴보는 것이 좋습니다.
로그인 화면에서 기존 아이디가 계속 보인다고 해서 변경이 실패한 것은 아닐 수 있습니다. 이미 로그인한 브라우저에는 인증 쿠키와 세션이 남아 있어 wp-admin에 바로 들어가거나 워드프레스 메뉴에서 관리자 화면으로 이동할 수 있습니다. 변경 결과를 확인하려면 로그아웃한 뒤 새 사용자 이름으로 로그인하거나, 다른 브라우저의 비공개 창에서 테스트하는 편이 정확합니다.
또한 사용자 이름을 바꿔도 /wp-admin이나 wp-login.php 같은 관리자 로그인 경로 자체가 사라지는 것은 아닙니다. 이는 사용자 이름 변경과 별개의 문제입니다. 로그인 주소를 숨기고 싶다면 별도의 보안 설정이나 플러그인이 필요하지만, 주소를 바꾸는 것만으로 인증 보안이 완성되는 것은 아닙니다.
phpMyAdmin에서 직접 변경할 때 확인할 항목
호스팅에서 phpMyAdmin이나 데이터베이스 관리 도구를 제공한다면 데이터베이스의 사용자 레코드에서 로그인 이름을 수정할 수도 있습니다.
phpMyAdmin에 접속한 뒤 워드프레스가 사용하는 데이터베이스를 선택하고 wp_users 테이블을 찾습니다. 설치할 때 테이블 접두사를 변경했다면 테이블 이름은 wp_users가 아니라 다른 접두사가 붙은 prefix_users 형태일 수 있습니다. 해당 사용자 레코드의 수정 화면에서 user_login 값을 새 사용자 이름으로 바꾸면 됩니다.
이 방법은 빠르지만 실수의 영향이 큽니다. 작업 전에 데이터베이스 백업을 먼저 만들고, 수정하려는 레코드가 실제 관리자 계정인지 사용자 이메일과 ID 등을 함께 확인해야 합니다. 테이블이나 다른 필드를 잘못 수정하면 로그인이나 사이트 기능에 문제가 생길 수 있습니다.
호스팅마다 데이터베이스 접속 방법도 다릅니다. cPanel을 제공하는 서비스는 cPanel에서 phpMyAdmin에 접근할 수 있지만, 일부 호스팅은 보안상의 이유로 phpMyAdmin을 제공하지 않습니다. 예를 들어 카페24는 phpMyAdmin 서비스를 종료했고, 가비아 호스팅은 HeidiSQL 같은 별도 클라이언트를 이용해야 할 수 있습니다. 클라우드웨이즈처럼 자체 Database Manager를 제공하는 환경도 있으므로, 접속 경로는 이용 중인 호스팅의 안내를 확인해야 합니다.
워드프레스 계정과 호스팅 관리 계정은 다르다
여기서 자주 혼동하는 부분이 워드프레스 관리자 계정과 호스팅 애플리케이션 계정입니다. 데이터베이스에서 워드프레스의 user_login을 바꿔도 클라우드웨이즈 등 호스팅 서비스의 애플리케이션 정보에 표시되는 사용자 이름까지 자동으로 바뀌지는 않을 수 있습니다.
반대로 호스팅 관리 화면의 로그인 정보를 수정했다고 워드프레스 관리자 사용자 이름이 변경되는 것도 아닙니다. 두 계정은 서로 다른 시스템에서 관리되므로, 변경 후에는 워드프레스 /wp-admin에서 새 아이디와 기존 비밀번호 또는 새로 설정한 비밀번호로 로그인해야 합니다. 호스팅 관리 화면에 이전 값이 남아 있다고 해서 워드프레스 변경이 실패했다고 단정하지 않는 것이 좋습니다.
Better Search Replace 같은 도구로 데이터베이스 전체의 문자열을 일괄 교체하는 방식은 사용자 이름 변경의 일반적인 방법으로 보기 어렵습니다. 사용자 이름은 특정 테이블의 특정 필드에 저장되므로, 전체 데이터베이스의 문자열을 바꾸면 글 내용이나 설정값까지 예상하지 못한 영향을 받을 수 있습니다. 사용자 이름만 바꾸려는 목적이라면 새 관리자 계정 생성, 전용 플러그인, 정확한 user_login 필드 수정 중 하나를 선택하는 편이 낫습니다.
관리자 이메일 변경과 추가 보안 설정
관리자 사용자 이름과 사이트 관리자 이메일은 서로 다른 항목입니다. 사용자 이름을 바꾼다고 이메일 주소가 자동으로 변경되지는 않습니다. 사이트 알림을 받는 주소를 바꾸려면 설정 > 일반 > 관리자 주소에서 수정합니다.
새 이메일 주소를 입력하면 확인 메일이 전송될 수 있으며, 확인이 완료되어야 변경이 적용되는 경우가 있습니다. 메일이 도착하지 않는다면 스팸함과 사이트의 메일 발송 설정을 확인해야 합니다. 이메일 주소까지 바꿀 필요는 없지만, 현재 사용하지 않는 주소가 관리자 주소로 등록되어 있다면 비밀번호 재설정이나 보안 알림을 받지 못할 수 있으므로 함께 점검할 만합니다.
함께 적용할 보안 설정
사용자 이름 변경은 보안의 한 단계일 뿐입니다. 로그인 실패 횟수 제한, 2단계 인증, 보안 플러그인, 최신 버전 유지, 정기적인 백업을 함께 적용해야 대응 범위가 넓어집니다. 특히 데이터베이스를 직접 수정하는 경우에는 백업 파일이 실제로 복구 가능한지까지 확인해 두는 것이 좋습니다.
| 방법 | 필요한 것 | 실수했을 때 | 변경 후 할 일 |
|---|---|---|---|
| 새 관리자 계정 생성 | 관리자 화면만 | 콘텐츠 귀속을 놓치면 글이 사라질 수 있음 | 새 계정 로그인·작성자 표시 확인 |
| 전용 플러그인 | 플러그인 설치 권한 | 영향 범위가 좁음 | 로그아웃 후 새 아이디로 재로그인 |
| phpMyAdmin 등 DB 도구 | 데이터베이스 접근 권한 | 다른 필드를 건드리면 로그인 불가 | 접두사·레코드 확인, 백업 복구 검증 |
새 관리자 계정을 만드는 방식은 콘텐츠 귀속을 정확히 지정할 수 있어 일반 운영자에게 가장 부담이 적습니다. 플러그인은 편리하지만 변경 후 로그인과 프로필을 확인해야 하고, phpMyAdmin은 가장 직접적이지만 백업과 필드 확인이 필수입니다. 어떤 방법을 쓰든 기존 계정을 바로 삭제하지 말고 새 계정으로 로그인과 콘텐츠 상태를 먼저 검증한 뒤 정리하는 순서가 안전합니다.