cf-bouncer: fall-mvp.com zone 제거 — netbis CF bouncer 21일 만에 동기화 재개
fall-mvp.com zone이 CF에서 삭제되어 bouncer가 2026-05-02부터 fatal 루프로 정지. config에서 2줄 제거 후 enable+start. LAPI pull 2026-05-23T04:56:28Z로 갱신 확인. - infra/security/crowdsec-safeline.md: 적용 zone 6 → 5 - history/2026-05-23-cf-bouncer-fall-mvp-removal.md: 인시던트 기록
This commit is contained in:
44
history/2026-05-23-cf-bouncer-fall-mvp-removal.md
Normal file
44
history/2026-05-23-cf-bouncer-fall-mvp-removal.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
---
|
||||||
|
date: 2026-05-23
|
||||||
|
topic: cf-bouncer config에서 fall-mvp.com zone 제거 — netbis CF bouncer 21일 만에 동기화 재개
|
||||||
|
areas: [infra/security/crowdsec-safeline]
|
||||||
|
tags: [history, cloudflare, crowdsec, bouncer, netbis]
|
||||||
|
---
|
||||||
|
|
||||||
|
# 2026-05-23 / cf-bouncer fall-mvp.com 제거 + 동기화 재개
|
||||||
|
|
||||||
|
## 배경
|
||||||
|
|
||||||
|
- `cs-cloudflare-bouncer-1777082222` (= [[../infra/security/crowdsec-safeline#netbis-cf-firewall-cloudflare-firewall-rule-bouncer-재구축-2026-04-25|netbis-cf-firewall]]) 가 2026-05-02 00:21:58Z 정지 후 21일째 down 상태였음 — kappa가 [[2026-05-23-kr1-k3s-stuck-cascade|kr1 k3s stuck 점검]] 흐름에서 발견.
|
||||||
|
- 정지 원인 추적 결과 root cause는 단순 `disabled` 아니라 **fall-mvp.com zone (`6c171579912a271c0fc89c8187493b0f`)이 CF에서 삭제됨** → bouncer가 시작 시 `account ... doesn't have access to zone ...` fatal exit → 무한 재시작 루프 → 누군가 `systemctl stop && disable`로 끄고 잊은 채로 21일 방치.
|
||||||
|
|
||||||
|
## 조치
|
||||||
|
|
||||||
|
1. Vault `secret/cloud/cloudflare-netbis` 의 firewall_bouncer_token으로 CF API 직접 확인:
|
||||||
|
- zone `6c171579912a271c0fc89c8187493b0f` → `code 1001 "Invalid zone identifier"` (zone 자체 존재하지 않음)
|
||||||
|
- netbis account의 남은 zone = 5개 (fall-vip, fall-vip7, psd777, rss-555, rss-7790) 모두 active
|
||||||
|
2. `/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml` 백업 후 fall-mvp 항목 2줄 제거 (actions/zone_id 쌍)
|
||||||
|
3. `systemctl enable --now crowdsec-cloudflare-bouncer.service`
|
||||||
|
4. LAPI pull 갱신 확인:
|
||||||
|
- 이전: `Last API pull: 2026-05-02T00:21:55Z`
|
||||||
|
- 이후: `Last API pull: 2026-05-23T04:56:28Z` ✓
|
||||||
|
|
||||||
|
## 변경 후 상태
|
||||||
|
|
||||||
|
| 항목 | 값 |
|
||||||
|
|---|---|
|
||||||
|
| 적용 zone | 5개 (fall-mvp 제거됨) |
|
||||||
|
| service | `active (running)` since 2026-05-23 04:55:58 UTC |
|
||||||
|
| LAPI bouncer | `cs-cloudflare-bouncer-1777082222` Valid, 30s 폴링 정상 |
|
||||||
|
| config | `/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml` (백업: `.bak.20260523`) |
|
||||||
|
|
||||||
|
## 미해결
|
||||||
|
|
||||||
|
- **fall-mvp.com zone이 언제/왜 CF에서 삭제됐는지 미상.** netbis 측 의도된 폐기일 가능성 — 별도 확인 필요.
|
||||||
|
- bouncer 무한 재시작 루프가 production silently로 21일 방치된 건 모니터링 공백 — `systemctl is-active crowdsec-cloudflare-bouncer.service` 알람 추가 검토.
|
||||||
|
|
||||||
|
## 참조
|
||||||
|
|
||||||
|
- [[../infra/security/crowdsec-safeline|crowdsec-safeline 정본]] — netbis-cf-firewall 섹션 zone 6→5 반영 완료
|
||||||
|
- [[2026-04-25-netbis-cf-firewall-rebuild|2026-04-25 netbis-cf-firewall 재구축]] — 6 zone으로 처음 구축한 시점
|
||||||
|
- [[2026-05-23-kr1-k3s-stuck-cascade|2026-05-23 kr1 k3s stuck]] — 이 발견의 동행 작업
|
||||||
@@ -259,9 +259,9 @@ CrowdSec 공식 가이드 명시 사항 ([blog](https://www.crowdsec.net/blog/mi
|
|||||||
| 동작 | LAPI 폴링(10s) → CF Account IP List + Zone Firewall Rule 갱신 |
|
| 동작 | LAPI 폴링(10s) → CF Account IP List + Zone Firewall Rule 갱신 |
|
||||||
| LAPI bouncer 이름 | `cs-cloudflare-bouncer-1777082222` (자동 생성, rename 보류) |
|
| LAPI bouncer 이름 | `cs-cloudflare-bouncer-1777082222` (자동 생성, rename 보류) |
|
||||||
| **origin filter** | `only_include_decisions_from: [crowdsec, cscli]` (CAPI/lists 30k+ 무시 → CF List 10k 한도 회피) |
|
| **origin filter** | `only_include_decisions_from: [crowdsec, cscli]` (CAPI/lists 30k+ 무시 → CF List 10k 한도 회피) |
|
||||||
| **액션 매핑** | `default_action: managed_challenge` (모든 6 zone 동일). LAPI decision type 무관하게 CF managed_challenge 액션으로 적용 → 사용자는 CF 캡챠 페이지 통과 후 진입. 분산 DDoS 시나리오 오탐 시에도 ban이 아니라 캡챠 |
|
| **액션 매핑** | `default_action: managed_challenge` (모든 5 zone 동일). LAPI decision type 무관하게 CF managed_challenge 액션으로 적용 → 사용자는 CF 캡챠 페이지 통과 후 진입. 분산 DDoS 시나리오 오탐 시에도 ban이 아니라 캡챠 |
|
||||||
| CF 리소스 | IP List `crowdsec_managed_challenge` (`f728ad9d4653467396d32466902c9e52`), 6 zone × Firewall Rule (managed_challenge 액션) 자동 생성 |
|
| CF 리소스 | IP List `crowdsec_managed_challenge` (`f728ad9d4653467396d32466902c9e52`), 5 zone × Firewall Rule (managed_challenge 액션) 자동 생성 |
|
||||||
| 적용 zone | fall-vip / fall-mvp / fall-vip7 / psd777 / rss-555 / rss-7790 (Account ID `8fcf3c7876332aba33e974cbbfdad951`) |
|
| 적용 zone | fall-vip / fall-vip7 / psd777 / rss-555 / rss-7790 (Account ID `8fcf3c7876332aba33e974cbbfdad951`). _2026-05-23 fall-mvp.com zone이 CF에서 삭제됨에 따라 config에서 제거_ |
|
||||||
| API token | Vault `secret/cloud/cloudflare-netbis` (`firewall_bouncer_token`, `firewall_bouncer_token_id`). 권한: Account Firewall Access Rules Write + Account Rule Lists Write + Zone Firewall Services Write |
|
| API token | Vault `secret/cloud/cloudflare-netbis` (`firewall_bouncer_token`, `firewall_bouncer_token_id`). 권한: Account Firewall Access Rules Write + Account Rule Lists Write + Zone Firewall Services Write |
|
||||||
| 인증 방식 | Bearer (`Authorization: Bearer cfut_...`). global_api_key는 `Invalid request headers (6003)` 라 **사용 불가** — 신규 token 발급 필수 |
|
| 인증 방식 | Bearer (`Authorization: Bearer cfut_...`). global_api_key는 `Invalid request headers (6003)` 라 **사용 불가** — 신규 token 발급 필수 |
|
||||||
| config | `/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml` |
|
| config | `/etc/crowdsec/bouncers/crowdsec-cloudflare-bouncer.yaml` |
|
||||||
@@ -284,9 +284,9 @@ CrowdSec 공식 가이드 명시 사항 ([blog](https://www.crowdsec.net/blog/mi
|
|||||||
```
|
```
|
||||||
클라이언트 → BunnyCDN WAF (OWASP CRS, 1차) — 일반 도메인 경로
|
클라이언트 → BunnyCDN WAF (OWASP CRS, 1차) — 일반 도메인 경로
|
||||||
→ Traefik / APISIX + SafeLine WAF (2차)
|
→ Traefik / APISIX + SafeLine WAF (2차)
|
||||||
→ CrowdSec 로그 분석 (3차) → netbis-cf-firewall (Netbis 6 zone CF Firewall Rule 피드백 루프)
|
→ CrowdSec 로그 분석 (3차) → netbis-cf-firewall (Netbis 5 zone CF Firewall Rule 피드백 루프)
|
||||||
|
|
||||||
netbis 전용 enforce: CF Account IP List + 6 zone Firewall Rule managed_challenge (netbis-cf-firewall)
|
netbis 전용 enforce: CF Account IP List + 5 zone Firewall Rule managed_challenge (netbis-cf-firewall)
|
||||||
일반 zone enforce 사라짐 — kappa zone CrowdSec ban 미적용. BunnyCDN Edge bouncer / Worker bouncer / APISIX bouncer 모두 폐기 (2026-04-26)
|
일반 zone enforce 사라짐 — kappa zone CrowdSec ban 미적용. BunnyCDN Edge bouncer / Worker bouncer / APISIX bouncer 모두 폐기 (2026-04-26)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user