Computer >> 컴퓨터 >  >> 소프트웨어 >> 소프트웨어

웹 서버 DDoS 공격 완벽 대응 가이드: 식별부터 차단까지

분산 서비스 거부(DDoS) 공격은 누구에게나, 그리고 언제든지 발생할 수 있습니다. 전용 웹 서버에서 웹사이트를 운영하고 있다면 DDoS 공격이 무엇인지, 이를 어떻게 식별하는지, 그리고 어떻게 차단하고 예방해야 하는지 반드시 이해하고 있어야 합니다.

웹 서버 DDoS 공격 완벽 대응 가이드: 식별부터 차단까지

DDoS 공격이란?

DDoS(Distributed Denial of Service) 공격이란 해커가 봇넷을 이용해 매우 짧은 시간 안에 웹 서버에 감당하기 어려운 수많은 HTTP 요청을 집중적으로 보내는 공격을 말합니다.

봇넷(botnet)은 인터넷 곳곳에 흩어진 수많은 컴퓨터가 바이러스에 감염되어 해커 소프트웨어의 중계 역할을 하도록 변조된 거대한 네트워크입니다. 봇넷에 속한 대부분의 컴퓨터는 일반 사용자의 PC이며, 정작 사용자 본인은 자신의 컴퓨터가 감염되었다는 사실조차 인지하지 못하는 경우가 대부분입니다.

정상적인 웹 서버의 작동 방식

평소에는 웹 서버가 다음과 같은 과정을 거쳐 방문자에게 웹 페이지를 제공합니다.

  • 사용자가 웹 브라우저에 사이트 주소(URL)를 입력합니다.
  • 웹 브라우저가 해당 URL로 HTTP 요청을 보냅니다.
  • ISP의 DNS 서버가 URL을 웹 서버의 올바른 IP 주소로 변환합니다.
  • HTTP 요청이 인터넷을 통해 웹 서버로 전달됩니다.
  • 웹 서버는 URL에서 요청한 페이지에 해당하는 HTML 파일을 찾습니다.
  • 웹 서버가 해당 HTML 파일에 담긴 모든 콘텐츠로 응답합니다.
  • 사용자의 브라우저가 HTML 파일을 받아 화면에 페이지를 표시합니다.
웹 서버 DDoS 공격 완벽 대응 가이드: 식별부터 차단까지

대부분의 웹 서버는 하루 평균 예상 트래픽을 기준으로 CPU와 네트워크 장비 용량이 설계됩니다. 사이트에 따라 하루 방문자가 10만 명, 많으면 100만 명에 이르는 경우도 있습니다.

그러나 DDoS 공격을 감행하는 해커는 전 세계 수백만 대의 컴퓨터로 구성된 봇넷을 동원해 웹 서버에 초당 수천 건의 HTTP 요청을 쏟아붓습니다.

웹 서버는 이 정도 트래픽을 감당하도록 설계되어 있지 않기 때문에, 결국 정상 방문자에게 Service Unavailable(서비스를 사용할 수 없음) 오류 메시지를 반환하게 됩니다. 이것이 바로 HTTP 503 오류입니다.

드문 경우지만, 리소스가 부족한 아주 작은 웹 서버에서 운영되는 사이트라면 서버 자체가 멈추거나 완전히 다운되기도 합니다.

DDoS 공격, 어떻게 식별할까?

웹사이트가 갑자기 접속되지 않을 때, 그 원인이 DDoS 공격인지 어떻게 알 수 있을까요? 몇 가지 특징적인 증상을 통해 확인할 수 있습니다.

가장 대표적인 신호는 앞서 언급한 HTTP 503 오류입니다. 또 하나의 중요한 징후는 대역폭(bandwidth)의 급격한 폭증입니다.

이를 확인하려면 웹 호스팅 업체 계정에 로그인한 뒤 cPanel을 엽니다. 아래로 스크롤하여 Logs(로그) 섹션에서 Bandwidth(대역폭)를 선택하세요.

정상적인 최근 24시간 대역폭 그래프는 작은 스파이크 몇 개를 제외하면 비교적 일정한 수준을 유지하는 것이 보통입니다.

웹 서버 DDoS 공격 완벽 대응 가이드: 식별부터 차단까지

반면 최근 대역폭이 비정상적으로 치솟은 채 1시간 이상 높은 수준을 유지한다면, 웹 서버가 DDoS 공격을 받고 있다는 확실한 증거입니다.

DDoS 공격이 진행 중이라고 판단되면 신속하게 대응해야 합니다. 이런 공격은 막대한 네트워크 대역폭을 소모하며, 호스팅 업체를 이용 중이라면 해당 데이터 서버 역시 동일한 트래픽 폭증을 겪게 됩니다. 이는 결국 같은 서버를 사용하는 다른 고객들에게도 악영향을 미칠 수 있습니다.

DDoS 공격 차단하는 방법

DDoS 공격은 스스로 막을 수 있는 것이 아닙니다. 하지만 웹 호스팅 업체에 즉시 연락하면, 업체 측에서 내 웹 서버로 향하는 모든 유입 HTTP 요청을 즉시 차단해 줍니다.

웹 서버 DDoS 공격 완벽 대응 가이드: 식별부터 차단까지

이렇게 하면 웹 서버의 부하가 순식간에 줄어들어 서버가 다운되는 것을 막을 수 있으며, 공격이 호스팅 업체의 다른 고객에게 미치는 영향도 함께 차단됩니다.

다음 단계는 공격이 끝날 때까지 기다리는 것입니다.

사실 DDoS 공격은 해커에게도 상당한 리소스가 필요한 작업입니다. 대개는 웹사이트를 꺾고 싶어 하는 제3자가 비용을 지불하고 공격을 의뢰하며, 공격은 1시간에서 몇 시간까지 정해진 기간 동안만 지속됩니다.

다행인 점은 공격이 반드시 끝난다는 것입니다. 반면 안타까운 점은, 공격이 끝날 때까지 서버로 향하는 모든 트래픽을 차단해야 하므로 결과적으로 웹사이트를 마비시키려던 사람의 의도가 관철된다는 사실입니다.

DDoS 공격에 효과적으로 대응하는 방법

아쉽게도 DDoS 공격은 웹사이트를 일시적으로 마비시키는 가장 간단하고 저렴한 수단 중 하나입니다.

공격 자체는 영구적이지 않지만, 분명한 '메시지'를 전달하려는 의도가 담겨 있습니다. 즉, 내가 게시한 콘텐츠 중 누군가를 크게 자극한 것이 있고, 그 사람이 돈을 들여 해커에게 공격을 의뢰했을 가능성이 높습니다.

대규모 기업처럼 중요한 온라인 사업을 운영 중이며 DDoS 공격에 대한 방어력이 필요하다면, 대응이 가능은 하지만 결코 저렴하지 않습니다.

DDoS 방어 서비스는 공격에 사용되는 봇넷보다 더 큰 규모의 일종의 '대응 봇넷'을 구축하는 방식으로 작동합니다. 덕분에 초당 수십만, 수백만 건의 HTTP 요청이 몰려와도 분산 처리 방식으로 대응할 수 있습니다.

웹 서버 DDoS 공격 완벽 대응 가이드: 식별부터 차단까지

이런 서비스는 월 단위 이용료가 발생합니다. 하지만 DDoS 공격을 반복적으로 당고 있다면, 그 비용은 충분히 가치가 있을 것입니다.

DDoS 공격은 최선의 경우 몇 시간의 웹사이트 다운타임으로 끝나는 성가신 일에 불과합니다. 하지만 최악의 경우 온라인 매출 손실은 물론, 웹사이트를 향한 고객의 신뢰 하락으로까지 이어질 수 있습니다.

DDoS 공격을 식별하고 대응하는 방법을 미리 알아두면 다운타임을 줄일 수 있고, 나와 호스팅 업체가 공격에서 복구하는 데 걸리는 시간 역시 크게 단축할 수 있습니다.