[태그:] 웹사이트보안

  • 법원도 뚫릴 뻔했다, 홈페이지 해킹 막는 법과 웹사이트 보안 점검 가이드

    법원도 뚫릴 뻔했다, 홈페이지 해킹 막는 법과 웹사이트 보안 점검 가이드

    법원, 병원, 공항. 보안이 생명인 곳들이 같은 이유로 한꺼번에 뚫릴 뻔했다. 범인은 다름 아닌 웹 콘텐츠 관리 소프트웨어, 이른바 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