38°C
2024년 11월 21일
Lifestyle

기본 설치되는 보안 플러그인을 알고 싶습니다

  • 5월 21, 2021
  • 2 min read
기본 설치되는 보안 플러그인을 알고 싶습니다

매니지드 워드프레스 상품에서 설치되는 워드프레스는 보안 강화 목적으로 아래와 같은 플러그인이 기본 설치됩니다.

주기적으로 최신 버전으로 업데이트 되고 있으며, WP Super Cache 플러그인을 제외한 다른 보안 플러그인은 설치와 동시에 자동 활성화 됩니다. 물론 관리자 패널에서 직접 비활성화도 가능하지만 보안 강화 목적으로 설치되는 플러그인인 만큼 활성화 상태 유지를 권장 합니다.

플러그인 활성화/비활성화는 관리자 패널에서 직접 사용자가 설정 할 수 있습니다.
관리자 패널 > 플러그인 > 설치한 플러그인 > (플러그인 항목에서 )활성화 / 비활성화 클릭

A. Login Lockdown ( https://ko.wordpress.org/plugins/login-lockdown/ )

기본 활성화 상태이며, 무차별적인 워드프레스 관리자 인증 공격등에 대한 방어를 합니다.
로그인 실패한 IP 주소와 timestamp 값을 내부 DB에 기록하고 일정 횟수 이상의 시도가 감지되면 해당 클라이언트 IP를 일정 시간 차단합니다.
xmlrpc api 요청을 통해 계정 정보를 감지하고 관리자 패스워드에 대한 무차별적인 인증 요청을 시도하여 관리자 탈취 하는 방법이 가장 많이 알려져 있고 시도되고 있으며, Login Lockdown 플러그인을 통해 손쉽게 방어 할 수 있습니다. 기본적으로 라이트 버전 (무료) 이 설치되며 PRO 버전의 기능을 제외한 설정 방법들을 알려 드립니다.
관리자 패널 > 설정 > Login LockDown 페이지로 접속하시면 플러그인의 자세한 설정이 가능합니다.
기본 설정시 5분 이내 로그인 시도 3회 실패시 해당 클라이언트 IP를 1시간 동안 차단합니다.

  • Basic
    • Max Login Retries
      정해진 시간내에 잘못된 인증요청이 들어왔을때 아이피 차단이 발생하는 시도 횟수입니다.
    • Retry Time Period Restriction (minutes)
      잘못된 인증 요청이 발생한 최대 갯수를 카운트 하는 시간입니다. ( 분단위 )
    • Lockout Length (minutes)
      차단이 발생한경우 해당 아이피를 차단하는 최대 시간 입니다. ( 분단위 )
    • Log Failed Attempts With Non-existant Usernames
      실제 존제하지 않은 계정으로의 로그인 인증 시도를 차단 횟수로 카운트할지의 설정입니다.
    • Mask Login Errors?
      잘못된 로그인 인증 시도로 차단되었을때 차단 메시지를 출력할지를 결정합니다.
    • Block Type
      웹사이트를 완전히 차단할지, 로그인 페이지만 차단할지를 설정합니다. ( 기본값 : 로그인 페이지 차단 )
    • Block Message
      차단 대상에게 보여질 메시지를 입력합니다.
    • Whitelisted IPs
      화이트리스트 IP를 입력합니다. 인증 실패가 번복되더라도 차단하지 않습니다.
    • Show Credit Link?
      차단시 Login LockDown 링크를 보여줄지를 설정합니다. 기본적으로 보여주지 않는 설정으로 두시는 것이 좋습니다.
  • Advanced
    • Wipe Data on Plugin Delete
      플러그인 삭제시 설정되었던 옵션, 규칙, 로그정보를 모두 삭제합니다.
  • Tools
    • Email Test
      웹사이트에서 기본 관리자 이메일로 메일이 정상 발송되는지를 테스트 합니다.
    • Recovery URL
      화이트리스트 IP가 작성되지 않은 상태에서 관리자 IP가 잠긴 경우 해제할수 있는 URL을 생성합니다. 해당 URL 접근으로 해제 후 관리자 패널 접근이 가능해 집니다.
    • Import Settings
      플러그인 기존 설정값을 임포트하여 설정값을 복구 합니다.
    • Export Settings
      현재 플러그인 설정값을 내보내기 하여 백업 합니다.

B. Two Factor Authentication ( https://ko.wordpress.org/plugins/two-factor-authentication/ )

2단계 인증을 통해 wordpress 로그인 과정에 대한 보안을 더욱 강화 합니다.
예를 들어 이메일로 인증 코드를 받아 로그인하거나 QR코드 인증, FIDO U2F 보안키 인증, 백업 코드 인증 등의 방법이 있으며 각 기능에 대해서는 하단 설명을 참고 바랍니다.

플러그인 활성화 상태에서 아래 위치에서 이중 인증 방법을 선택 하실수 있습니다.
관리자패널 > 사용자 > 모든사용자 > 유저선택 > 하단의 Two-Factor Options 에서 2중인증 방법 선택 및 설정

  • Email
    워드프레스 관리자 메일로 인증코드를 발송하여 로그인 인증을 시도합니다.
  • Time Based One-Time Password
    설정시 제시된 QR 코드 스캔이 필요하며, Google Authenticator 앱을 통해 인증을 진행하므로 스마트폰에서 Google Authenticator 앱을 검색하여 설치 합니다. 앱 실행 후 + 아이콘 클릭하여 제시된 QR 코드를 스캔하면 웹사이트가 등록됩니다.
    사이트 등록 후 앱에 표시되는 6자리 숫자를 관리자 페이지 Authentication Code: 에 삽입 후 Submit 클릭합니다. 일회성 QR코드는 사라지며 아래와 같이 등록이 완료됩니다.

Time Based One-Time Password (TOTP)  좌측 Enabled 클릭 및 프로필 업데이트를 진행하시면 설정이 완료됩니다. 사이트 재로그인시 아래와 같이 메시지가 출력되며, 설치하신 앱에 표시되는 6자리 숫자 입력시 로그인이 진행됩니다.

FIDO U2F Security Keys 설정방법

FIDO U2F Security Keys 설정은 FIDO U2F Security Keys 보안키 구입 및 해당 보안키를 이용하여 로그인 하는 방법입니다.  https 접근시에만 사용이 가능하며,  FIDO U2F Security Keys 인증키를 구입하신 분만 사용 가능합니다.

https 로 관리자페이지 접근 및  FIDO U2F Security Keys Enbaled 처리 후 Register New key 클릭을 통해 구입하신 FIDO U2F Security Keys 보안키를 연결하여 인증을 진행합니다.

  • 프로필 업데이트 후 재 로그인시 구입하신 보안키를 이용해 로그인 진행합니다.
  • (4)  Backup Verification Codes (Single Use) 설정방법
    백업된 코드를 이용해 로그인시 사용하는 방법입니다. Enabled 및  Generate Verification Codes 클릭시 아래와 같이 10가지 코드가 노출되며 로그인시 차례대로 사용 가능합니다. 또한 Download Codes 클릭을 통해 해당 코드 파일로도 저장 가능합니다.

프로필 업데이트 후 재 로그인시 아래와 같이 코드 입력란이 출력되며 저장된 1번 코드 입력 후 로그인하면 됩니다. (두번째 로그인시에는 2번 코드로 로그인 )

C. WPForce Logout ( https://wordpress.org/plugins/wp-force-logout/ )

WPForce Logout 플러그인이 자동 설치되며, 기본적으로 비활성화 상태이고 사용을 원하시면 플러그인 설정 페이지에서 직접 활성화 하실수 있습니다. 직접 생성하지 않고 악의적 접근이 의심되는 유저아이디가 로그인 상태로 확인된다면, 해당 플러그인으로 세션 종료후 계정 확인을 해보시는게 필요합니다.

관리자 패널 > 플러그인 > 설치된 플러그인 > WPForce Logout 활성화 클릭을 하시면 되며,

활성화 이후에는 사용자 메뉴에서 아래와 같이 로그인 계정에 대한 logout 버튼이 활성화 됩니다.

C. Disable XML-RPC-API ( https://wordpress.org/plugins/disable-xml-rpc-api/ )

설치와 동시에 활성화 되며, 외부로부터  xmlrpc.php 접근을 차단 합니다.

악의적으로 xmlrpc.php에 POST 요청을 보내 무작위 인증을 시도, 관리자 권한 탈취후 웹쉘파일 업로드 및 사이트 변조가 빈번히 발생하는 상황이며, Disable XML-RPC-API 플러그인 설치를 통해 위와 같은 침해 사고에 대한 효과적인 방어가 가능합니다.

일반적으로 워드프레스 사용에 있어 xmlrpc.php 외부요청을 활용하는 사례가 적어지는 추세라 보안 강화를 위해 비활성화 해도 문제가 없으며,  이를 활용한 jetpack 플러그인 사용에도 문제가 없도록 예외 처리가 가능합니다. 관리자 패널에서 직접 비활성화가 가능하지만 보안 강화를 위해 활성화 상태를 유지하는것을 권장합니다.

2.1.2 이전의 버전에서는 .htaccess 파일 퍼미션이 444로 고정됩니다.

보안강화에 좋을 수 있으나 permalinks (짧은주소 설정)에 제한이 있을수 있으므로 2.1.2로 업데이트를 권장 합니다.

  • XML-RPC settings
    a. XML-RPC Api Master switch (OFF) – xmlrpc.php에 대해 기본 차단, jetpack 핑백 요청등 예외 설정만 허용b. Enable xml-rpc for Jetpack (ON) – jetpack 플러그인 사용을 위한 예외처리c. White list IPs (ON) – xmlrpc.php 요청에 허용할 예외 IP추가
  • Security settings
    a. Disable JSON REST API (OFF) – JSON rest api 비활성화
    b. Disable writing in htaccess file (OFF) – .htaccess 파일 쓰기권한 제거 ( 기본값은 퍼미션 644 로 설정됨 )
    c. Hide WordPress Version (ON) – 설치된 워드프레스 버전 정보 숨기기
    d. Disable built-in WordPress file editor (ON) – 워드프레스 관리자 패널 파일수정 기능 비활성화
    e. Disable wlw manifest (ON) – WLW manifest xml 외부 연동 차단
  • Speed Up WordPress
    a. Heartbeat Slowdown (OFF) – heartbeat api 사용속도를 감속처리
    b. Hotlink Fix ( OFF ) – 이미지등의 외부 무단 링크 차단
    – 기본도메인, google.com 특정 레퍼러에서만 미디어 파일 접근이 허용되며,
    워드프레스 기본 url 도메인을 변경하는경우 변경후 관리자 페이지로 새로 접근시 레퍼러 허용 도메인이 갱신 됩니다.
    c. Remove built in emojis (OFF) – 코어 이모지 제거
    d. Remove RSS and RSD ( OFF ) / RSS, RSD 제거
    e. Disable oEbmed ( OFF ) – oEbmed API 차단
  • Backup/Restore Settings
    XML 데이터 형식으로 설정값 백업 및 복원
About Author

mwpdemo28404

Leave a Reply

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