클라우드플레어를 사용하여 웹사이트의 DDoS 공격 완화하는 방법

소개

Cloudflare는 웹사이트를 위한 역방향 프록시로 작동하여 콘텐츠 전송 네트워크(CDN) 및 분산 DNS 서비스를 제공하는 회사입니다. Cloudflare의 무료 및 유료 서비스는 웹사이트의 보안, 속도 및 가용성을 다양한 방법으로 향상시킬 수 있습니다.

이 튜토리얼에서는 Cloudflare의 무료 티어 서비스를 사용하여 HTTP 기반 분산 서비스 거부(DDoS) 공격에 대비하여 웹 서버를 보호하는 방법을 배우게 됩니다. 이를 위해 “나는 공격받고 있어 모드”를 활성화하여 DDoS 공격을 완화할 수 있습니다. 이 보안 모드는 연결의 합법성을 확인하기 위해 중간 페이지를 제시하여 웹 서버로 전달하기 전에 연결을 확인합니다.

필수 사항

이 튜토리얼을 진행하기 위해서는 다음이 있어야 합니다:

  • A web server
  • A registered domain that points to your web server
  • 도메인을 발급한 도메인 등록기의 제어판에 액세스할 수 있어야 합니다.

또한 계속하기 전에 Cloudflare 계정에 가입해야 합니다.

참고: 이 튜토리얼에서는 Cloudflare의 네임 서버를 사용해야 합니다.

단계 1 – 도메인 구성하여 클라우드플레어 사용

클라우드플레어의 기능을 사용하기 전에 도메인을 클라우드플레어의 DNS를 사용하도록 구성해야 합니다.

이미 수행하지 않은 경우, 클라우드플레어에 로그인하세요.

웹사이트 추가 및 DNS 레코드 스캔

로그인한 후에는 클라우드플레어로 시작하기 페이지로 이동됩니다. 여기에서 웹사이트를 클라우드플레어에 추가하려면 맨 위에 있는 사이트 추가 버튼을 클릭해야 합니다:

클라우드플레어와 함께 사용할 도메인 이름을 입력하고 사이트 추가 버튼을 클릭하세요. 이렇게 보이는 페이지로 이동해야 합니다:

이 튜토리얼에서는 무료 요금제 옵션을 선택합니다. 추가 클라우드플레어 기능을 사용하려면 다른 요금제를 선택하여 지불할 수 있습니다. 그런 다음 계속 버튼을 클릭하세요.

다음 페이지에서는 사이트에 대한 DNS 레코드 스캔 결과가 표시됩니다. 현재 존재하는 모든 DNS 레코드가 있는지 확인하십시오. 이 레코드들은 클라우드플레어가 도메인에 대한 요청을 해결하는 데 사용됩니다. 이 예제에서는 도메인으로 flippeddev.com을 사용했습니다:

웹 서버를 가리키는 A 레코드와 CNAME 레코드에 대해서, 상태 열은 화살표가 통과하는 오렌지색 구름이어야 합니다. 이것은 트래픽이 서버에 도달하기 전에 Cloudflare의 리버스 프록시를 통과함을 나타냅니다.

네임서버 변경하기

다음 페이지에서는 제거해야 할 네임 서버와 추가해야 할 Cloudflare 네임 서버를 표시합니다. 페이지가 어떻게 보일지의 예는 다음과 같습니다:

도메인의 네임서버를 변경하려면, 도메인 등록기관 제어판에 로그인하여 Cloudflare가 제시한 DNS 변경사항을 실행하세요. 예를 들어, Google이나 NameCheap과 같은 등록기관을 통해 도메인을 구입한 경우, 해당 등록기관의 제어판에 로그인하여 변경사항을 적용해야 합니다.

이 과정은 당신의 특정 도메인 등록기관에 따라 다릅니다. 이를 어떻게 하는지 알아내기 어렵다면, 일반 도메인 등록기관에서 DigitalOcean 네임서버로 포인팅하는 방법에서 설명한 과정과 유사하지만, DigitalOcean의 네임서버 대신 Cloudflare의 네임서버를 사용할 것입니다.

예시의 경우, 도메인은 DigitalOcean의 네임서버를 사용하고 있으며, Cloudflare의 DNS를 사용하도록 업데이트해야 합니다.

네임서버를 변경한 후에는 계속 버튼을 클릭하십시오. 네임서버가 전환되기까지 최대 24시간이 걸릴 수 있지만 일반적으로 몇 분 정도 소요됩니다.

네임서버 업데이트 대기

네임서버를 업데이트하는 데는 예측할 수 없는 시간이 소요되므로 다음과 같은 페이지가 표시될 것입니다:

보류 중 상태는 Cloudflare가 지정한 네임서버로 업데이트될 때까지 대기 중이라는 것을 의미합니다(예: olga.ns.Cloudflare.comrob.ns.Cloudflare.com). 도메인의 네임서버를 변경했다면 기다리기만 하고 나중에 활성 상태를 확인하십시오. 네임서버 다시 확인 버튼을 클릭하거나 Cloudflare 대시보드로 이동하면 네임서버가 업데이트되었는지 확인됩니다.

Cloudflare가 활성화됨

네임서버가 업데이트되면 도메인은 Cloudflare의 DNS를 사용하게 되며 활성 상태로 표시됩니다.

이것은 클라우드플레어가 웹사이트로의 역방향 프록시 역할을 하고 있으며, 가입한 요금제에서 제공되는 기능에 액세스할 수 있다는 것을 의미합니다. 이 튜토리얼에서처럼 무료 티어를 사용하는 경우, 사이트의 보안, 속도 및 가용성을 향상시킬 수 있는 일부 기능에 액세스할 수 있습니다.

이 튜토리얼에서는 계속 진행하기 전에 계속되는 DDoS 공격을 완화하는 데 중점을 두기 때문에 모든 기능을 다루지는 않겠습니다. 그러나 CDN, SSL, 정적 콘텐츠 캐싱, 방화벽(트래픽이 서버에 도달하기 전에) 및 트래픽 분석 도구가 포함됩니다.

또한 도메인 바로 아래의 설정 요약에서는 웹사이트의 현재 보안 수준(기본적으로 중간)과 일부 기타 정보가 표시됩니다.

계속하기 전에 클라우드플레어를 최대한 활용하려면 이 안내서를 따르는 것이 좋습니다: 모든 클라우드플레어 사용자를 위한 추천 첫 단계. 이는 클라우드플레어가 원하는 서비스에서의 합법적인 연결을 허용하고, 웹 서버 로그가 클라우드플레어의 역방향 프록시 IP 주소 대신 원래 방문자 IP 주소를 표시하도록 보장하는 데 중요합니다.

모든 준비가 되었으면, 클라우드플레어 방화벽의 나는 공격을 받고 있습니다 모드 설정을 살펴보겠습니다.

단계 2 – 나는 공격을 받고 있습니다 모드 활성화

기본적으로 Cloudflare의 방화벽 보안은 중간으로 설정되어 있습니다. 이것은 중등도 위협으로 평가된 방문자에 대해 도전 페이지를 통해 사이트로 계속 진입하기 전에 일부 보호를 제공합니다. 그러나 귀하의 사이트가 DDoS 공격의 대상이라면, 사이트를 작동 상태로 유지하는 데 충분하지 않을 수 있습니다. 이 경우 나는 공격을 받고 있습니다 모드가 적합할 수 있습니다.

이 모드를 활성화하면 웹 사이트를 방문하는 모든 방문자가 브라우저 확인을 수행하고 5초 정도 방문자를 지연시킨 후 서버로 전달되는 중간 페이지가 표시됩니다. 이것은 다음과 같이 보일 것입니다;

확인이 통과되면 방문자가 웹 사이트로 통과할 수 있습니다. 악의적인 방문자가 사이트에 연결되는 것을 방지하고 지연시키는 조합은 DDoS 공격 중에도 사이트를 작동 상태로 유지하는 데 충분합니다.

참고: 사이트 방문자는 중간 페이지를 통과하려면 JavaScript와 쿠키가 활성화되어 있어야 합니다. 이것이 허용되지 않는 경우 “높음” 방화벽 보안 설정을 사용하는 것을 고려하십시오.

나는 공격을 받고 있습니다 모드를 활성화해야 하는 것은 귀하의 사이트가 DDoS 공격의 피해자인 경우에만 원합니다. 그렇지 않으면 정상 사용자가 귀하의 웹 사이트에 무작위로 접속하는 것을 지연시키지 않도록 이 모드를 비활성화해야 합니다.

나는 공격을 받고 있습니다 모드를 활성화하는 방법

만약 I’m Under Attack Mode를 활성화하려면, 가장 쉬운 방법은 Cloudflare 개요 페이지(기본 페이지)로 이동하고 오른쪽 사이드바에서 토글을 켜는 것입니다:

보안 설정이 즉시 I’m Under Attack 상태로 전환됩니다. 이제 사이트 방문자는 위에서 설명한 Cloudflare 보안 중간 페이지가 표시됩니다.

I’m Under Attack Mode 해제하는 방법

I’m Under Attack Mode은 DDoS 긴급 상황에서만 사용해야 하므로 공격을 받지 않는 경우 비활성화해야 합니다. 이를 위해 Cloudflare 개요 페이지로 이동하고 해제합니다. 이렇게 하면 다음과 같은 모달이 열립니다:

그런 다음 전환하려는 보안 수준을 선택하십시오. 기본 및 일반적으로 권장되는 모드는 Medium입니다.
사이트는 Active 상태로 되돌아가고 DDoS 보호 페이지가 비활성화됩니다.

결론

이제 당신의 웹사이트는 Cloudflare를 사용하고 있으므로, HTTP 기반의 DDoS 공격으로부터 쉽게 보호할 수 있는 다른 도구가 하나 더 생겼습니다. 또한, Cloudflare가 제공하는 무료 SSL 인증서와 같은 다양한 도구를 설정해 볼 가치가 있는지 살펴보는 것이 좋습니다. 따라서, 당신이 유용하게 사용할 수 있는 옵션을 탐색해 보시기를 권장합니다.

Cloudflare를 사용하여 사이트를 보호하는 방법에 대해 더 알아보려면, 저희의 Ubuntu 22.04에서 Cloudflare와 Nginx를 사용하여 웹사이트를 호스팅하는 방법 튜토리얼을 참조하실 수 있습니다.

Source:
https://www.digitalocean.com/community/tutorials/how-to-mitigate-ddos-attacks-against-your-website-with-cloudflare