Technote

테마 · 플러그인 실무

연재 첫 보안 사고를 겪기 전에 8부 중 4부

설치 버튼을 누르기 전 3분 동안 볼 것

플러그인은 우리 사이트 안에서 우리와 같은 권한으로 돕니다. 그래서 고르는 기준은 기능이 아니라 신뢰이고, 신뢰는 설치 전에 확인할 수 있습니다.

플러그인을 설치한다는 것은 남이 쓴 코드를 우리 사이트 안에서 우리와 같은 권한으로 실행하겠다는 결정입니다. 대부분의 플러그인은 성실하게 관리되고 있고 워드프레스가 강력한 이유도 여기에 있지만, 그렇기 때문에 무엇을 들이는지가 중요합니다. 다행히 판단에 필요한 정보는 설치 화면에 이미 나와 있습니다.

세 가지 숫자를 봅니다

플러그인 상세 화면에는 세 가지가 표시됩니다. 마지막 업데이트 시점, 활성 설치 수, 그리고 현재 워드프레스 버전과의 호환 표시입니다.

설치 전에 보는 네 가지 — 위쪽이 가장 강한 신호다

마지막 업데이트가 가장 강한 신호입니다. 워드프레스 코어와 PHP 는 계속 움직이고, 따라오지 않는 코드는 언젠가 깨집니다. 더 중요한 것은 앞 회차에서 본 것처럼 — 문제가 발견돼도 고쳐 줄 사람이 없다는 뜻이라는 점입니다.

활성 설치 수는 인기 투표가 아니라 검증 규모입니다. 많은 사이트가 쓰는 플러그인은 문제가 생겼을 때 빨리 드러나고 빨리 고쳐집니다. 다만 설치 수가 많아도 마지막 업데이트가 오래됐다면 그것은 많은 사이트가 함께 위험한 상태라는 뜻이므로, 두 숫자는 반드시 함께 봅니다.

취약점 이력은 감점이 아닙니다

여기서 흔한 오해를 하나 풀어야 합니다. 과거에 취약점이 보고된 적 있는 플러그인이 반드시 나쁜 것은 아닙니다. 널리 쓰이는 소프트웨어는 검토를 많이 받고, 검토를 많이 받으면 문제도 발견됩니다. 봐야 할 것은 존재 여부가 아니라 대응 방식입니다.

취약점 이력 자체보다 그다음에 무엇을 했는지가 신뢰의 근거다

기능이 겹치는 플러그인을 두 개 두지 않습니다

설치 전 점검에서 자주 빠지는 항목입니다. 같은 일을 하는 플러그인 두 개가 동시에 켜져 있으면 서로의 동작을 덮어써 원인을 알 수 없는 문제가 생깁니다. 특히 SEO 플러그인보안 플러그인이 그렇습니다 — 검색엔진에 보내는 정보가 중복되거나, 두 개의 방화벽이 서로의 요청을 차단합니다.

새 플러그인을 들일 때는 “이 기능이 이미 있는가” 를 먼저 봅니다. 테마에 포함돼 있거나, 워드프레스 코어에 이미 있는 기능인 경우가 생각보다 많습니다.

이미 깔려 있는 것들 정리하기

같은 기준을 지금 설치된 목록에도 한 번 적용해 보세요. 순서는 이렇습니다. 먼저 비활성 상태로 남아 있는 플러그인을 삭제합니다 — 비활성이어도 파일은 서버에 남아 있으므로 지우는 것이 맞습니다. 다음으로 마지막 업데이트가 오래된 것을 골라 대체제가 있는지 찾습니다. 마지막으로 기능이 겹치는 쌍을 정리합니다.

지금 설치된 구성이 어떤 상태인지 스스로 점검해 보고 싶다면 무료 도구에 사이트 진단 플러그인이 있고, 선택 기준을 더 깊이 보려면 테마 · 플러그인 아카이브가 있습니다.

다음 회차

여기까지가 사고를 줄이는 이야기였습니다. 다음 회차부터는 사고가 났을 때 잃지 않는 준비입니다 — 먼저 백업, 정확히는 복구해 본 적 있는 백업입니다.

이 주제의 다른 글

노하우 목록으로

테마 · 플러그인 실무

편집 가능한 영역을 디자인 전에 정합니다

CMS 가 표현할 수 없는 디자인은 배포된 뒤에도 계속 협상 대상으로 남습니다. 어디까지 편집자가 바꿀 수 있는지를 먼저 정하면 그 협상 자체가 사라집니다.

디자이너 3분 읽기

테마 · 플러그인 입문

업데이트가 멈춘 플러그인을 판별하는 기준

마지막 업데이트 날짜 하나로는 방치를 판정할 수 없습니다. 판별 신호 다섯 개를 함께 보고, 대체 불가라면 격리 조건이라도 걸어야 합니다.

기획자 · 운영 · 관리자 2분 읽기

테마 · 플러그인 심화

JS 없이 만드는 상호작용과 그것을 안전하게 하는 규칙

details · :target · :focus-within · :has() · 스크롤 타임라인으로 상당수의 상호작용이 스타일시트 안에서 끝납니다. 안전하게 만드는 규칙은 하나입니다 — 기본값이 완성된 상태여야 합니다.

디자이너 6분 읽기

₩270,000 · 신청하기