워드프레스 사이트 보안 및 기초 사용법 7가지 핵심 정보

워드프레스 사이트 보안 및 기초 사용 규칙 정보로 자신의 워드프레스 사이트나 블로그 구성을 시작한다면 도움 될 것이다. 아래 핵심 정보는 특별한 것이 아니며 산발적으로 알려진 정보이지만 실제 그 방식을 사용한 사이트는 드물다.

효율적이며 가볍고 훌륭한 워드프레스 사이트와 블로그 운영을 위한다면 살펴보면 좋겠다. 그리고 모든 정보는 설치형 워드프레스, 셀프 웹호스팅 기준이다.

1. 프로토콜 https 즉시 사용할 수 있는 호스팅

SSL 인증서(Secure Sockets Layer certificate) 무료 제공으로 https 사용 즉시 가능한 호스팅을 갖추어야 한다. 모든 웹사이트에서 프로토콜 https 사용을 선택 아닌 필수로 생각하는 것이 좋다. 이 프로토콜 사용은 워드프레스 사이트 보안의 시작이다.

더 있을 수 있으나 현재 아래 2개 정도의 호스팅 업체와 상품에서 Let’s Encrypt 무료 SSL/TLS 인증서를 빠르게 사용할 수 있는 것으로 파악한다.

호스팅은 SSL 인증서로 https 프로토콜 사용할 수 있으면 되므로 위의 2곳이 아니어도 상관없다. 그러나, 특별한 사정이 없다면 국외 호스팅은 사용하지 않았으면 좋겠다.

2. 개인 정보 감출 수 있는 도메인

도메인을 검색하면 등록자, 기술자 등의 개인 정보가 노출되는 때가 있다. 특정 도메인 확장자일 때나 특정 도메인 등록 업체에서 구매한 때 정보가 노출된다. 어떤 곳은 개인 정보 숨기는 것은 유료로 판매한다.

긴 내용은 생략하고, 이 도메인 개인 정보를 감추는 비용이 제일 저렴한 곳, 도메인 구매 비용이 상대적으로 싼 곳에서 도메인을 구매하면 좋겠다. 아래 도메인 등록 업체가 2가지 비용 모두 저렴한 곳 같다.

또, 도메인에 관한 DNS 레코드 설정을 다양하게 지원하는 업체를 선택해야 하는데, 위의 업체에서 제공하는 정도면 충분하다.

도메인의 개인 정보를 노출하지 않는 것도 워드프레스 사이트 보안의 기본 요소이며, 당연히 개인 정보가 쉽게 노출되어서는 안 된다.

3. 워드프레스는 항상 수동으로 설치 후 설정

워드프레스 공식 사이트 짧은 주소는 https://w.org, 이 사이트에서 워드프레스 최신 버전을 받아 압축을 풀어 FTP 사용으로 원격 웹호스팅 계정에 업로드 후 설치하는 것을 항상 기본으로 하는 것이 좋다.

설치할 때 아래 화면이 나오는데, 암호(Password)는 Strong Password Generator 사이트를 이용하여 생성 후 입력하는 것이 좋다. DB 암호를 변경하는 일이 거의 없고, wp-config.php 파일에 기록되므로 따로 외우지 않아도 된다.

Table Prefix 항목은 기본(wp_)이 아닌 다른 것을 사용하도록 한다. 사이트 도메인의 일부를 가져오거나 사이트의 테이블임을 알 수 있는 것으로.

워드프레스 사이트 보안 생각한 데이터베이스 정보 입력 화면
설치할 때 영어 선택 후 나오는 데이터베이스 정보 입력 화면

사이트 기초 정보와 관리자 정보 입력 화면의 아래 그림에서 Username(관리자 아이디)에 admin 같은 아이디는 사용하지 않는 것이 좋다. Password(암호) 역시 기호, 숫자, 문자 조합으로 정하여 입력하자.

워드프레스 사이트 보안을 위한 기본 정보 입력 화면
워드프레스 사이트 기본 정보 입력 화면

설치 후 로그인하고, 아래 순서로 빠르게 진행한다. 이 작업에 3분 이상 배분하는 것은 낭비다.

  • Posts(글), Pages(페이지) 메뉴 클릭하고 내장 기본 글 모두 삭제
  • Appearance(외모) 메뉴 클릭하고 활성화한 테마와 기본 워드프레스 테마 1개 제외 모두 삭제
  • Plugins(플러그인) 메뉴 클릭하고 2개 플러그인 모두 삭제 (Akismet 플러그인은 나중에 필요시 재설치)
  • Users(사용자) 메뉴 클릭 후 존재하는 사용자의 편집 화면 접근 후 Nickname(닉네임) 입력하고, Display name publicly as(공개적으로 보일 이름) 항목을 입력한 닉네임으로 선택 저장
  • Settings(설정) 메뉴 하위 Discussion(토론) 메뉴 클릭 후 Default post settings(기본 글 설정) 3가지 모두 선택 해제
  • Settings(설정) 메뉴 하위 Permalinks(고유주소) 메뉴 클릭하고 원하는 구조 선택 후 저장

토론 설정에서 댓글 사용을 하지 않았는데, 댓글 사용을 필자는 권장하지 않는다. 따라서 불필요한 것은 사용하지 않는 게 좋다. 원하면 사용하자.

4. 플러그인은 최소로

다음 플러그인들은 공개 워드프레스 사이트라면 구분하지 않고 사용하면 도움 되는 것들이다. 필수는 없고, 필수 플러그인이란 존재하지 않는다는 것만 기억하면 된다.

Jetpack(젯팩) 플러그인은 여러 모듈로 구성되어 있어 필요한 것만 활성화하여서 사용하면 된다. 좋은 모듈이 많이 있으며, 워드프레스 사이트 보안에 도움이 되는 것도 있다.

다음 모듈 정도는 활성화하여 사용하면 사이트 운용과 트래픽 및 최소한의 로그인 보안에 도움 될 수 있다.

  • Brute force protection (무차별 대입 방지)
  • Image CDN
  • Jetpack Stats (젯팩 통계)
  • Lazy Images (이미지 로드 지연)
  • Monitor

젯팩 통계 모듈은 Slimstat Analytics 플러그인과 비슷한 기능이지만, 간편하게 볼 수 있어 좋고, Slimstat Analytics 플러그인은 조금 더 세부 정보를 볼 수 있어 필요하다.

Rank Math SEO, Yoast SEO 플러그인 둘 중에 하나를 설치하여 포스트 작성 시 도움을 얻으면 좋다. 어떤 것이 좋다고 말하기 어려우므로 선택하여 사용하자.

SEO 플러그인을 사용하는 다른 이점은 JSON-LD(구조화한 데이터의 자바스크립트 표기)를 생성한다는 것에 있다. 사이트의 아무 페이지의 소스보기를 하면 알 수 있다.

Insert Headers And Footers 플러그인은 거의 모든 워드프레스 사이트에 필요하다고 할 수 있는데, header, body, footer 위치에 스크립트를 추가하는 기능의 플러그인이다.

구글 사이트 인증 메타 태그나 애드센스 스크립트, 네이버 웹마스터 인증 메타 태그 등의 스크립트를 추가하는 것으로 생각하면 된다.

그런데 이런 스크립트 추가 기능의 플러그인은 단순하므로 직접 만들어 사용하는 것이 더 좋을 수 있다. 스크립트 데이터를 데이터베이스에 저장하는 것보다 파일에 직접 입력하면 더 편리하다.

간단한 플러그인 형식을 만들어서 사용하면 되지만, 방법은 생략하므로 번거롭다면 플러그인을 사용하자.

워드프레스 사이트를 운영할 때 사이트 인증 메타 태그 등 많이 사용하는 검색엔진의 메타 태그 정보 입력은 위에서 안내한 Jetpack, SEO 플러그인도 그 기능을 제공한다.

따라서 스크립트 추가는 Insert Headers And Footers 플러그인을 사용하여 한 곳에만 추가하는 기준을 정하는 것이 좋다.

5. 유료테마와 빌더 플러그인

유료테마와 빌더 플러그인은 워드프레스로 사용자를 유입하는 데에 많은 역할을 했으나 역으로 워드프레스의 본질적인 매력을 알 수 없게 만드는 주인공이기도 하다고 생각한다.

가능하다면 유료테마를 사용하지 않기를 권장하며, 있을지 모르겠으나 유료테마를 사용한다면 빌더 플러그인을 사용하지 않는 것을 선택했으면 좋겠다.

유료테마는 테마의 여러 레이아웃과 기능을 표현하기 위해 많은 필수 플러그인과 권장 플러그인의 설치를 요구한다. 권장이라고 해도 설치하지 않으면 테마 설명이나 예시와 같은 기능과 디자인을 사용할 수 없으므로 결국 꼭 설치하게 되는 때가 많다.

이렇게 설치 플러그인이 늘어나면 당연히 워드프레스 사이트 보안에 취약점이 생길 가능성이 있다.

또, 빌더 플러그인 기반으로 콘텐츠를 표현하는 때가 많아 깔끔하지 못한 소스, 콘텐츠 생산과 편집에 괜히 더 많은 시간을 쓰게 만든다.

워드프레스가 블록 기반의 구텐베르크 에디터를 기본으로 사용하므로 블록을 응용하여 콘텐츠를 간결하게 표현하는 방법을 찾으면 좋겠다.

블로그라면 워드프레스 기본 테마를 권장하며, 일반 기업의 웹사이트라면 기본 테마와 블록을 이용 또는 GeneratePress 같은 레이아웃 옵션을 제공하는 테마와 블록을 이용하여 콘텐츠를 표현하면 충분할 것이다. 원페이지 무료테마도 좋은 선택이다.

기업 웹사이트라고 해서 슬라이드가 돌아가고 별 내용 없어 괜히 허전한 유료테마로 구성해야 하는지 알 수가 없다. 웹사이트를 쉽게 콘텐츠 생산 도구로 사용하면 좋겠다.

6. 자동 업데이트, wp-config.php

보통의 워드프레스 테마와 플러그인은 자동 업데이트 선택(활성) 옵션을 제공한다. 플러그인은 플러그인 목록 페이지에서, 테마는 테마 목록에서 테마를 클릭했을 때 나오는 레이어 화면에서 선택할 수 있다.

업데이트한 테마나 플러그인이 오류가 있어 사이트가 중지되는 때가 있지만, 그래도 자동 업데이트를 활성화하자.

워드프레스 코어 파일 업데이트에서 마이너 버전은 자동 업데이트가 기본으로 설정 것으로 알고 있다. 만약 메이저 업데이트도 자동으로 설정하려면 wp-config.php 파일에 아래 코드를 추가(1. 모든 버전)하면 된다. 그러나 이것은 정말 원할 때만 사용하자.

define( 'WP_AUTO_UPDATE_CORE', true ); // 1. 모든 버전
define( 'WP_AUTO_UPDATE_CORE', minor); // 2. 마이너 버전만

때로, wp-config.php 파일에 워드프레스 사이트 보안 목적으로 관련 코드를 추가하는 것을 볼 수 있다. 지나친 염려로 생각한다. 그런 코드를 추가하지 말고, 아래와 같은 리비전 생성 중지 코드를 넣는 게 더 좋다.

/* Add any custom values between this line and the "stop editing" line. */
define('WP_POST_REVISIONS', false ); // 리비전 사용하지 않기

7. 불필요한 것은 쓰지 않기

보안 플러그인이 필요할까? 필요 없다고 생각한다. 가진 것이 있어야 지켜야 할 것도 있듯이 없거나 적으면 걱정과 위험도 줄어든다. 보안 플러그인을 설치하는 것보다 쓸데없는 플러그인 사용과 유료테마 및 빌더를 사용하지 않는 게 좋다.

Wordfence 플러그인, All-in-One WP Migration 플러그인 같은 보안 플러그인과 쓸데 없는 것은 사용하지 않기를 권장한다. 워드프레스 사이트를 철저하고 민감하게 Wordfence 플러그인으로 방어해야 한다고 생각하는지, 아니면 그렇게 해야 하는지 정말 의문이다.

또, All-in-One WP Migration 플러그인 같은 사이트 이전과 백업 기능을 이 플러그인으로 해야 하는지 역시 궁금하다.

수많은 워드프레스 사이트를 보면 이 2가지 플러그인을 무의식처럼 설치해놓은 때가 많은 것 같다. 하나는 보안 때문에 괜히 염려하여, 다른 하나는 직접 다른 곳으로 사이트를 옮기기 위해 그런 것으로 짐작한다.

보안 플러그인이 있어야 한다고 생각하면 젯팩에서 제공하는 보안 관련 모듈을 한 번 더 살펴보기를 바란다. 그리고 사이트를 다른 곳으로 옮기는 게 어렵다면 전문가를 찾아 의뢰하는 게 좋다. 직접 하다가 낭비하는 시간이 더 소중하다.

캐시 플러그인도 무작정 설치하는 때가 많은 것으로 짐작한다. 캐시 플러그인을 사용하지 않아도 되는 국내 호스팅, 최소한의 플러그인, 젯팩 CDN 사용처럼 상황을 발생하지 않도록 워드프레스를 사용하면 캐시 플러그인 역시 불필요하다.

워드프레스는 수많은 사람이 쓰고 있고, 오픈소스이므로 늘 공격 대상이다. 그러나, 수많은 사람이 쓰는 만큼 개선하는 사람도 많고 업데이트도 빠르게 진행된다.

워드프레스 사이트 보안에 관하여 염려하지 말고, 글에서 안내한 사이트 기초 사용법을 살펴보면 좋겠다.