개인 도메인의 보안 실천

이 문서는 개인 도메인 사용 과정에서의 보안 실천 경험을 공유하며, 스캔 공격 분석, 도메인 보호 전략, 흔한 공격 수단 및 엣지 보안 서비스 선택 등의 내용을 포함합니다.

서론

인터넷 시대에 네트워크 공격은 이미 일상이 되었습니다. 매일 수많은 자동화 도구가 인터넷의 모든 구석을 스캔하며 가능한 취약점을 찾고 있습니다. 많은 사람들이 대기업만이 공격 대상이 된다고 생각하지만, 실제로는 공격 비용의 감소와 도구의 보급으로 인해 인터넷에 노출된 모든 서비스가 공격 대상이 될 수 있습니다.

실제 사례 분석

스캔 공격 사례

제가 Cloudflare에 배포한 소규모 전시 웹사이트는 유효한 URL이 두 개뿐입니다:

하지만 여전히 지속적인 스캔 공격을 받고 있습니다.

처음에는 다른 URL이 전부 404를 반환했는데, 오픈 당일 홍콩 호스트들이 스캔을 시작했습니다. 소스 IP는 매일 바뀌지만 대부분은 홍콩입니다. 일부 사용자가 홍콩 IP를 통해 접속하므로 지역을 차단할 수도 없습니다.

위 URL들은 모두 각종 목적을 가진 시도들이며, 제 Worker는 //logs-collector만 처리합니다. 이러한 끈질긴 시도들은 기본적으로 취약점을 찾기 위한 것입니다.

하지만 이렇게 스캔하면 CF의 무료 요청 횟수를 차지하고, 제 로그를 오염시키므로 좋지 않습니다.

나중에는 다른 모든 요청에 대해 200을 반환하고, Host on Cloudflare Worker, don't waste your time라는 문구를 추가했습니다.

이렇게 하니 스캔이 약간 줄어들었지만, 인과관계가 있는지는 모르겠습니다.

만약 자체 호스트에 서비스를 운영 중이고 매일 이런 식으로 스캔을 당하는데 보안 업데이트를 전혀 하지 않는다면, 언젠가 취약점이 발견되어 뚫리는 것은 시간문제입니다.

공격자 입장에서는 매일 정해진 시간에 멈추지 않고 시도하는 것이며, 하나만 뚫리면 성공입니다. 기본적으로 모두 자동화되어 있어 장비와 시간 비용이 크지 않습니다.

보안 위협 분석

공격자 특징

  • 국경을 넘나드는 범죄가 보편적이어서 책임 추궁이 어렵습니다.
  • Nmap, Masscan 등의 포트 스캔 도구를 포함한 자동화 도구가 널리 사용됩니다.
  • 지속적인 공격이며 비용이 저렴합니다.
  • 좀비 PC(봇넷) 리소스가 충분하여 IP 주소가 자주 바뀝니다.
  • 공격 시간은 보통 심야나 공휴일이 선택됩니다.

흔한 공격 방식

  1. 포트 스캔
    • 개방된 포트를 대량으로 스캔합니다.
    • 일반적인 서비스(SSH, RDP, MySQL 등)를 식별합니다.
  2. 취약점 스캔
    • 알려진 취약점이 있는 오래된 소프트웨어를 스캔합니다.
    • 경로 특징과 파일명 특징을 통해 식별합니다.
  3. 직접 입력을 구성하여 입력 유효성 검사 취약점을 공격합니다.

보안 실천

리버스 프록시 대신 VPN 사용

대부분의 사람들은 소프트웨어를 제때 업그레이드하지 않습니다. 가장 좋은 것은 자신의 도메인을 노출시키지 않는 것입니다. 스캔은 postfix를 구성할 수도 있고, prefix를 구성할 수도 있어 각종 서브도메인을 시도합니다.

예를 들어 서브도메인 재난 지역:

  • nas.example.com
  • home.example.com
  • dev.example.com
  • test.example.com
  • blog.example.com
  • work.example.com
  • webdav.example.com
  • frp.example.com
  • proxy.example.com

이것들은 예시로 적어본 것들이고, 자동화 공격이라면 서브도메인 사전을 만들어 자동으로 테스트할 것입니다.

LAN 내 DNS 서버를 구축할 수 있습니다. 예를 들어 AdguardHome을 사용하여 도메인 해석을 설정하고, 내부 네트워크 장치들은 고정 IP로 접속할 수 있습니다.

DDNS는 AdguardHome의 API로 구현할 수도 있습니다. LAN이므로 도메인을 마음대로 선택할 수 있습니다.

엣지 보안 서비스 사용

사이버 붓다 Cloudflare에 대해서는 굳이 말할 필요가 없습니다. 개인 사용자가 진정한 상업적 가치가 있는 프로젝트를 찾기 전까지는 분명 계속 무료일 것입니다.

국내 서비스는 알리윈(Alibaba Cloud) ESA이며, 두 가지를 모두 사용 중입니다. 알리윈은 3개월 무료이며, 정상적으로는 루트 도메인 하나에 월 10위안, 트래픽 50G로 제한됩니다. CF의 완전 무료 서비스 앞에서는 자세히 소개하지 않겠습니다.

보안 서비스는 대체로 비싸며, 보호를 하지 않으면 공격을 받았을 때 피해가 큽니다. 유료로 보호를 하면 매일 직접적인 “손실"을 보는 것과 같습니다.

엣지 보안 서비스는 일종의 보험으로 매우 저렴하고 가성비가 뛰어난 보안 서비스이며, 전문적인 사람이 전문적인 일을 하게 하는 전형적인 경우입니다.

엣지 보안의 주요 목적은 자신의 실제 IP를 숨기는 것입니다. 사용자가 엣지 노드에 접속하면, 엣지 노드가 실제 IP로 접속할지 계산하여 결정합니다.

그 본질은 캐싱, WAF, CDN, DDoS 방어 등의 기능이 통합된 전방 리버스 프록시입니다. 사용자와 서비스 사이에 제3자가 삽입되므로 사용자 경험이 저하될 가능성이 일부 있습니다.

CF와 ESA를 모두 사용해 본 결과, 경험을 최상으로 유지하던 일부 사용자의 경험은 약간 저하되었지만, 더 많은 지역의 사용자 경험은 향상되었습니다. 전체적으로 볼 때 여전히 매우 가치 있습니다.

요약

개인용 서비스라면 우선적으로 VPN을 사용하고, tailscale이나 zerotier가 좋은 선택입니다. DNS 서비스가 필요하면 내부 네트워크에 AdGuardHome을 구축하고, 공용 네트워크에서는 AdGuardPrivate을 사용할 수 있습니다.

공개된 대중용 서비스라면 Cloudflare를 씌우는 것이 가장 좋으며, 중국 본토 접속 속도가 중요하다면 알리윈 ESA를 사용하세요.

이러한 보안 실천은 참고용이며, V Station의 고수들에게 제안을 주시면 매우 환영합니다.