CFAPPSEC HANDS-ON
현대오토에버 교육 과정Etevers Demo Account
Cloudflare Technical Workshop

AppSec & Traffic
Management Hands-on

Zone 생성부터 Pages 배포, WAF 보안 정책, Spectrum, Origin Port Rewrite까지 직접 구성하고 검증하는 실습 과정입니다.

Onboard Deploy Protect Connect Control

실습 환경

Etevers Disti Demo Account에서 진행합니다. 실습 Zone은 개인 이메일의 @ 앞부분을 사용해 [사용자명].secure-way.kr 형식으로 생성합니다.

계정 초대가 필요한가요?

ICT 계정 로그인이 어려운 경우 사용할 개인 이메일을 보내주세요.

00
Before class

POC 신청 및 사전 준비

실습에 필요한 POC 요청서를 작성하고 Demo Account 초대를 완료합니다.

완료 조건POC 요청서 전달 및 Cloudflare Demo Account 로그인 확인
  1. 아래 링크에서 POC 요청서를 다운로드합니다.
  2. 요청서의 고객사·대상 도메인·실습 목적 등 필수 내용을 작성합니다.
  3. 작성한 요청서를 shinwoo.lee@etevers.com으로 전달합니다.
  4. 초대 메일을 확인하고 Etevers Demo Account에 로그인합니다.
Cloudflare POC 요청서

ZIP 파일을 내려받아 작성 후 이메일로 회신해 주세요.

요청서 다운로드 ↗

진행 확인

01
Onboard

Zone Onboarding

CNAME Setup(Partial) 방식으로 Zone을 만들고 소유권과 인증서를 검증합니다.

완료 조건Zone Status가 Active이고 Edge Certificate가 발급된 상태

Zone 이름 규칙

[이메일 @ 앞부분].secure-way.kr 예시: shinwoo.secureway.kr

설정 절차

  1. Cloudflare Dashboard에서 Add a domain을 선택하고 개인 실습 Zone을 등록합니다.
  2. Overview → Convert to CNAME DNS Setup에서 CNAME Setup(Partial) 방식으로 전환합니다.
  3. 화면에 표시된 Zone Activation TXT 레코드를 확인합니다.
  4. SSL/TLS → Edge Certificates에서 인증서 발급을 요청하고 DCV CNAME 레코드를 확인합니다.
  5. 두 레코드를 담당자에게 전달한 뒤 Zone Active 및 인증서 발급 상태를 확인합니다.
  6. 활성화가 완료되면 실제 서비스 호스트를 Cloudflare가 안내한 CNAME 대상으로 전환합니다.

담당자에게 전달할 DNS 레코드 예시

Zone 소유권 검증cloudflare-verify.shinwoo.secureway.kr
TXT → "a0be20c914b87763a0d8671535cc142b"
SSL 인증서 DCV_acme-challenge.shinwoo.secureway.kr
CNAME → shinwoo.secureway.kr.51eff1c2f32b8f94.dcv.cloudflare.com
두 레코드의 역할이 다릅니다.Verification TXT는 Zone 소유권을, DCV CNAME은 SSL 인증서 발급 권한을 검증합니다. Zone이 활성 상태인 동안 Verification TXT를 유지하세요.

진행 확인

02
Deploy

Cloudflare Pages 배포

제공된 정적 사이트 소스를 Pages에 배포하고 실습 호스트와 연결합니다.

완료 조건Pages 배포 URL과 Custom Domain에서 테스트 페이지 정상 응답
실습용 Pages 소스

main.zip을 다운로드한 뒤 압축을 해제합니다.

소스 다운로드 ↗

설정 절차

  1. Workers & Pages → Create application → Pages로 이동합니다.
  2. Upload assets를 선택하고 제공된 사이트 파일을 업로드합니다.
  3. Deploy를 실행한 뒤 생성된 *.pages.dev 주소에서 페이지가 열리는지 확인합니다.
  4. Pages Project → Custom domains → Set up a domain에서 개인 실습 호스트를 등록합니다.
  5. Custom Domain의 인증서 상태가 Active가 된 뒤 최종 URL에 접속합니다.
순서가 중요합니다.DNS에 CNAME만 먼저 만들지 말고 Pages 프로젝트에서 Custom Domain을 먼저 등록하세요. Pages가 호스트 연결과 인증서 발급을 함께 준비합니다.

진행 확인

03
Protect

Application Security 구성

Managed WAF를 활성화하고 Custom Rule과 Rate Limiting의 차단 결과를 확인합니다.

완료 조건보안 기능 활성화 후 Security Events에서 탐지·차단 로그 확인

Managed Security 기능

Security → Settings에서 아래 기능을 활성화합니다.

Cloudflare Managed RulesetCloudflare가 관리하는 알려진 웹 공격 탐지 규칙
OWASP Core RulesetOWASP ModSecurity Core Rule Set 기반 취약점 공격 탐지
Leaked Credentials Detection유출된 사용자 자격 증명 사용 여부 탐지

Custom Rule 실습

  1. Security → WAF → Custom rules에서 새 규칙을 만듭니다.
  2. 실습 호스트와 테스트 조건을 지정하고 초기 Action을 Block으로 설정합니다.
  3. 조건에 맞는 요청을 발생시키고 차단 페이지 또는 응답 코드를 확인합니다.
  4. Security Events에서 Rule Name, Action, Source IP를 확인합니다.

Rate Limiting 실습

  1. Security → WAF → Rate limiting rules에서 새 규칙을 만듭니다.
  2. 테스트 경로, 요청 임계값, 평가 주기, Mitigation Timeout을 지정합니다.
  3. 연속 요청을 발생시켜 임계값 초과 후 HTTP 429 또는 차단 응답을 확인합니다.
운영 환경 적용 전 권장가능하면 먼저 Log 또는 Managed Challenge로 탐지 범위를 확인한 뒤 Block으로 강화하세요. 실습 계정에서는 교육 담당자가 지정한 조건을 따릅니다.

진행 확인

04
Connect

Cloudflare Spectrum

지정된 포트의 TCP/HTTPS 서비스를 Cloudflare Anycast 네트워크를 통해 연결합니다.

완료 조건Spectrum 호스트의 9443 포트로 접속하여 Origin 응답 확인
Application TypeHTTPS
Edge Port9443
Origin IP13.125.138.114
Origin Port9443
테스트 URLhttps://<Spectrum-Host>:9443

설정 절차

  1. Spectrum → Create an application을 선택합니다.
  2. Application Type을 HTTPS로 선택하고 실습용 Domain을 지정합니다.
  3. Edge Port와 Origin의 IP·Port를 표의 값으로 설정합니다.
  4. 배포 상태를 확인한 뒤 브라우저 또는 curl로 응답을 테스트합니다.
curl -vk https://<Spectrum-Host>:9443/

진행 확인

05
Control

Origin Rules — Port Rewrite

사용자는 표준 HTTPS 443으로 접속하고 Cloudflare는 Origin의 9443 포트로 연결하도록 재작성합니다.

완료 조건클라이언트는 443으로 접속하고 Origin 로그에는 9443 요청이 확인됨
ClientHTTPS :443
CloudflareOrigin Rule
OriginHTTPS :9443

규칙 설정

메뉴Rules → Origin Rules → Create rule
If 조건Hostname equals <개인 실습 호스트>
Then 설정Destination Port → Rewrite to 9443
  1. Origin Rules에서 개인 실습 호스트를 대상으로 하는 규칙을 생성합니다.
  2. Destination Port를 9443으로 재작성하도록 설정하고 Deploy합니다.
  3. 포트를 생략한 표준 HTTPS URL로 접속합니다.
  4. 정상 응답과 Origin 측 9443 포트 접속 로그를 함께 확인합니다.
트래픽 흐름브라우저 주소에는 9443을 넣지 않습니다. 클라이언트 연결은 443을 유지하고 Cloudflare와 Origin 사이의 목적지 포트만 9443으로 바뀝니다.

진행 확인

Finish

최종 검증 체크리스트

모든 구성 요소가 연결되어 정상 동작하는지 마지막으로 확인합니다.

복사했습니다.