워드프레스 웹사이트에 보안 업데이트를 안전하게 적용하는 방법을 찾고 계신가요?
보안 업데이트는 그 어떤 것보다 중요합니다. 업데이트를 미루면 해킹으로 이어질 수 있기 때문입니다. 하지만 동시에 많은 분들이 겪는 고민도 있습니다. 업데이트를 적용하면 플러그인·테마 간 호환성 문제로 인해 사이트가 깨져버릴 수 있다는 점입니다.
정말 딜레마 같은 상황이죠.
다행히도 사이트를 망가뜨리지 않고 업데이트하는 방법이 있습니다. 바로 스테이징 사이트를 활용하는 것입니다. 라이브 사이트의 복제본인 스테이징 사이트에서 먼저 업데이트를 테스트한 후, 문제가 없음을 확인하고 실제 사이트에 적용하면 됩니다.
이 글에서는 웹사이트를 안전하게 업데이트하는 전 과정을 단계별로 자세히 안내해 드립니다.
보안 업데이트란 무엇이며, 왜 중요한가?
업데이트는 기존 소프트웨어를 대체하는 새로운 버전을 의미합니다. 다른 소프트웨어와 마찬가지로 워드프레스 코어와 테마, 플러그인 역시 정기적으로 업데이트가 배포됩니다.
업데이트에는 크게 5가지 종류가 있습니다. 보안 패치, 버그 수정, 신규 기능 추가, 호환성 개선, 성능 최적화입니다.
모든 업데이트가 사이트에 도움이 되지만, 그중에서도 가장 중요한 것이 바로 보안 업데이트입니다.
그 이유는 아무리 잘 만들어진 소프트웨어라도 시간이 지나면서 취약점이 발견되기 마련이고, 해커들은 이를 악용해 웹사이트를 해킹하기 때문입니다. 개발자들이 취약점을 인지하면 신속하게 이를 수정하고 보안 패치 형태로 업데이트를 배포합니다.
그런데 사이트 운영자가 플러그인, 테마 또는 워드프레스 코어 업데이트를 미루면, 그 취약점은 그대로 남아 해커의 공격 대상이 됩니다. 따라서 웹사이트를 항상 최신 상태로 유지하는 것이 무엇보다 중요합니다.
워드프레스 보안 업데이트의 중요성을 제대로 이해하려면, 먼저 워드프레스 사이트에 흔히 발생하는 주요 취약점들을 살펴볼 필요가 있습니다.
대표적인 워드프레스 취약점 5가지
1. SQL 인젝션(SQL Injection) 취약점
모든 워드프레스 사이트에는 연락처 폼, 댓글 창, 검색창과 같은 입력 필드가 존재합니다. 이런 필드는 대부분 플러그인으로 구현되며, 방문자가 입력한 데이터는 사이트 데이터베이스에 저장됩니다. 데이터베이스를 보호하기 위해 입력 필드는 데이터를 검증하고 살균(sanitize) 처리한 뒤 전송해야 합니다.
예를 들어 연락처 폼은 이름, 전화번호, 이메일 주소만 받아야 합니다. 그런데 방문자가 입력한 데이터를 제대로 필터링하지 못하도록 설정되어 있다면 SQL 인젝션 공격에 노출됩니다.

즉, 해커는 일반 방문자처럼 위장해 악성 코드를 삽입하고, 이 코드가 데이터베이스에 저장된 후 실행되면서 정보를 탈취하고 사이트 접근 권한까지 얻을 수 있습니다.
2. 크로스 사이트 스크립팅(XSS) 취약점
SQL 인젝션과 유사하게, 플러그인에서도 XSS(크로스 사이트 스크립팅) 취약점이 발생할 수 있습니다. 해커는 이 취약점을 통해 사이트를 장악할 뿐만 아니라, 방문자들의 정보를 빼내는 데도 악용합니다.
예를 들어 댓글 플러그인에 XSS 취약점이 있다면, 해커는 사이트에 악성 링크를 심을 수 있습니다. 악의가 있는 줄 모르는 방문자가 해당 링크를 클릭하면, 브라우저 쿠키 접근 권한을 요청하는 팝업이 뜹니다.
방문자 입장에서는 평범한 권한 요청처럼 보이기 때문에, 상당수가 속아서 쿠키 접근을 허용하게 됩니다. 그리고 쿠키에는 로그인 정보나 온라인 뱅킹 인증 정보 등 민감한 데이터가 담겨 있습니다.
3. 파마 핵(Pharma Hack) 공격
파마 핵 공격은 불법 의약품을 판매하거나 홍보하는 데 사용됩니다.
해커는 플러그인, 테마 또는 사이트 코어의 취약점을 이용해 사이트에 침입한 뒤, 검색 순위가 가장 높은 페이지들을 찾아 비아그라, 시알리스, 레비트라 같은 불법 의약품 광고를 삽입합니다.

그 결과 여러분의 페이지들이 어느새 불법 의약품 관련 키워드로 검색되기 시작합니다.
방문자가 사이트에 들어와 광고를 클릭하면 해커의 사이트로 리디렉션됩니다.
파마 핵은 여러분이 쌓아온 SEO 성과를 납치하고, 방문자들을 떠나게 만듭니다.
4. 백도어(Backdoor) 공격
백도어는 웹사이트에 숨겨진 비밀 통로입니다. 주로 불법 복제(크랙)된 플러그인과 테마에서 발견됩니다.
많은 사이트 운영자가 비용 절약을 위해 정품이 아닌 복제 소프트웨어를 사용합니다. 그런데 복제 소프트웨어에는 백도어가 미리 심어져 있는 경우가 많습니다. 즉, 해당 소프트웨어를 설치하는 순간 해커에게 침입 통로를 열어주는 셈입니다.
5. 피싱(Phishing) 공격
해커는 피싱 공격을 통해 웹사이트에 침입한 후 스팸 메일을 대량 발송합니다. 이메일의 목적은 신용카드 정보나 은행 인증 정보 같은 민감한 정보를 알아내는 것입니다.
이메일 서비스들은 강력한 안티피싱 조치를 갖추고 있습니다. 여러분의 워드프레스 사이트에서 스팸 메일이 발송되고 있다는 사실이 들통나면, 해당 웹사이트는 블랙리스트에 오르게 됩니다.

지금까지 살펴본 것이 가장 흔한 워드프레스 취약점들입니다. 공통점을 눈치채셨나요? 이 모든 공격은 사이트에 설치된 소프트웨어의 보안 취약점에서 비롯됩니다.
이것이 바로 보안 업데이트가 배포되는 즉시 적용해야 하는 이유입니다.
물론 업데이트가 자주 배포되다 보니 일일이 추적하기 어려운 것도 사실입니다. 다음 섹션에서는 업데이트를 놓치지 않고 확인하는 방법을 알려드리겠습니다.
워드프레스 보안 업데이트 확인 방법
보안 업데이트를 확인하는 방법은 두 가지입니다.
- 워드프레스 대시보드에서 직접 확인 (단일 사이트에 적합)
- 사이트 관리 플러그인 활용 (여러 사이트 운영 시 적합)
방법 1. 워드프레스 대시보드에서 수동 확인하기
수동 업데이트 확인은 단일 웹사이트를 운영하는 분들께 가장 적합합니다. 방법은 아주 간단합니다.
→ 웹사이트에 로그인합니다.
→ 메뉴에서 대시보드 > 업데이트로 이동합니다.

→ 업데이트 페이지에서 오래된 소프트웨어(코어, 플러그인, 테마) 목록과 새 버전 정보를 확인할 수 있습니다. '버전 세부정보 보기' 링크를 클릭하면 업데이트 내역을 볼 수 있으며, 보안 패치가 포함된 업데이트라면 세부정보에 명시되어 있습니다.

→ 참고로 하나의 업데이트에 여러 종류의 변경 사항이 함께 포함되는 경우가 많습니다. 예를 들어 최근 업데이트한 한 플러그인의 경우, 버그 수정과 호환성 개선이 동시에 이루어졌습니다.

→ 때로는 새로운 기능과 보안 패치가 함께 배포되기도 하는데, 이럴 때는 조금 곤란합니다. 새 기능이 필요 없더라도 취약점을 없애기 위해 결국 업데이트를 진행해야 하기 때문입니다.
방법 2. 사이트 관리 플러그인으로 확인하기
단일 사이트의 업데이트를 관리하는 것조차 번거로운데, 여러 웹사이트의 업데이트를 일일이 추적하는 건 악몽에 가깝습니다.
이때 BlogVault 같은 플러그인을 활용하면 하나의 대시보드에서 여러 워드프레스 사이트의 업데이트 현황을 한눈에 확인할 수 있습니다.
→ BlogVault에 가입하고 관리할 웹사이트들을 대시보드에 추가합니다.
→ 각 사이트별로 업데이트가 대기 중인 플러그인과 테마의 개수가 즉시 표시됩니다.

→ 업데이트 세부정보를 확인하려면 해당 웹사이트를 선택한 후 Manage를 클릭합니다.

→ 이후 새 버전을 클릭하면 업데이트 상세 내용을 볼 수 있습니다.

여기까지 업데이트 확인 방법을 알아보았습니다. 이제 보안 업데이트를 안전하게 적용하는 방법을 살펴보겠습니다.
워드프레스 보안 업데이트를 안전하게 적용하는 방법
보안 업데이트를 적용하는 방법은 두 가지입니다.
- 스테이징 사이트에서 업데이트 (안전)
- 대시보드에서 바로 업데이트 (위험)
웹사이트 대시보드에서 바로 업데이트하면 사이트가 깨지는 사고가 발생할 수 있습니다. 한번 망가진 사이트를 복구하는 과정은 어렵고 시간도 많이 걸립니다. 그렇기 때문에 이 방법은 피하고, 더 안전한 방법에 집중해 보겠습니다.
방법 1. 스테이징 사이트에서 업데이트하기
1단계: 워드프레스 스테이징 사이트 만들기
스테이징 사이트는 실제 웹사이트와 완전히 동일한 복제본입니다.
앞서 언급했듯이 업데이트는 사이트 충돌을 일으킬 수 있습니다. 스테이징 환경을 사용하면 라이브 사이트에 적용하기 전에 업데이트를 미리 테스트할 수 있습니다.
스테이징 환경을 구축해 주는 플러그인은 여러 가지가 있지만, BlogVault는 무료 워드프레스 스테이징 환경을 제공하며 설정도 매우 간단합니다.
BlogVault에 이미 가입하고 웹사이트를 대시보드에 추가했다고 가정하고 진행하겠습니다.
→ Staging 섹션으로 이동한 후 Add Staging을 클릭합니다.

→ BlogVault가 사용할 백업과 PHP 버전을 선택하라고 요청합니다.

→ 스테이징 사이트 생성에는 몇 분 정도 걸립니다. 생성이 완료되면 바로 업데이트 테스트를 시작할 수 있습니다.
2단계: 스테이징 사이트에서 업데이트 테스트하기
업데이트를 테스트하려면 방금 생성한 스테이징 사이트에 로그인해야 합니다. 스테이징 사이트 URL은 대략 https://yoursite.d.wpstage.net/ 형태입니다.
평소 사용하던 계정 정보로 로그인할 수 있지만, 스테이징 URL에 접속하면 비밀번호 보호가 걸려 있는 것을 알 수 있습니다. 이는 스테이징 사이트를 비공개로 유지하고, 일반 방문자나 검색 엔진이 접근하지 못하도록 하기 위함입니다.

BlogVault 대시보드의 Staging 섹션에서 사용자명과 비밀번호를 확인한 후 이를 입력해 스테이징 사이트에 접속하세요.

→ 스테이징 사이트의 로그인 페이지로 이동하려면 스테이징 URL 끝에 /wp-admin/을 붙이면 됩니다. 예: https://yoursite.d.wpstage.net/wp-admin
→ 평소 사용하는 계정 정보로 워드프레스 대시보드에 로그인합니다.
→ 업데이트를 진행하려면 대시보드 > 업데이트로 이동합니다.

→ 업데이트 페이지에서 모든 구형 소프트웨어와 새 버전 정보를 확인할 수 있습니다. 업데이트하려면 플러그인, 테마 또는 코어를 선택하고 업데이트 버튼을 누르면 됩니다.

→ 업데이트 적용 후에는 사이트가 정상적으로 작동하는지 반드시 확인해야 합니다. 홈페이지, 블로그 게시물, 장바구니 페이지, 결제 페이지 등 주요 페이지와 기능을 모두 점검하는 것이 좋습니다.
점검이 끝났다면 다음 단계로 넘어갑니다.
3단계: 라이브 사이트 업데이트하기
업데이트가 사이트에 아무런 문제를 일으키지 않았다면, 라이브 사이트에도 동일한 업데이트를 적용하면 됩니다.
라이브 사이트에 다시 로그인해서 일일이 업데이트할 필요는 없습니다. 스테이징 사이트를 라이브 사이트와 병합하기만 하면 됩니다.
→ BlogVault 대시보드에서 Staging 섹션으로 이동한 후 Merge를 클릭합니다.

→ BlogVault가 라이브 사이트와 스테이징 사이트를 동기화하기 시작합니다. 완료되면 두 사이트 간 차이점을 비교할 수 있는 화면이 나타납니다. 사이트 전체를 병합할 필요는 없습니다. 방금 테스트한 플러그인, 테마, 코어만 선택하고 Next를 클릭하세요.

→ FTP 계정 정보를 입력하면 스테이징 사이트가 라이브 사이트와 병합됩니다.
참고: FTP 계정 정보를 모르신다면 관련 영상 가이드를 참고하거나, 워드프레스 호스팅 업체에 문의하여 확인할 수 있습니다.
여기까지가 보안 업데이트를 안전하게 적용하는 전 과정입니다.
그 다음은 무엇을 해야 할까?
앞서 말씀드린 것처럼 소프트웨어 업데이트는 취약점을 수정하고 해커와 봇으로부터 사이트를 지켜줍니다. 하지만 소프트웨어 취약점이 워드프레스 사이트가 직면한 유일한 위협은 아닙니다. 해커는 다른 경로로도 사이트에 침입할 수 있습니다. 대표적인 예가 바로 약한 사용자 인증 정보입니다.
모든 종류의 취약점과 해킹 공격(DDoS 공격, 무차별 대입 공격 등)으로부터 사이트를 보호하려면 MalCare 같은 워드프레스 보안 플러그인 사용을 권장합니다.
이 플러그인은 방화벽으로 사이트를 보호하고, 로그인 보호 기능으로 로그인 시도를 제한합니다. 사이트 하드닝(site hardening) 조치를 적용하는 데 도움을 주며, 매일 사이트를 스캔합니다. 악성 활동이 감지되면 즉시 알려주므로 신속하게 대응할 수 있습니다.
MalCare를 설치하고 24시간 내내 사이트를 보호하세요