×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 การป้องกัน IPTV API — การจำกัดอัตราและการตรวจจับบอท

สถาปัตยกรรม

ตัวคูณระเบิด (ค่าเริ่มต้น 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

UFW ควบคุมการรับส่งข้อมูลเครือข่ายที่ได้รับอนุญาตให้เข้าถึงเซิร์ฟเวอร์|กฎเริ่มต้น: HTTP (80), HTTPS (443) และ Media Server (8080) เปิดสำหรับทุกคน

การป้องกันการบุกรุก Fail2ban

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

เครือข่าย CDN (147.78.168.0/22) ใช้สำหรับการกระจายสตรีมไปยังเซิร์ฟเวอร์ Edge|อนุญาตให้เข้าถึง SSH จาก CDN IP สำหรับการจัดการระยะไกล|เปิดใช้งานการส่งต่อแบบหลายผู้รับระหว่างเครือข่ายภายในและ CDN|การรับส่งข้อมูลอื่นๆ ทั้งหมดจาก CDN เป็นไปตามกฎไฟร์วอลล์มาตรฐาน

แนวทางปฏิบัติที่ดีที่สุด

เปิดใช้งาน UFW ตลอดเวลา|จำกัดการเข้าถึง SSH เฉพาะเครือข่ายที่รู้จักเท่านั้น|ตรวจสอบคุก Fail2ban เป็นประจำสำหรับรูปแบบการโจมตี|ใช้รหัสผ่านที่รัดกุมและการตรวจสอบสิทธิ์ SSH แบบใช้คีย์|ตรวจสอบกฎไฟร์วอลล์เป็นระยะและลบรายการที่ไม่ได้ใช้|อัปเดตแพ็คเกจ Fail2ban และ UFW อยู่เสมอ