메뉴 닫기

워드프레스 user 대신 개인 계정으로 최고 관리자 변경 SMTP 메일 발송 Chapter 1

워드프레스 user 계정 대신 최고관리자 변경  #1

머리말

워드프레스를 처음 설치하게되면 관리자에 접속하기 위해서 user 아이디를 이용해서 접속하게 된다.
이 과정에서 비밀번호는 서버에서 생성된 비밀번호를 알아와서 접속을 하게 되어있다.

워드프레스를 사용 하는 사람이라면 누구나 이런 과정을 거치게 되는데…

얼마전 이런 뉴스를 보았다. 핵심내용은 워드프레스 블로그 대상으로 user 아이디 해킹시도가 있다는 내용이였다. 😨😱

물론 서버에서 생성된 비밀번호는 상당히 난이도가 높게 설정이 되기 때문에 결고 쉽게 뚫리지는 않을 것이라는 생각이 들지만 무차별 대입 공격을 못한다는 보장은 어디에도 없다.

워드프레스를 설치 해본사람들이라면 누구나 user 아이디가 존재한다는 것을 알것이다. 그런데 user 계정을 대수롭지 않게 놔두고 그냥 사용하는 사람들이 상당히 많은 것으로 알고 있다.

이번 포스팅에서는 user 계정을 삭제하고 나의 개인 계정을 최고 관리자 계정으로 만드는 방법에 대해서 알아보겠다.

(포스팅 한편에 모두 담으려 했으나 내용이 너무 길어져서 부득이 하게 챕터를 2편으로 나눠서 진행 하는 점 양해 바란다.😅😅)

Summary

  • 최고 관리자 변경을 해야하는 이유
  • DB 를 이용한 user 계정 삭제하는 방법

최고 관리자 변경을 해야하는 이유?

최고 관리자 변경을 해야하는 이유는 무엇일까?

  • 누구에게나 공개된 user 아이디에 의한 보안상 취약점
  • 워드프레스 멀티사이트 관리자 운영상의 불편함

보안상 취약점

user 아이디의 경우는 워드프레스를 설치 해본 사람이라면 누구나 알고 있는 공개 된 계정이다.

그렇기 때문에 다른 사람의 워드프레스 블로그라도 https://도메인/wp-admin 이라는 주소로 관리자 접속 화면을 알 수 있고 user 라는 계정이 존재 한다는 것 까지는 모두에게 알려져 있는 사실 인것이다.

그렇다면 얼마든지 비밀번호에 대해서 무차별 대입 공격이 가능해진다는 것을 의미한다.

0.0001% 의 확률이라도 우연히 단 1번만 맞추면 그 블로그는 해킹으로 뚫릴 가능성이 있다는 소리이다.

하지만 user 라는 계정 자체가 없다면? 적어도 user 아이디에 대한 무차별 공격 성공률은 0% 가 된다는 소리이다.

워드프레스 멀티사이트 관리자 운영상의 불편함

멀티사이트의 경우는 싱글사이트와 달리 네트워크 관리자 라는 것이 존재 하는데 생성 된 모든 사이트를 관리하는 최상위 계정이라고 생각하면 된다.

예를들어서 플러그인을 설치가 필요할 경우 일반 계정으로 관리자 접속시엔 플러그인 설치를 할 수 없다. 그것보다 상위 개념인 네트워크 관리자로 가서 플러그인을 설치 해야 그 하위에 속한 모든 사이트들에게 적용이 되는 방식이라고 볼 수 있다.

그런데 이 네트워크 관리자가 user 아이디 라는 것이다.

그 말인 즉슨 내 개인계정으로 관리자 페이지에 접속해서 관리하던 중 플러그인 설치를 하려면,

로그아웃 > user 접속 > 플러그인 설치 > 로그아웃 > 개인 계정 로그인

이 과정을 매번 필요시 마다 거쳐야 한다는 소리이다.

물론 이게 귀찮다면 user 계정 하나로만 운영을 해도 되겠지만 위에서도 언급 한 것 처럼 user 계정은 삭제 하는 것이 보안상 유리하다.

user 계정 삭제하는 방법

워드프레스 싱글사이트

워드프레스 싱글사이트의 경우는 user 아이디 계정 삭제가 쉽다.
사용자 관리로 가서 그냥 user 아이디를 삭제하면 되고 삭제시 모든 권한을 나의 개인 계정으로 부여 받으면 된다.

대시보드 > 사용자 > 모든 사용자


user 아이디가 가지고 있던 모든 권한을 나의 개인 계정으로 이양 한다.

싱글사이트는 이렇게 손쉽고 심플하게 끝이 난다.

워드프레스 멀티사이트

워드프레스 멀티사이트의 경우는 싱글사이트와 동일하게 삭제를 하려고 해도 “삭제” 라는 버튼 자체가 보이지 않았다.

원인을 찾아본 결과 사이트 관리자의 이메일이 네트워크 관리자 이메일로 연결이 되어 있기 때문이였다.

여기에 설정 된 이메일이 user 계정이 가지고 있는 이메일 주소인데 이 이메일 주소를 나의 개인 계정에 설정된 이메일로 변경을 해줘야만 user 계정을 삭제 할 수 있도록 설계되어 있었다.

이메일 주소 변경을 시도 해보았다.
하지만 “관리자 이메일이 변경 대기중” 이라는 메세지만 나오는 것이다.

그래서 이메일 주소 변경하는 프로세스를 조금 알아 보았더니 다음과 같았다

  • 이메일 주소 변경 신청
  • 워드프레스에서 변경 주소로 인증메일 발송
  • 메일 사이트로 가서 날아온 이메일 내용에 있는 인증 코드 클릭

이 과정을 거치면 정상적으로 변경이 진행 된다.

후우… “관리자 이메일이 변경 대기중” 이 메시지는 너무 불친절 한거 아닌가? 설명이 너무 부족하다…😤😤😤

그런데 여기서 한가지 문제가 생긴다. 메일이 안온다…😡

그 이유는 메일을 발송 하기 위해서는 SMTP 라는 것이 설정되어 있어야 하는데 우리 서버에는 그 설정이 되어 있지 않기 때문이다.

SMTP 란 메일발송을 위한 표준 프로토콜이라고 하는데 이 설정이 되어 있는 서버를 SMTP 서버라고 한다.

물론 우리 서버에 설치하고 설정 하려고만 하면 얼마든지 할 수 있다. 그런데 그 과정이 초보자에겐 너무 어렵고 굳이 직접 메일 서버를 운영해야 할 이유가 없다.
외부 SMTP 서버를 이용하면 되기 때문이다.

SMTP 설정을 하기에 앞서 user 계정을 삭제 하는 방법으로는 일단 3가지 방법이 있는데 이는 다음과 같다.

  • DB 에 직접 접속해서 사이트 관리 이메일 주소를 강제로 변경하기
  • WP SMTP 플러그인 이용하기
  • WP Mail SMTP 플러그인 이용하기

DB 접속해서 사이트 관리 이메일 변경하기

이 방법은 꼭!!! DB 에대해서 잘 알고 접속 가능하신 분만 진행을 하길 당부드린다.

DB를 다룰 수 있는 분에게는 상당히 간단하고 쉬운 방법이지만 잘 모르시는 분이 하게 될 경우 잘못해서 데이터를 잘못 건들이면 사이트가 꼬여 버리거나 에러가 날 수 있다. 주의 요망!!!!

여기서 사용한 프로그램은 3rd Party 프로그램은 SQLyog 이며 DB 접속 방법 및 설치 관련해서는 AWS 라이트세일 DB 접속 외부 프로그램 SQLyog 사용법 포스팅을 참조 바란다.

개인 계정으로 접속을 한 상태인데 “네트워크 관리자” 권한이 없어서 인지 네트워크 관리 메뉴가 안보인다.


DB로 가서 네트워크 관리자 권한을 부여하자.

wp_sitemeta 테이블을 보면 되며 site_admins 속성 값을 위와 같이 수정한다.

a:1:{i:0;s:9:"adminicat";}

관리자 페이지를 “새로고침” 하면 안보이던 네트워크 관리자 메뉴가 보일 것이다.

내 사이트 > 네트워크 관리자 > 사용자 페이지로 이동해보자.


나의 계정에 “최고 관리자” 라는 칭호가 붙었고 user 아이디에 마우스를 대보면 “삭제” 버튼이 보인다.
하지만 실제로 이 삭제 버튼은 동작을 하지 않았다.

user 아이디를 체크 해주고 일괄 작업으로 삭제를 진행 해주면 정상적으로 진행이 된다.


모든 권한을 이양 받고 삭제를 해주면 user 아이디 삭제가 완료 된다.

마치며

부득이 하게 챕터를 둘로 나눠서 진행하게 되었는데 DB 를 다룰 줄 아시는 분이라면 너무 간단하게 해결이 되어서 먼저 진행을 하였고 DB 를 다루지 못하는 분의 경우는 정석으로 진행을 해야하는데 이 과정이 꽤나 험난 하다.

그래도 최대한 쉽게 설명 할 예정이니 DB를 못한다고 울적해질 필요 없다.

앞에서도 몇번 언급 했지만 절대로 DB 를 못다루는 분은 이번 편 따라하지 않길 권고 한다!

잘 못 건드려서 무슨 일 생겨도 책임 못짐!!! 😱😱😱

다음 편: 워드프레스 user 대신 개인 계정으로 최고 관리자 변경 SMTP 메일 발송 Chapter 2

Posted in 워드프레스

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다