지식 DB

상용 서비스를 위한 진짜 워드프레스 정보

Ultimate Member의 보안을 강화하는 13가지 방법

발행:

| 업데이트:

지식

WP스퀘어의 모든 정보는 국내 상용 서비스를 기준으로 작성됩니다.

Ultimate Member는 매우 좋은 회원관리, 커뮤니티 플러그인입니다. 하지만, 회원에 개입하는 만큼 보안에 대해 신경을 써야 합니다. Ultimate Member의 보안을 강화하는 방법은 크게 아래 4가지로 구분되며 이를 이중삼중으로 설정합니다.

  • 불필요 기능 비활성화: 불필요한 기능을 비활성화하면 보안적으로도 좋고, 퍼포먼스에도 긍정적입니다.
  • URL 변경: 잘 사용하지 않는 URL을 사용하면 봇과 해킹에 더 안전합니다.
  • 권한 제어: 프라이버시 이슈가 있는 페이지의 접근을 관리자 등으로 제한합니다.
  • 검색엔진, DB 쿼리에서 제거: 검색엔진과 사이트내 쿼리에 의한 접근을 차단합니다.

1. 워드프레스 코어의 회원가입 비활성화

워드프레스의 코어의 회원가입 열려 있으면 Ultimate Member의 회원가입 폼을 벗어나 회원에 가입할 수 있습니다. ‘설정 > 일반’에서 비활성화합니다.

2. 페이지 URL 변경 및 검색엔진 인데싱 방지

회원가입과 로그인 URL일반적인 용어이거나 Ultimate Member 기본값이라면 봇에 의한 접근이 더 쉽습니다. 이를 일반적이지 않은 URL(고유주소)로 변경합니다. 변경할 URL에 ‘danbi’와 같이 고유명사를 사용하며 보안적으로 더욱 좋습니다.

기본값변경 예
회원가입registerwelcome-to-wps
로그인loginwelcome-back-to-wps
프로필 profilemy-wps
계정accountmy-wps-account
추가로 SEO 플러그인 등을 이용해 위의 모든 페이지에 대해 검색엔진의 인덱싱을 방지합니다.

캐시(Cache) 플러그인을 사용하는 경우 해당 페이지를 캐시에저 제외시켜야 합니다. Kinsta의 경우, 기술지원 채팅으로 제외를 요청합니다. 얼티밋 멤버 K의 소셜 로그인을 사용할 경우에는 해당 페이지를 페이스북, 카카오 등 소셜 로그인 제공 서비스에 등록해야 합니다.

3. 사용자(프로필) 페이지 비활성화

Ultimate Member를 회원관리 용도로만 사용하는 많은 사이트들은 프로필 기능 자체가 필요 없습니다. 하지만, 안타깝게도 Ultimate Member에서는 해당 기능을 비활성화하는 기능이 없습니다. 따라서, 빈 페이지를 프로필 페이지로 지정합니다. 기존에 프로필 쇼트코드가 있다면 삭제합니다. 사용하지 않는 페이지이므로 아래 설정도 함께 합니다.

4. 회원 디렉토리 비활성화

회원 디렉토리가 활성화되어 있으면, 해당 페이지를 통해 회원정보가 유출될 수 있습니다. 필요한 경우가 아니면 비활성화합니다. Ultimate Member 설정의 ‘일반 > 사용자’에서 활성화 여부를 확인합니다.

이 경우, 회원 디렉토리를 페이지를 아무 것도 없는 빈 페이지를 만들어 지정하고 검색엔진 인덱싱, 검색 쿼리를 모두 막고 접급 권한을 관리자로 제한합니다.

5. 강력한 암호사용

강력한 암호 사용 비회원에 의한 로그인 가능성은 낮춥니다. Ultimate Member 설정의 ‘일반 > 설정’에서 ‘강력한 암호 사용’을 활성화합니다.

6. 검색엔진의 프로필 인덱 방지

구글, 빙, 네이버 등의 검색엔진이 프로필 정보를 검새결과에 가져가지 못하면 회원정보의 유출가능성이 줄어듭니다. 프로필 정보를 검색엔진에 노출할 필요가 없는 경우, 이를 막는 게 좋습니다. 설정의 일반 > 사용자에서 설정합니다.

7. 얼티밋 멤버 K 필드 사용

얼티밋 멤버 K는 Ultimate Member를 위한 다양한 부가기능을 제공하지만, 얼티밋 멤버 K가 제공하는 국내주소, 서비스정책 동의 등의 필드를 사용하는 것만으로도 보안에 도움이 됩니다. 이런 필드는 국내에서만 주로 쓰이기 때문에 해외 봇에 의한 자동 입력이 이루어지기 힘듭니다. 또한 회원가입 폼을 이용해 관리자 계정을 생성할 수 없도록 강제합니다.

8. 개인정보 관련 모든 페이지를 검색엔진 인덱싱 방지

아래 페이지 모두를 robots.txt나 SEO 플러그인을 이용해 검색엔진에 의한 인덱싱을 방지합니다.

  • 회원가입
  • 로그인
  • 사용자
  • 프로필

단, 프로필 페이지는 사이트에 따라 인덱싱을 허용할 수도 있습니다.

9. 회원가입 기본 역할 확인

설정의 ‘사용자 화면 > 회원가임 폼’에서 회원가입의 사용자 역할의 기본값이 Admin이나 Editor 등 권한이 많은 역할로 되어 있는지 점검합니다. 대부분의 경우 Subscriber를 사용합니다.

사용자 역할 값은 개별 회원가입 폼에서 변경할 수 있습니다. 모든 회원가입 폼도 점검합니다.

10. 관리자 역할 승인 처리

개별 회원가입 폼에서 가입 권한을 지정할 수 있지만, 실수를 방지하기 위해 관리자 가입을 승인으로 변경합니다.

Ultimate Member > 사용자 역할 (사이트팩: 사용자> Ultimate Member > 사용자 역할 >) 에서 Administrator (사이트팩: 관리자)를 클릭해 변경합니다.

11. 일반 회원의 불필요한 권한 막기

Admin(관리자), 편집자(Editor) 등 관리자 페이지 접속이 필요한 사용자 역할 외에는 관리자 화면에 대한 접속과 툴바를 막습니다. 사용자 역할에서 해당 역할을 클릭해 설정합니다. 일반회원의 경우 아래 이미지 처럼 설정합니다.

12. 관리 관련 권한 획득 막기

Ultimate Member 폼을 이용해 관리와 관련된 권한(Capabilities) 획득을 시도할 경우, 이를 막고 관리자에게 알립니다. Ultimate Member > 설정 > Secure (사이트팩: 사용자 > Ultimate Member > 설정 > Secure)에서 아래와 같이 설정합니다. ‘Banned Administrator Capabilities’ 대부분은 체크하면 됩니다.
Secure 탭은 2.6.8 버전 부터 제공됩니다.

13. 봇 방지 기능 추가

봇에 의한 회원가입과 로그인을 막기 위해 Google reCAPTCHA나 CloudFlare Turnstile을 사용합니다. 단비에서는 사용성 방해 없이 동작하는 Cloud Turnstile을 선호합니다.

이미지 출처: CloudFlare 홈페이지
플러그인특징
Ultimate Member – reCAPTCHAUltimate Member에서 제공하는 무료 플러그인. Ultimate Member만 지원합니다.
Simple Cloudflare Turnstile워드프레스 코어와 Ultimate Member를 포함한 여러 플러그인을 동시에 지원합니다.
주요 관련 플러그인

태그

Ultimate Member보안개인정보보호

글쓴이

Photo of author

메아쿨파

팀과 함께 워드프레스 관련 자문과 개발을 하고 있습니다. 상용 서비스르를 필요로 하는 기업과 스타트업, 높은 수준의 워드프레스를 만들고 싶은 에이전시, WP스퀘어 필진으로 참여하고 싶으신 분은 문의하기로 남겨 주시기 바랍니다.