Chuyển đến nội dung chính
Quay lại danh sách bài viết

CrowdSec: จาก Access Log ไปสู่การบล็อก IP ต้องมี Bouncer

เข้าใจสายงานของ CrowdSec ตั้งแต่รับ log, ตรวจจับพฤติกรรม, สร้าง decision ไปจนถึงบล็อกผ่าน remediation component

CrowdSec: จาก Access Log ไปสู่การบล็อก IP ต้องมี Bouncer

CrowdSec มักถูกเรียกรวม ๆ ว่าเครื่องมือบล็อกผู้โจมตี แต่โครงสร้างจริงแยกการตรวจจับออกจากการบังคับใช้กฎ Security Engine อ่าน log, parse เหตุการณ์, ใช้ scenario หา pattern แล้วสร้าง alert และ decision ใน Local API ส่วน Remediation Component หรือชื่อเดิมว่า bouncer เป็นตัวนำ decision ไปบล็อกที่ firewall หรือ reverse proxy ถ้าติดตั้งเพียง engine แล้วรอให้ IP ถูกปฏิเสธ จะไม่มีอะไรเกิดขึ้น

เริ่มจาก log ที่อยากป้องกัน

เลือกบริการนำร่องหนึ่งตัว เช่น SSH หรือ NGINX ตรวจว่า CrowdSec อ่านไฟล์ log หรือ journal ที่ใช้อยู่จริง และเวลาของเครื่องตรงกัน หากอ่านผิดไฟล์ แม้บริการทำงานก็จะไม่มี event เข้า pipeline ใช้ collection ที่ตรงกับบริการเพื่อได้ parser และ scenario ที่เกี่ยวข้อง จากนั้นดู metrics ของ acquisition และ parser ว่าจำนวนบรรทัดเพิ่มเมื่อมีคำขอทดสอบ อย่าเริ่มด้วยกฎ custom จำนวนมาก เพราะจะแยกไม่ได้ว่าความผิดพลาดเกิดจาก log format หรือ scenario

ต่อชั้นการบังคับใช้

เอกสาร CrowdSec แยก bouncer ตามจุดที่ต้องบล็อก สำหรับ SSH หรือบริการที่ระดับเครือข่าย ใช้ firewall bouncer ส่วนเว็บที่อยู่หลัง NGINX, OpenResty, Traefik หรือ HAProxy เลือกตัวที่ทำงานระดับเว็บตามคู่มือของแพลตฟอร์มนั้น เพื่อรองรับการตัดสินใจที่ระดับคำขอ การติดตั้ง Security Engine อย่างเดียวไม่ทำให้ traffic ถูกบล็อก ตรวจการเชื่อมต่อระหว่าง bouncer กับ Local API และดูว่ามีการดึง decision ได้จริง

ตรวจ end-to-end อย่างปลอดภัย

  1. ดูว่ามี log เข้าด้วย metrics ของ CrowdSec และดู alert/decision ผ่าน cscli alerts list กับ cscli decisions list หากไม่มี alert ให้แก้ acquisition หรือ parser ก่อน
  2. เพิ่ม decision ทดสอบกับ IP ที่ควบคุมได้และไม่ใช่ IP ผู้ดูแลหลัก แล้วลองเข้า endpoint ผ่านเส้นทางเดียวกับผู้ใช้จริง ตรวจว่าถูกปฏิเสธโดย bouncer ไม่ใช่เพียงแอปตอบผิดพลาด
  3. ลบ decision ทดสอบ ตรวจว่าการเข้าถึงกลับมา และบันทึกวิธี bypass ฉุกเฉินก่อนขยายระบบ

ระวัง false positive จาก reverse proxy: ถ้า log บันทึก IP ของ load balancer แทน client จริง การบล็อกอาจกระทบผู้ใช้จำนวนมาก ต้องกำหนด trusted proxy/header ให้ถูกต้องก่อนใช้กฎอัตโนมัติ รวมถึงทบทวน whitelist ของ IP ภายในและนโยบายระยะเวลาบล็อกเป็นระยะ CrowdSec มี Console สำหรับมุมมองรวม แต่การตรวจว่าบล็อกจริงต้องทำที่จุดบังคับใช้ด้วย

อ่านเพิ่มเติม: แนวคิด CrowdSec, เลือก Remediation Component, ขั้นตอนหลังติดตั้ง

Chia sẻ bài viết:
Xem thêm bài viết