해킹 걱정 없이 사이트를 운영할 수 있다면 얼마나 좋을까요?
해킹에 대한 끊임없는 두려움 없이 비즈니스 성장에만 온전히 집중할 수 있다면 어떨까요? SSL 인증서가 바로 이런 환경을 만들어 줍니다. 설치가 완료되면 해커가 데이터를 악용하는 일을 더 이상 걱정하지 않아도 되죠.
그런데 잠깐, 구글 크롬은 여전히 웹사이트의 일부 페이지를 '안전하지 않음(Not Secure)'으로 표시하고 있습니다. 더 심각한 것은 그 경고가 아무 페이지나 아니라 로그인 페이지나 관리자 페이지에 나타난다는 점입니다. 로그인 정보가 안전하지 않은 페이지를 통해 전송된다면 얼마나 위험한지 굳이 설명하지 않아도 알 것입니다.
지난 10년간 수많은 클라이언트의 해킹 피해 사이트를 복구하며 쌓은 노하우를 바탕으로, 로그인 페이지와 관리자 영역을 보호하기 위해 필요한 정확한 단계를 안내해 드리겠습니다.
핵심 요약(TL;DR)
'안전하지 않음' 경고를 제거하려면 Easy HTTPS Redirection 플러그인을 설치하세요. 이 플러그인은 로그인 페이지와 관리자 페이지가 HTTPS로 강제 서비스되도록 도와줍니다. 다만 SSL 인증서만으로는 해커와 봇으로부터 로그인 페이지를 완전히 보호할 수 없으므로, 반드시 별도의 로그인 보호 조치를 함께 적용해야 합니다.
SSL 인증서를 설치했는데도 경고가 사라지지 않는 이유
SSL 인증서를 설치했는데도 구글이 여러분의 사이트를 안전하지 않다고 표시한다면 정말 답답하실 겁니다. 하지만 이 경고는 여러분을 위한 것입니다. 인증서가 올바르게 설정되지 않았기 때문에 경고가 계속 표시되는 것이죠.
이 경고가 없었다면 여러분과 팀원들은 로그인 자격 증명이 유출될 경우 악용될 수 있다는 사실조차 모른 채 계속 로그인했을 겁니다. 구글이 위험을 알려준 것이니, 이제 사이트를 지키는 것은 여러분의 몫입니다.
참고: 로그인·관리자 페이지 외의 다른 페이지에서 '안전하지 않음' 경고가 표시된다면 이 글보다 '혼합 콘텐츠(Mixed Content) 오류 해결 방법'을 다룬 글을 참고하는 것이 좋습니다. 이 글은 오직 로그인 페이지와 관리자 페이지 문제만 다룹니다.
워드프레스 로그인·관리자 페이지에서 '안전하지 않음' 경고 제거하기
해결 방법은 하나뿐입니다. 두 페이지 모두 SSL로 강제 서비스되도록 설정하는 것입니다. 이를 달성하는 방법은 두 가지입니다.
- 쉬운 방법: 플러그인을 사용해 작업을 대신 처리하기
- 어려운 방법: 사이트 백엔드에서 특정 파일을 직접 편집해 SSL 강제 적용하기
플러그인 방식을 권장합니다. 다만 이미 많은 플러그인으로 과부하가 걸린 사이트라면 수동 방식을 선택할 수도 있습니다.
솔직히 말씀드리면, 수동 방식은 권장하지 않습니다. 백엔드 파일 수정은 고위험 작업이며, 실수로 인한 결과는 매우 심각합니다. 수동 방식을 시도하기 전에는 반드시 웹사이트 전체 백업을 먼저 진행하세요. 이 단계는 절대 건너뛰지 마세요.
백업 플러그인 선택이 번거롭다면, 스테이징 사이트에서 먼저 수정 작업을 테스트해 보는 것도 좋은 방법입니다. 스테이징 사이트는 실제 사이트와 동일한 복제본으로, 스테이징 사이트에서 문제없이 작동했다면 실제 사이트에서도 안전하게 적용할 수 있습니다.
사전 준비: 스테이징 사이트 만들기
- 워드프레스 사이트에 BlogVault를 다운로드하고 설치합니다.
- 대시보드 메뉴에서 BlogVault 항목을 선택하고 이메일 주소 입력 후 Get Started를 클릭합니다.
- 계정 생성을 위해 비밀번호를 입력합니다.
- BlogVault 대시보드에서 Add 버튼을 눌러 사이트를 추가합니다.
- BlogVault가 사이트 전체 백업을 시작하면 완료될 때까지 기다립니다.
- 대시보드에서 Sites를 클릭하고 해당 웹사이트를 선택합니다.
- Staging 섹션에서 Add Staging > Submit을 선택하면 스테이징 사이트 생성이 시작됩니다.
- 생성이 완료되면 사용자 이름과 비밀번호가 제공되므로 메모해 둡니다.
- Visit Staging Site를 클릭해 스테이징 사이트를 엽니다.
- 메모해 둔 사용자 이름과 비밀번호를 입력합니다(무단 접근 방지를 위해 비밀번호로 보호됩니다).
- URL 끝에 /wp-admin/을 붙여 로그인 페이지에 접속한 후, 실제 사이트와 동일한 자격 증명으로 로그인합니다.
방법 1: 플러그인으로 '안전하지 않음' 경고 제거하기
1단계: Easy HTTPS Redirection 설정
- 스테이징 사이트에 로그인한 후 Plugins > Add Plugin으로 이동해 검색창에 Easy HTTPS Redirection을 입력하고 설치 및 활성화합니다.
- 관리자 대시보드에서 Settings > HTTPS Redirection으로 이동합니다.
- Enable automatic redirection to the "HTTPS" 옵션을 선택합니다.
- 다음 옵션인 Apply HTTPS redirection on에서 A few pages를 선택하고 아래 URL을 입력합니다.
- wp-login.php
- wp-admin/
이렇게 하면 로그인 영역과 관리자 영역 모두 SSL로 강제 서비스됩니다.
2단계: 로그인·관리자 영역 확인
- 관리자 영역을 새로고침합니다. '안전하지 않음' 경고 대신 자물쇠 아이콘이 표시되어야 합니다.
- 로그아웃한 후 로그인 페이지를 확인합니다. 여기서도 자물쇠 아이콘이 보여야 합니다.
자물쇠 아이콘이 보이지 않더라도 당황하지 마세요. 대부분 캐시 문제일 가능성이 높습니다. 캐시를 삭제한 후 다시 확인해 보세요.
다음으로 웹사이트 전체가 정상적으로 작동하는지 확인해야 합니다. 새로 설치한 플러그인이 사이트를 손상시켰을 가능성도 있기 때문입니다. 홈페이지, 블로그, 결제 페이지, 장바구니, 광고, 구독 폼, 문의 양식 등 중요한 페이지와 기능을 모두 점검하세요.
3단계: 실제 사이트에 동일하게 적용
두 가지 방법 중 선택할 수 있습니다.
- 실제 사이트에 Easy HTTPS Redirection 플러그인을 설치하고 1단계의 절차를 그대로 따릅니다.
- 또는 BlogVault의 Merge 기능을 사용해 스테이징 사이트를 실제 사이트와 병합합니다.
방법 2: 수동으로 '안전하지 않음' 경고 제거하기
수동으로 경고를 제거하려면 wp-config 파일을 편집하고 코드를 삽입해야 합니다. wp-config 파일 편집은 경험이 많더라도 위험할 수 있으므로, 스테이징 사이트에서 먼저 진행하는 것을 권장합니다.
1단계: 스테이징 사이트 만들기
위의 '사전 준비: 스테이징 사이트 만들기' 섹션을 참고해 진행하세요.
2단계: SFTP 정보 확인
- BlogVault 대시보드를 열고 해당 웹사이트를 선택합니다.
- Staging 섹션에서 화살표(>) 아이콘을 클릭합니다.
- 사용자 이름, 비밀번호, 호스트, 포트를 포함한 SFTP 정보를 메모해 둡니다.
3단계: SFTP 자격 증명으로 설정 파일 편집
- FileZilla를 다운로드하여 로컬 컴퓨터에 설치합니다.
- FileZilla를 열고 상단의 Host, Username, Password, Port 항목에 SFTP 자격 증명을 입력한 후 Quickconnect를 클릭합니다.
- Remote Site 패널에서 public_html 폴더를 클릭합니다.
- 하단 패널에 파일과 폴더가 나타나면 그중에서 wp-config.php 파일을 찾습니다.
- wp-config.php 파일을 마우스 오른쪽 버튼으로 클릭하고 View/Edit를 선택합니다.
- 다음 코드를 wp-config 파일에 추가합니다:
define('FORCE_SSL_ADMIN', true);
중요: 반드시 /* That's all, stop editing! Happy blogging. */ 문장 앞에 코드를 삽입해야 합니다.
- 파일을 닫으면 저장 여부를 묻는 창이 뜹니다. Yes를 선택합니다.
4단계: 스테이징 사이트의 로그인·관리자 영역 확인
- BlogVault 대시보드에서 Staging 섹션의 사용자 이름과 비밀번호를 확인합니다.
- 같은 섹션에서 스테이징 사이트 URL을 클릭해 새 브라우저 탭으로 열고 자격 증명을 입력합니다.
- URL 끝에 /wp-admin/을 붙여 로그인 페이지를 엽니다.
- 로그인 페이지와 관리자 페이지 모두 '안전하지 않음' 경고 대신 자물쇠 아이콘이 표시되는지 확인합니다.
자물쇠가 보이지 않으면 캐시 문제일 가능성이 높으니 캐시를 삭제한 후 재확인하세요. 이후 홈페이지, 블로그, 결제, 장바구니 등 주요 페이지와 기능이 모두 정상 작동하는지 점검합니다.
5단계: 실제 사이트에 동일하게 적용
- BlogVault의 Merge 기능으로 스테이징 사이트를 실제 사이트와 병합합니다(권장).
- 또는 실제 사이트의 wp-config.php 파일을 직접 편집하여
define('FORCE_SSL_ADMIN', true);코드를 /* That's all, stop editing! Happy blogging. */ 문장 앞에 삽입하고 저장합니다.
축하합니다! 이제 워드프레스 로그인 페이지의 '안전하지 않음' 경고가 성공적으로 제거되었습니다.
왜 로그인·관리자 페이지에서만 '안전하지 않음' 경고가 나타날까요?
핵심 원인: 브라우저가 여러분의 SSL 인증서를 신뢰하지 않기 때문입니다.
"그런데 사이트의 다른 페이지에서는 인증서가 잘 작동하는데요?"라고 생각하실 수 있습니다. 그 이유는 로그인 페이지와 관리자 영역이 웹사이트에서 가장 중요한 페이지이기 때문입니다. 브라우저는 이런 핵심 페이지가 낮은 등급의 인증서로 서비스되는 것을 허용하지 않습니다.
다음과 같이 확인해 보세요. Qualys SSL Labs의 SSL 체커에 웹사이트 URL을 입력하고 Submit을 누릅니다. A+ 등급 미만이라면 낮은 등급의 인증서를 사용 중인 것입니다.
자체 서명(self-signed) SSL을 사용 중이라면 보안상 위험하므로 신뢰할 수 있는 다른 벤더의 SSL 인증서를 설치하는 것이 좋습니다.
인증서를 처음부터 선택하고 설치하는 과정이 부담스럽다면 호스팅 업체에서 SSL 인증서를 발급받고 설치까지 맡기세요. 현재 인증서가 호스팅 업체에서 발급된 것이라면 해당 업체에 연락해 로그인·관리자 페이지의 경고 내용과 스크린샷을 전달하세요. 대부분의 경우 인증서 설정 문제이며, 호스팅 업체에서 간단히 해결해 줄 수 있습니다.
그 다음은 무엇을 해야 할까요?
'안전하지 않음' 경고를 성공적으로 제거했습니다. 하지만 한 가지 생각해 볼 질문이 있습니다. SSL 인증서만으로 해킹으로부터 웹사이트를 지킬 수 있을까요?
수천 개의 워드프레스 사이트를 거의 10년간 관리해 온 경험으로 말씀드리면, 아니요. SSL만으로는 부족합니다.
해커로부터 웹사이트를 보호하려면 전용 보안 플러그인이 필요합니다. MalCare 같은 플러그인은 로그인·관리자 영역을 보호할 뿐만 아니라 매일 사이트를 스캔해 의심스러운 활동을 감지하고, 멀웨어 발견 시 정리를 도우며, 선제적인 방어 조치도 가능하게 해 줍니다.
MalCare를 직접 사용해 보는 건 어떠신가요?