주소창에 자물쇠 대신 '주의 요함'이 떠 손님이 결제 직전에 창을 닫는다 — 작은 회사 웹사이트가 보안 자물쇠(HTTPS)를 갖추는 5가지 원칙

요즘 손님은 결제 버튼을 누르기 전에 주소창부터 본다. 자물쇠 표시가 없고 '주의 요함(Not Secure)'이라는 경고가 떠 있으면, 아무리 좋은 상품을 팔아도 '여기에 카드번호와 전화번호를 넣어도 되나' 하는 의심이 먼저 든다. HTTPS는 더 이상 보안 담당자만 챙기는 옵션이 아니라, 작은 회사가 손님에게 '믿고 입력하셔도 됩니다'라고 말하는 가장 기본적인 신호다. 실무에서 자주 놓치는 5가지를 짚어본다.

1. HTTPS가 정확히 무엇을 지켜주는지부터 안다

HTTPS는 손님의 브라우저와 우리 서버 사이를 오가는 정보를 암호화한다. 카페 와이파이처럼 누구나 들여다볼 수 있는 망에서도 문의 폼에 적은 이름·연락처, 로그인 비밀번호가 중간에서 가로채이지 않는다는 뜻이다. 동시에 '지금 접속한 사이트가 진짜 그 회사가 맞다'는 신원 보증의 역할도 한다.

  • 도청 방지: 주고받는 내용이 암호로 바뀌어 제3자가 읽을 수 없다.
  • 위변조 방지: 전송 중에 광고나 악성코드가 끼어드는 것을 막는다.
  • 신뢰 표시: 주소창 자물쇠가 곧 '검증된 가게'라는 인상을 준다.

2. 인증서는 무료로도 충분하다

예전에는 보안 인증서(SSL 인증서)를 사느라 매년 적지 않은 비용이 들었다. 지금은 Let's Encrypt 같은 무료 인증서가 표준이 되어, 일반적인 회사 소개·문의 사이트라면 돈 한 푼 들이지 않고도 똑같은 자물쇠를 띄울 수 있다. 대부분의 호스팅과 클라우드 서비스가 무료 인증서를 클릭 몇 번으로 발급해준다.

유료 인증서가 의미 있는 경우는 거래액이 큰 금융·쇼핑처럼 회사 실체 검증(OV·EV)까지 보여주고 싶을 때뿐이다. 작은 회사가 '무료라 불안하다'며 비싼 인증서를 살 이유는 없다.

3. 'https로 열리네'에서 끝내지 않는다

가장 흔한 함정이 혼합 콘텐츠(mixed content)다. 페이지 주소는 https인데 그 안의 이미지·폰트·스크립트 일부를 옛날 http 주소로 불러오면, 브라우저는 자물쇠를 깨진 모양으로 바꾸거나 그 자료를 아예 막아버린다. 겉보기엔 보안 사이트인데 정작 사진이 안 뜨거나 경고가 뜨는 이유가 대개 이것이다.

점검 방법

브라우저 개발자 도구의 콘솔을 열면 'mixed content' 경고가 빨갛게 찍힌다. 사이트 안의 모든 리소스 주소가 https로 시작하는지 한 번씩 확인하고, 외부에서 불러오는 위젯·지도·폰트도 https 주소인지 챙긴다.

4. http로 들어온 손님도 https로 돌려보낸다

손님이 명함이나 검색결과를 보고 http:// 주소로 들어오는 경우는 여전히 많다. 이때 자동으로 https 주소로 넘겨주는 리다이렉트가 없으면, 누군가는 암호화되지 않은 화면에 그대로 머문다. 서버 설정에서 http 요청을 https로 301 전환하도록 걸어두는 것이 기본이다.

한 걸음 더 나아가 HSTS를 적용하면, 브라우저가 다음 방문부터는 아예 처음부터 https로만 접속하도록 기억한다. 잠깐이라도 평문으로 노출되는 구간을 없애는 안전장치다.

5. 만료와 자동 갱신을 반드시 확인한다

무료 인증서는 보통 90일마다 갱신해야 한다. 자동 갱신이 켜져 있으면 신경 쓸 일이 없지만, 갱신이 조용히 실패하면 어느 날 갑자기 '이 연결은 비공개로 설정되어 있지 않습니다'라는 무서운 빨간 화면이 손님을 맞이한다. 이건 사이트가 죽은 것과 다름없다.

  • 발급 직후 자동 갱신이 켜져 있는지 한 번 확인한다.
  • 만료 임박 시 메일 알림을 받도록 설정해 둔다.
  • 리뉴얼·서버 이전 뒤에는 인증서가 그대로 따라왔는지 다시 점검한다.

HTTPS는 손님 눈에 띄지 않을 때가 가장 잘 작동하는 상태다. 자물쇠가 조용히 자리를 지키는 동안, 손님은 망설임 없이 문의를 남기고 결제를 끝낸다. CYAN은 작은 회사의 웹사이트를 만들 때 무료 인증서 발급부터 혼합 콘텐츠 점검, http 리다이렉트, 자동 갱신까지 한 번에 세팅해, 오픈 첫날부터 주소창에 자물쇠가 떠 있도록 챙긴다. 보안은 추가 옵션이 아니라 기본값이어야 한다.