From f141dbf2435887fc6f9eaa05ccf20701eacc0efb Mon Sep 17 00:00:00 2001 From: kappa Date: Sat, 28 Mar 2026 10:35:54 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20cscli=20decision=20=EC=88=98=EB=8F=99?= =?UTF-8?q?=20=EA=B4=80=EB=A6=AC=20=EC=A0=88=EC=B0=A8=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=20(bouncer=20API=20=ED=82=A4=20=EC=9D=BD=EA=B8=B0=EC=A0=84?= =?UTF-8?q?=EC=9A=A9=20=EC=A3=BC=EC=9D=98)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- infra/crowdsec-safeline.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/infra/crowdsec-safeline.md b/infra/crowdsec-safeline.md index 22ae89d..9cd6029 100644 --- a/infra/crowdsec-safeline.md +++ b/infra/crowdsec-safeline.md @@ -26,6 +26,23 @@ Bouncer 목록: [[apisix]]-waf-bouncer, bunny-cdn-bouncer, cs-[[cloudflare|cf]]- - **보호 zone**: keepanker.cv, actions.it.com, ironclad.it.com, inouter.com, servidor.it.com - **Turnstile**: 5개 zone 모두 managed 모드, 168시간마다 secret key 자동 로테이션 +#### Decision 수동 추가/삭제 + +bouncer의 `lapi_key`는 **읽기 전용** (decision stream polling 전용). decision 추가/삭제는 반드시 `crowdsec` 컨테이너에서 `cscli`로 실행: + +```bash +# ban 추가 (crowdsec 컨테이너에서) +ssh incus-jp1 "incus exec crowdsec -- cscli decisions add --ip 1.2.3.4 --duration 2m --reason 'manual ban' --type ban" + +# 확인 +ssh incus-jp1 "incus exec crowdsec -- cscli decisions list --ip 1.2.3.4" + +# 삭제 +ssh incus-jp1 "incus exec crowdsec -- cscli decisions delete --ip 1.2.3.4" +``` + +bouncer 컨테이너에서 `curl POST /v1/decisions`로 직접 넣으면 등록 안 됨 — bouncer API 키 권한 제한. + #### 설정 변경 시 주의 **`sed -i` 사용 금지** — Incus 컨테이너 내에서 `sed -i`로 파일 수정 시 이전 내용이 파일 끝에 남아 YAML이 깨짐. 반드시 전체 파일을 덮어쓰는 방식으로 변경: