Rate limit · Bot detect · Geo

建築
バースト乗数 (デフォルトは 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 は、サーバーへの到達を許可するネットワーク トラフィックを制御します。|デフォルト ルール: HTTP (80)、HTTPS (443)、およびメディア サーバー (8080) はすべてに公開されています。
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 ネットワーク (147.78.168.0/22) は、ストリームをエッジ サーバーに配信するために使用されます。| リモート管理のために CDN IP からの SSH アクセスが許可されます。| マルチキャスト転送は、内部ネットワークと CDN ネットワーク間で有効になります。| CDN からの他のすべてのトラフィックは、標準のファイアウォール ルールに従います。
ベストプラクティス
UFW を常に有効にしておく |SSH アクセスを既知のネットワークのみに制限する |fail2ban ジェイルの攻撃パターンを定期的に監視する |強力なパスワードとキーベースの SSH 認証を使用する |ファイアウォール ルールを定期的に見直し、未使用のエントリを削除する |fail2ban および UFW パッケージを最新の状態に保つ