법원, 병원, 공항. 보안이 생명인 곳들이 같은 이유로 한꺼번에 뚫릴 뻔했다. 범인은 다름 아닌 웹 콘텐츠 관리 소프트웨어, 이른바 CMS의 취약점이었다. 전혀 관련 없어 보이는 수백 개 사이트가 알고 보니 같은 부품을 쓰고 있었고, 그 부품 하나에 구멍이 나 있었던 셈이다.
교훈은 명확하다. 홈페이지 보안은 서버 하나만 잘 지킨다고 끝나는 문제가 아니다. 내가 쓰는 소프트웨어 자체에 결함이 있을 수도 있다는 뜻이다. 중소기업이나 개인 블로그 운영자라면 ‘나랑 무슨 상관이냐’ 싶겠지만, 이런 공급망형 취약점은 개인 사이트까지 그대로 파고든다. 그래서 정리해봤다. 내 홈페이지가 어떤 CMS로 돌아가는지, 뭘 점검해야 하는지.
CMS, 대체 뭐길래 자꾸 뚫리나
CMS는 코드를 몰라도 홈페이지 콘텐츠를 올리고 관리할 수 있게 해주는 소프트웨어다. 워드프레스, 그누보드, XE, 제로보드 같은 것들이 대표적이다. 국내 관공서와 기업 상당수가 이런 오픈소스 혹은 상용 CMS 위에 사이트를 얹어 운영한다. 문제는 같은 CMS를 쓰는 사이트가 전 세계에 수만 개씩 존재한다는 점. 공격자 입장에서는 CMS 코드 한 곳의 취약점만 찾아내면, 그 CMS를 쓰는 사이트를 통째로 노릴 수 있다. 법원과 병원, 공항이 같은 취약점으로 묶이는 이유도 여기 있다. 좀 얄궂지 않나.
내 홈페이지, 위험한지 확인하는 법
점검, 생각보다 어렵지 않다. 아래 항목부터 하나씩 짚어보자.
- 사이트 하단이나 페이지 소스에 CMS 이름과 버전이 그대로 노출되는지 본다
- Wappalyzer, BuiltWith 같은 브라우저 확장 프로그램으로 사용 중인 기술 스택을 조회해본다
- KISA(한국인터넷진흥원) 웹 취약점 자동진단 서비스나 무료 스캐너로 기본 점검을 돌려본다
- 관리자 로그인 페이지 주소가 기본값(/wp-admin, /admin 등) 그대로인지 확인한다
- 최근 1년 사이 CMS나 플러그인을 업데이트한 적이 있는지 본다
이 중 두세 개 이상 걸린다면, 손볼 때가 된 거다.
국내에서 많이 쓰는 CMS, 뭐가 약할까
CMS 종류마다 약한 지점이 조금씩 다르다.
- 워드프레스 — 본체보다 서드파티 플러그인과 테마에서 취약점이 훨씬 많이 터진다. 안 쓰는 플러그인 방치가 제일 흔한 실수다
- 그누보드, 영카트 — 게시판 파일 업로드 기능으로 웹셸을 심거나 SQL 인젝션을 노리는 게 단골 공격 경로다
- 카페24, 고도몰 같은 호스팅형 솔루션 — 플랫폼 자체 보안은 업체 몫이지만, 부가 모듈이나 디자인 스킨에서 구멍이 생기곤 한다
- 자체 개발 게시판 — 유지보수 인력이 빠지면 몇 년째 방치되는 일이 많아 오히려 더 위험하다
지금 바로 손댈 수 있는 보안 조치
큰돈 안 들이고도 손댈 수 있는 것부터 정리하면 이렇다.
- CMS 본체와 플러그인, 테마를 최신 버전으로 유지한다
- 안 쓰는 플러그인과 테마는 비활성화 말고 아예 삭제한다
- 관리자 페이지 접근을 특정 IP나 VPN으로 묶어둔다
- 관리자 계정에는 2단계 인증(OTP)을 걸어둔다
- 웹 방화벽(WAF)을 앞단에 세우고, 전체 백업은 주기적으로 별도 저장소에 보관한다
손보고 끝나는 게 아니다, 정기 점검이 진짜
한 번 손보고 끝내면 다시 뚫린다. 월 1회 CMS와 플러그인 업데이트 여부를 확인하고, 서버 접속 로그와 관리자 로그인 이력을 훑어보는 습관이 필요하다. 예산에 여유가 있다면 Nikto나 OpenVAS 같은 무료 취약점 스캐너를 정기적으로 돌리거나, 1년에 한 번쯤은 외부 보안업체에 모의해킹(펜테스트)을 맡기는 것도 방법이다. 공공기관이나 금융권처럼 규모가 큰 조직은 이런 점검이 의무인 경우가 많지만, 중소 웹사이트는 이런 절차 자체가 아예 없는 곳이 대부분이다.
해킹당했다면, 초기 대응 3단계
이미 이상 징후가 보인다면, 순서대로 움직이는 게 낫다. 먼저 서버를 네트워크에서 떼어내 추가 피해를 막고, 접속 로그와 파일 변조 흔적부터 확보한다. 증거를 남긴 다음엔 KISA 118 상담센터나 한국인터넷진흥원 침해사고 신고 창구에 신고하고, 안전한 시점의 백업으로 복원한 뒤 원인이 된 취약점을 반드시 막고 나서 서비스를 다시 열어야 한다. 원인을 못 찾은 채 복구만 하면, 같은 구멍으로 또 뚫리는 일이 흔하다.
자주 나오는 질문 몇 가지
Q. 워드프레스는 원래 위험한 CMS인가요?
A. 워드프레스 자체보다 관리 소홀이 진짜 원인인 경우가 많다. 본체 업데이트는 자동으로 잘 되는 편인데, 방치된 플러그인이 사고를 친다.
Q. 방문자가 적은 작은 사이트도 표적이 되나요?
A. 트래픽 크기와 상관없이 자동화된 스캐너는 도메인을 가리지 않고 훑는다. ‘설마 내 사이트가’ 싶겠지만, 오히려 관리가 허술한 소규모 사이트가 더 쉬운 먹잇감이다.
Q. 무료 CMS와 유료 솔루션 중 뭐가 더 안전한가요?
A. 라이선스보다 업데이트 주기와 관리 인력 유무가 안전을 가른다. 무료라도 꾸준히 관리하면 유료 솔루션보다 낫다.
출처: TechCrunch
