웹사이트 검색

CloudFlare로 웹 사이트에 대한 DDoS 공격을 완화하는 방법


소개

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

이 자습서에서는 Cloudflare의 무료 계층 서비스를 사용하여 \I'm Under Attack Mode\를 활성화하여 진행 중인 HTTP 기반 DDoS(분산 서비스 거부) 공격으로부터 웹 서버를 보호하는 방법을 배웁니다. 이 보안 모드는 DDoS를 완화할 수 있습니다. 웹 서버에 연결을 전달하기 전에 연결의 적법성을 확인하기 위해 중간 페이지를 표시하여 공격합니다.

전제 조건

이 자습서에서는 다음이 있다고 가정합니다.

  • 웹 서버
  • 웹 서버를 가리키는 등록된 도메인
  • 도메인을 발급한 도메인 등록기관의 제어판에 대한 액세스

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

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

1단계 - Cloudflare를 사용하도록 도메인 구성

Cloudflare의 기능을 사용하기 전에 Cloudflare의 DNS를 사용하도록 도메인을 구성해야 합니다.

아직 로그인하지 않았다면 Cloudflare에 로그인하세요.

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

로그인하면 Cloudflare 시작하기 페이지로 이동합니다. 여기에서 Cloudflare에 웹사이트를 추가하려면 맨 위에 있는 사이트 추가 버튼을 클릭해야 합니다.

Cloudflare를 사용할 도메인 이름을 입력하고 사이트 추가 버튼을 클릭하세요. 다음과 같은 페이지로 이동해야 합니다.

이 자습서에서는 무료 플랜 옵션을 선택합니다. 추가 Cloudflare 기능을 원하기 때문에 다른 요금제에 대해 비용을 지불하고 싶다면 부담 없이 그렇게 하세요. 그런 다음 계속 버튼을 클릭합니다.

다음 페이지에는 사이트에 대한 DNS 레코드 스캔 결과가 표시됩니다. Cloudflare가 도메인에 대한 요청을 해결하는 데 사용할 레코드이므로 기존 DNS 레코드가 모두 있는지 확인하세요. 이 예에서는 flippeddev.com을 도메인으로 사용했습니다.

웹 서버를 가리키는 A 및 CNAME 레코드의 경우 상태 열에 화살표가 있는 주황색 구름이 있어야 합니다. 이는 트래픽이 서버에 도달하기 전에 Cloudflare의 역방향 프록시를 통해 흐른다는 것을 나타냅니다.

네임서버 변경

다음 페이지에는 제거해야 하는 이름 서버와 추가해야 하는 Cloudflare 이름 서버가 표시됩니다. 다음은 페이지 모양의 예입니다.

도메인의 이름 서버를 변경하려면 도메인 등록 기관 제어판에 로그인하고 Cloudflare가 제시한 DNS를 변경하세요. 예를 들어 Google 또는 NameCheap과 같은 등록기관을 통해 도메인을 구입한 경우 해당 등록기관의 제어판에 로그인하여 변경해야 합니다.

프로세스는 특정 도메인 등록 기관에 따라 다릅니다. 이를 수행하는 방법을 알 수 없는 경우 DigitalOcean 대신 Cloudflare 이름 서버를 사용한다는 점을 제외하면 공통 도메인 등록 기관에서 DigitalOcean 이름 서버를 가리키는 방법에 설명된 프로세스와 유사합니다.

예시 사례에서 도메인은 DigitalOcean의 이름 서버를 사용하고 있으며 Cloudflare의 DNS를 사용하도록 업데이트해야 합니다.

네임서버 변경이 완료되면 계속 버튼을 클릭합니다. 네임서버가 전환되는 데 최대 24시간이 걸릴 수 있지만 일반적으로 몇 분 밖에 걸리지 않습니다.

네임서버 업데이트 대기

이름 서버를 업데이트하는 데 예측할 수 없는 시간이 걸리므로 다음에 이 페이지가 표시될 수 있습니다.

대기 중 상태는 Cloudflare가 이름 서버가 규정된 이름 서버(예: olga.ns.Cloudflare.comrob.ns.Cloudflare.com)로 업데이트되기를 기다리고 있음을 의미합니다. ). 도메인의 이름 서버를 변경한 경우 기다렸다가 나중에 활성 상태인지 다시 확인하기만 하면 됩니다. 이름 서버 재확인 버튼을 클릭하거나 Cloudflare 대시보드로 이동하면 이름 서버가 업데이트되었는지 확인합니다.

Cloudflare가 활성화됨

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

즉, Cloudflare가 웹사이트에 대한 역방향 프록시 역할을 하고 있으며 귀하는 가입한 가격 책정 계층에서 사용할 수 있는 모든 기능에 액세스할 수 있습니다. 무료 등급을 사용하는 경우 이 자습서에서와 같이 사이트의 보안, 속도 및 가용성을 향상할 수 있는 일부 기능에 액세스할 수 있습니다.

진행 중인 DDoS 공격을 완화하는 데 중점을 두고 있으므로 이 자습서의 모든 기능을 다루지는 않겠지만 여기에는 CDN, SSL, 정적 콘텐츠 캐싱, 방화벽(트래픽이 서버에 도달하기 전) 및 트래픽 분석 도구가 포함됩니다.

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

계속하기 전에 Cloudflare를 최대한 활용하려면 모든 Cloudflare 사용자를 위한 권장 첫 단계 가이드를 따르세요. 이는 Cloudflare가 허용하려는 서비스의 합법적인 연결을 허용하고 웹 서버 로그에 원래 방문자 IP 주소(Cloudflare의 역방향 프록시 IP 주소 대신)가 표시되도록 하는 데 중요합니다.

모두 설정했으면 Cloudflare 방화벽에서 I'm Under Attack Mode 설정을 살펴보겠습니다.

2단계 - I'm Under Attack 모드 활성화

기본적으로 Cloudflare의 방화벽 보안은 보통으로 설정되어 있습니다. 이것은 방문자가 귀하의 사이트를 계속 방문할 수 있도록 허용하기 전에 챌린지 페이지를 제시함으로써 보통 수준의 위협으로 평가되는 방문자에 대한 보호를 제공합니다. 그러나 귀하의 사이트가 DDoS 공격의 대상인 경우 사이트 운영을 유지하기에 충분하지 않을 수 있습니다. 이 경우 I'm Under Attack 모드가 적합할 수 있습니다.

이 모드를 활성화하면 웹사이트 방문자에게 일부 브라우저 확인을 수행하고 방문자를 서버로 전달하기 전에 약 5초 동안 지연시키는 중간 페이지가 표시됩니다. 다음과 같이 보일 것입니다.

확인이 통과되면 방문자가 귀하의 웹사이트를 방문할 수 있습니다. 악의적인 방문자가 사이트에 연결하는 것을 방지하고 지연시키는 것만으로도 DDoS 공격 중에도 사이트를 계속 가동할 수 있습니다.

참고: 사이트 방문자는 중간 페이지를 통과하려면 JavaScript 및 쿠키를 활성화해야 합니다. 이것이 허용되지 않는 경우 "높음\ 방화벽 보안 설정을 대신 사용하는 것이 좋습니다.

귀하의 사이트가 DDoS 공격의 피해자인 경우에만 I'm Under Attack 모드를 활성화하기를 원한다는 점을 명심하십시오. 그렇지 않으면 일반 사용자가 아무 이유 없이 귀하의 웹사이트에 액세스하는 것을 지연시키지 않도록 꺼야 합니다.

I'm Under Attack 모드 활성화 방법

I'm Under Attack Mode를 활성화하려는 경우 가장 쉬운 방법은 Cloudflare 개요 페이지(기본 페이지)로 이동하여 오른쪽 사이드바에서 켜는 것입니다.

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

공격 모드를 비활성화하는 방법

I'm Under Attack 모드는 DDoS 긴급 상황에서만 사용해야 하므로 공격을 받고 있지 않으면 비활성화해야 합니다. 그렇게 하려면 Cloudflare 개요 페이지로 이동한 후 다시 끄십시오. 그러면 다음과 같은 모달이 열립니다.

그런 다음 전환할 보안 수준을 선택합니다. 기본 및 일반적으로 권장되는 모드는 중간입니다.

결론

웹 사이트에서 Cloudflare를 사용하고 있으므로 HTTP 기반 DDoS 공격으로부터 웹 사이트를 쉽게 보호할 수 있는 또 다른 도구가 있습니다. 무료 SSL 인증서와 같이 Cloudflare가 제공하는 설정에 관심이 있을 수 있는 다양한 다른 도구도 있습니다. 따라서 옵션을 탐색하고 무엇이 유용한지 확인하는 것이 좋습니다.

Ubuntu 22.04에서 Cloudflare 및 Nginx를 사용하여 웹사이트를 호스팅하는 방법 자습서에서 Cloudflare를 사용하여 사이트를 보호하는 방법에 대해 자세히 알아볼 수 있습니다.