×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 IPTV API 保護 — レート制限とボット検出

建築

バースト乗数 (デフォルトは 1.5 倍) により、短いスパイクが可能になります。

モード - 監視と強制

モニター

しかし、リクエストを通過させます

強制する

ボット検出信号

空のユーザー エージェント — 自分自身を識別しないクライアントをブロックします。

既知のボット UA 部分文字列 —curl、wget、python-requests、python-urllib、go-http-client、httpie、java-http-client、okhttp、apache-httpclient、ボット、クローラー、スパイダー、スクレイパーに一致します (大文字と小文字は区別されません)。

Accept-Language がありません — 実際のブラウザは常にこれを送信します。

Accept-Encoding がありません — 上記と同じ。

カスタム ブロック正規表現 — 独自のパターン (大文字と小文字を区別しない) 例:

カスタム許可正規表現 — 設定すると、一致しない UA は拒否されます (厳密な許可リスト)。

特定の統合が通常の UA (正当なバックグラウンド ジョブなど) を送信できない場合は、ボット信号をグローバルに緩和する代わりに、その IP をホワイトリストに登録します。

IP / 地域 / ASN リスト

ブラックリスト — 即座に 403 を取得し、カウンターが消費されない CIDR。

ブロックされている国 - ISO-2 コードはローカル GeoIP 経由で解決されます。

ブロックされた ASN — ホスティング/VPN プロバイダー (例: AS14061 Digital Ocean、AS16509 Amazon)。

Redis キーのリファレンス

運用ランブック

初めて有効にする: モード = モニターに設定し、レート制限を有効にします。

テレメトリの確認: スパークラインは、429 の可能性のあるスパイクがいつ発生するかを示します。

ソフト強制: モードを設定 = 目標の 2 倍高い制限で強制します。

最終的な強制: 生産値の制限を強化します。

インシデント対応: IP 攻撃 → ブラックリストのテキストエリアに追加して保存します (Redis 経由で 5 秒以内に nginx に伝播します)。

誤検知のブロックを解除します:「IPTV 設定」→「セキュリティ」→「上位犯罪者」→「ブロックを解除」。

実装ファイル

永続化された設定キー (iptv_defaults)

すべてプレフィックス sec.* の下に保存されます。

セキュリティ構成

概要

Stream Manager は、ネットワーク アクセス制御に UFW (Uncomplicated Firewall) を使用し、侵入防止に Fail2Ban を使用します。

UFW ファイアウォール

UFW は、サーバーへの到達を許可するネットワーク トラフィックを制御します。|デフォルト ルール: HTTP (80)、HTTPS (443)、およびメディア サーバー (8080) はすべてに公開されています。

failed2ban 侵入防御

failed2ban は、繰り返される認証の失敗についてログ ファイルを監視し、問題のある IP アドレスを自動的に禁止します。| sshd ジェイルは、ログイン試行が複数回失敗した後に IP を禁止することで、SSH アクセスを保護します。| 効率的なパケット フィルタリングに nftables バックエンドを使用します。| 禁止された IP は、[設定] > [セキュリティ] タブから手動で禁止を解除できます。

マルチキャストルーティングの制限

マルチキャスト トラフィック (224.0.0.0/4) は、次の 2 つの信頼できるネットワークに制限されます:|10.0.0.0/8 - ローカル ストリーム ソースおよび管理用の内部ネットワーク。|147.78.168.0/22 - エッジ サーバー配布用の CDN ネットワーク。|これにより、未承認のマルチキャスト ソースがストリーミング パイプラインにトラフィックを注入することが防止されます。

CDN ネットワーク アーキテクチャ

CDN ネットワーク (147.78.168.0/22) は、ストリームをエッジ サーバーに配信するために使用されます。| リモート管理のために CDN IP からの SSH アクセスが許可されます。| マルチキャスト転送は、内部ネットワークと CDN ネットワーク間で有効になります。| CDN からの他のすべてのトラフィックは、標準のファイアウォール ルールに従います。

ベストプラクティス

UFW を常に有効にしておく |SSH アクセスを既知のネットワークのみに制限する |fail2ban ジェイルの攻撃パターンを定期的に監視する |強力なパスワードとキーベースの SSH 認証を使用する |ファイアウォール ルールを定期的に見直し、未使用のエントリを削除する |fail2ban および UFW パッケージを最新の状態に保つ