Rate limit · Bot detect · Geo

สถาปัตยกรรม
ตัวคูณระเบิด (ค่าเริ่มต้น 1.5×) อนุญาตให้มีเดือยสั้น — เช่น
โหมด — มอนิเตอร์ VS บังคับใช้
เฝ้าสังเกต
แต่ส่งคำขอผ่าน
บังคับใช้
สัญญาณการตรวจจับบอท
User-Agent ที่ว่างเปล่า — บล็อกไคลเอนต์ที่ไม่ระบุตัวตน
สตริงย่อย UA ของบอทที่รู้จัก — จับคู่ curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, Spider, Scraper (ไม่คำนึงถึงขนาดตัวพิมพ์)
Missing Accept-Language — เบราว์เซอร์จริงจะส่งมันเสมอ
ไม่มี Accept-Encoding — เหมือนข้างบน
Custom block regex — รูปแบบของคุณเอง (ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่) เช่น
อนุญาต regex แบบกำหนดเอง — หากตั้งค่าไว้ UA ใดๆ ที่ไม่ตรงกันจะถูกปฏิเสธ (รายการที่อนุญาตอย่างเข้มงวด)
หากการบูรณาการเฉพาะไม่สามารถส่ง UA ปกติได้ (เช่น งานเบื้องหลังที่ถูกต้องตามกฎหมาย) ให้ทำไวท์ลิสต์ IP ของมันแทนการผ่อนคลายสัญญาณบอททั่วโลก
รายการ IP / ภูมิศาสตร์ / ASN
บัญชีดำ — CIDR ที่ได้รับ 403 ทันที ไม่ต้องเสียเงินนับ
ประเทศที่ถูกบล็อก — รหัส ISO-2 แก้ไขผ่าน GeoIP ท้องถิ่น
ASN ที่ถูกบล็อก — ผู้ให้บริการโฮสต์ / VPN (เช่น AS14061 Digital Ocean, AS16509 Amazon)
การอ้างอิงคีย์ Redis
Runbook การดำเนินงาน
เปิดใช้งานครั้งแรก: ตั้งค่าโหมด = มอนิเตอร์ เปิดใช้งานการจำกัดอัตรา
ตรวจสอบการวัดและส่งข้อมูลทางไกล: Sparkline แสดงให้เห็นว่าเมื่อใดที่คาดว่าจะถึง 429 เดือย;
บังคับใช้แบบนุ่มนวล: set mode = บังคับใช้โดยมีขีดจำกัดสูงกว่าเป้าหมาย 2 เท่า
บังคับใช้ขั้นสุดท้าย: กระชับขีดจำกัดมูลค่าการผลิต
การตอบสนองต่อเหตุการณ์: การโจมตี IP → เพิ่มไปยังพื้นที่ข้อความบัญชีดำและบันทึก (เผยแพร่ไปยัง nginx ใน ≤5 วินาทีผ่าน Redis)
เลิกบล็อกผลบวกลวง: การตั้งค่า IPTV → ความปลอดภัย → ผู้กระทำผิดอันดับต้น ๆ → เลิกบล็อก
ไฟล์การใช้งาน
คีย์การกำหนดค่ายังคงมีอยู่ (iptv_defaults)
ทั้งหมดเก็บไว้ภายใต้คำนำหน้าวินาที *
ภาพรวม
Stream Manager ใช้ UFW (ไฟร์วอลล์ที่ไม่ซับซ้อน) สำหรับการควบคุมการเข้าถึงเครือข่ายและ Fail2ban สำหรับการป้องกันการบุกรุก
UFW ควบคุมการรับส่งข้อมูลเครือข่ายที่ได้รับอนุญาตให้เข้าถึงเซิร์ฟเวอร์|กฎเริ่มต้น: HTTP (80), HTTPS (443) และ Media Server (8080) เปิดสำหรับทุกคน
failed2ban ตรวจสอบไฟล์บันทึกสำหรับความล้มเหลวในการตรวจสอบสิทธิ์ซ้ำๆ และแบนที่อยู่ IP ที่ละเมิดโดยอัตโนมัติ|คุก sshd ปกป้องการเข้าถึง SSH โดยการแบน IP หลังจากการพยายามเข้าสู่ระบบล้มเหลวหลายครั้ง|ใช้แบ็กเอนด์ nftables เพื่อการกรองแพ็กเก็ตที่มีประสิทธิภาพ|IP ที่ถูกแบนสามารถยกเลิกการแบนได้ด้วยตนเองจากการกำหนดค่า > แท็บความปลอดภัย
การรับส่งข้อมูลแบบมัลติคาสต์ (224.0.0.0/4) ถูกจำกัดไว้เพียงสองเครือข่ายที่เชื่อถือได้:|10.0.0.0/8 - เครือข่ายภายในสำหรับแหล่งที่มาและการจัดการสตรีมในพื้นที่|147.78.168.0/22 - เครือข่าย CDN สำหรับการเผยแพร่เซิร์ฟเวอร์ Edge|ซึ่งจะช่วยป้องกันแหล่งที่มาของมัลติคาสต์ที่ไม่ได้รับอนุญาตไม่ให้ส่งการรับส่งข้อมูลไปยังไปป์ไลน์การสตรีม
เครือข่าย CDN (147.78.168.0/22) ใช้สำหรับการกระจายสตรีมไปยังเซิร์ฟเวอร์ Edge|อนุญาตให้เข้าถึง SSH จาก CDN IP สำหรับการจัดการระยะไกล|เปิดใช้งานการส่งต่อแบบหลายผู้รับระหว่างเครือข่ายภายในและ CDN|การรับส่งข้อมูลอื่นๆ ทั้งหมดจาก CDN เป็นไปตามกฎไฟร์วอลล์มาตรฐาน
แนวทางปฏิบัติที่ดีที่สุด
เปิดใช้งาน UFW ตลอดเวลา|จำกัดการเข้าถึง SSH เฉพาะเครือข่ายที่รู้จักเท่านั้น|ตรวจสอบคุก Fail2ban เป็นประจำสำหรับรูปแบบการโจมตี|ใช้รหัสผ่านที่รัดกุมและการตรวจสอบสิทธิ์ SSH แบบใช้คีย์|ตรวจสอบกฎไฟร์วอลล์เป็นระยะและลบรายการที่ไม่ได้ใช้|อัปเดตแพ็คเกจ Fail2ban และ UFW อยู่เสมอ