- infra/cloudflare.md 전면 재작성: zone 6개(actions/anvil/inouter/ironclad/keepanker/servidor) 전수, DNS 레코드 zone별 핵심, Workers 9개 + 라우트, Turnstile 위젯 8개. dead reference (nas.inouter.com / *.actions.it.com → actions.b-cdn.net), servidor.it.com orphan zone, 사설 IP 노출, CF proxy on/off 함의 등 특이사항 정리. 옛 jarvis/n8n/vault → actions.b-cdn.net 기록 폐기.
- services/bunnycdn-security.md: 5개 풀존 전수표, 17개 호스트네임 인벤토리, 미들웨어 64811 attach 매트릭스, bouncer.py 동기화 흐름. cfb-manager 가 BunnyCDN 미들웨어를 갱신한다는 옛 오기록 정정 (cfb-manager 는 CF Worker bouncer 전용).
- 두 문서 모두 Outline 감사 doc 51b963c3 링크.
이전 메모(updated 2026-04-04)는 폐기: jarvis/telegram-webhook/vault/n8n 이 actions.b-cdn.net 가리킨다는 기록은 dead 풀존을 가리키는 구식 정보. 실제 정본은 위 표와 같이 모두 iron-kr.b-cdn.net.
ironclad.it.com (14)
Name
Type
Value
Proxied
ironclad.it.com
A
172.233.93.180
✅
*.ironclad.it.com
A
172.233.93.180
✅
MX×2 Mailgun, AWS SES DKIM CNAME×3, TXT (SPF/DMARC/google)
ironclad.it.com 은 BunnyCDN 풀존을 거치지 않음. CF proxied A 로 osaka 172.233.93.180 직통. 보호는 CF Worker (ironclad-site apex + bouncer wildcard) 단독.
keepanker.cv (3)
Name
Type
Value
Proxied
keepanker.cv
CNAME
f1aa79f2-….cfargotunnel.com
✅
*.keepanker.cv
CNAME
f1aa79f2-….cfargotunnel.com
✅
juiceshop.keepanker.cv
CNAME
iron-kr-waf.b-cdn.net
off
apex/wildcard 는 Cloudflare Tunnel (cfargotunnel). juiceshop 은 BunnyCDN iron-kr-waf 로 override.
servidor.it.com (0)
DNS 레코드 없음. zone 만 등록. 워커 라우트 + Turnstile 위젯은 살아있음 → 트래픽 자체가 불가능한데 보안 자원만 회전 중. zone 정리 또는 DNS 레코드 추가 결정 필요.
script: null. 등록만 되고 워커 미연결. (linode.actions.it.com 자체는 BunnyCDN iron-jp 호스트네임으로도 있음 — 중복 의도?)
Turnstile inouter (sitekey …CbmaudAjITah7y7)
이름은 inouter 인데 허용 도메인은 anvil.it.com 단일. legacy 후보.
사설 IP 공개 DNS 노출
레코드
값
ironclad.jp.inouter.com
A 10.19.228.193 (사설망 10/8)
k8s.jp.inouter.com
A 10.253.103.124 (jp1 incus 사설 대역)
→ 외부 해석은 가능하나 라우팅 불가. 정보 유출 정도의 리스크. Tailscale Magic DNS 또는 split-horizon 으로 옮기는 게 깔끔.
CF proxy on/off 패턴 (중요)
inouter.com / anvil.it.com: 거의 전부 proxied: false — CF 는 DNS 만, 트래픽은 BunnyCDN 또는 LAN 직통. CF Worker bouncer 라우트는 등록되었으나 DNS 가 proxied=false 면 CF 엣지를 거치지 않음 → bouncer 무효.
actions.it.com / ironclad.it.com: apex/wildcard 모두 proxied: true — CF Worker 효과적으로 enforce.
keepanker.cv: CF Tunnel.
함의: inouter.com / anvil.it.com 의 보호는 BunnyCDN 미들웨어 64811 이 단독 책임. CF Worker bouncer 는 라우트 등록 + Turnstile 위젯 회전만 하고 실제 enforcement 는 안 함. 의도된 design 인지 (BunnyCDN 우선) 또는 누락인지 결정 필요. design 이라면 inouter / anvil 의 CF Worker 라우트는 제거 가능.
정책 일관성
iron-kr IgnoreQueryStrings: true vs iron-jp IgnoreQueryStrings: false — 같은 미들웨어 64811 공유인데 캐시 키 정책이 다름. iron-jp 트래픽이 미미해 영향 작지만 통일이 운영 단순화.
cfb-manager (CrowdSec CF Worker bouncer 관리 API)
항목
값
위치
K3s default/cfb-manager (10.43.68.76:8000)
구현
Python FastAPI
기능
bouncer 보호 도메인 추가/삭제, decision 조회, CF zone 동기화, bouncer 재시작 트리거
BASE=http://cfb-manager.default.svc.cluster.local:8000
curl $BASE/status # bouncer_running, pids, protected_domains
curl $BASE/domains # 보호 중인 zone 상세
curl $BASE/decisions # 현재 결정
curl -X POST $BASE/sync?auto_apply=true# CF 의 모든 zone 을 보호 목록 동기화
BunnyCDN 미들웨어와는 무관. BunnyCDN 미들웨어 64811 의 bloom filter 동기화는 jp1 infra-tool 컨테이너 /opt/crowdsec-bouncer/bouncer.py (3분 delta + 매시 full sync) 가 담당.