この記事では、DPI 調整やそれに関連するすべてのことについて完全に説明しているわけではなく、テキストの科学的価値は最小限です。 しかし、これは、多くの企業が考慮していない DPI をバイパスする最も簡単な方法について説明しています。
免責事項 #1: この記事は研究的な性質のものであり、誰かに何かをしたり使用したりすることを奨励するものではありません。 このアイデアは個人的な経験に基づいており、類似点はランダムです。
警告その 2: この記事は、アトランティスの秘密、聖杯の探索、その他の宇宙の謎を明らかにするものではありません。すべての資料は自由に入手でき、ハブレで複数回説明されている可能性があります。 (見つからなかったのでリンクを貼っていただけると嬉しいです)
警告を読んだ人は始めましょう。
DPIとは何ですか?
DPI またはディープ パケット インスペクションは、統計データを蓄積し、パケット ヘッダーだけでなく、OSI モデルの XNUMX 番目以降のレベルでトラフィックの全内容を分析することにより、ネットワーク パケットをチェックおよびフィルタリングするテクノロジーです。ウイルスをブロックし、指定された基準を満たさない情報をフィルタリングします。
DPI 接続には XNUMX つのタイプがあり、それぞれについて説明します。
パッシブ DPI
DPI は、パッシブ光スプリッターを介して、またはユーザーから発信されたトラフィックのミラーリングを使用して、プロバイダー ネットワークに並列 (カットではなく) 接続されます。 この接続は、DPI パフォーマンスが不十分な場合でもプロバイダーのネットワークの速度を低下させないため、大規模なプロバイダーで使用されています。 この接続タイプの DPI は、技術的には、禁止されたコンテンツを要求する試みを検出することしかできませんが、それを阻止することはできません。 この制限を回避し、禁止されたサイトへのアクセスをブロックするために、DPI は、ブロックされた URL を要求しているユーザーに、プロバイダーのスタブ ページへのリダイレクトを含む特別に細工された HTTP パケットを送信します。あたかも、そのような応答が要求されたリソース自体 (送信者の IP) によって送信されたかのようになります。アドレスと TCP シーケンスは偽造されます)。 DPI は要求されたサイトよりも物理的にユーザーに近いため、偽装された応答はサイトからの実際の応答よりも早くユーザーのデバイスに届きます。
アクティブ DPI
アクティブ DPI - 他のネットワーク デバイスと同様に、通常の方法でプロバイダーのネットワークに接続された DPI。 プロバイダーは、DPI がユーザーからブロックされた IP アドレスまたはドメインへのトラフィックを受信するようにルーティングを構成し、DPI がトラフィックを許可するかブロックするかを決定します。 アクティブ DPI は送信トラフィックと受信トラフィックの両方を検査できますが、プロバイダーがレジストリからサイトをブロックするためだけに DPI を使用する場合、ほとんどの場合、送信トラフィックのみを検査するように構成されます。
トラフィック ブロックの有効性だけでなく、DPI への負荷も接続の種類に依存するため、すべてのトラフィックをスキャンするのではなく、特定のトラフィックのみをスキャンすることも可能です。
「標準」DPI
「通常の」DPI は、特定のタイプのトラフィックを、そのタイプの最も一般的なポートでのみフィルタリングする DPI です。 たとえば、「通常の」DPI は、ポート 80 でのみ禁止された HTTP トラフィックを検出してブロックし、ポート 443 で HTTPS トラフィックを検出します。このタイプの DPI は、ブロックされた URL を含むリクエストをブロックされていない IP または非ブロックの IP に送信した場合、禁止されたコンテンツを追跡しません。標準ポート。
「フル」DPI
「通常の」DPI とは異なり、このタイプの DPI は、IP アドレスとポートに関係なくトラフィックを分類します。 こうすることで、完全に異なるポートとブロックされていない IP アドレスのプロキシ サーバーを使用している場合でも、ブロックされたサイトは開かなくなります。
DPI の使用
データ転送速度を低下させないためには、「通常」のパッシブ DPI を使用する必要があります。これにより、効果的に使用できるようになります。 何かブロックしますか? リソースを参照すると、デフォルトの構成は次のようになります。
- ポート 80 のみの HTTP フィルター
- HTTPS はポート 443 のみ
- BitTorrent はポート 6881 ~ 6889 のみ
しかし、次の場合に問題が始まります ユーザーを失わないように、リソースは別のポートを使用します。、その後、各パッケージを確認する必要があります。たとえば、次のように指定できます。
- HTTP はポート 80 および 8080 で動作します
- ポート 443 および 8443 の HTTPS
- 他のバンドの BitTorrent
このため、「アクティブ」DPI に切り替えるか、追加の DNS サーバーを使用してブロックを使用する必要があります。
DNSを使用したブロック
リソースへのアクセスをブロックする XNUMX つの方法は、ローカル DNS サーバーを使用して DNS 要求をインターセプトし、必要なリソースではなく「スタブ」IP アドレスをユーザーに返すことです。 ただし、アドレス スプーフィングを防ぐことはできるため、結果が保証されるわけではありません。
オプション 1: hosts ファイルの編集 (デスクトップ用)
hosts ファイルはオペレーティング システムに不可欠な部分であるため、いつでも使用できます。 リソースにアクセスするには、ユーザーは次のことを行う必要があります。
- 必要なリソースの IP アドレスを調べます
- 次の場所にある hosts ファイルを編集のために開きます (管理者権限が必要です)。
- Linux: /etc/hosts
- Windows: %WinDir%System32driversetchosts
- 次の形式で行を追加します。 <リソース名>
- 変更を保存
この方法の利点は、その複雑さと管理者権限が必要なことです。
オプション 2: DoH (DNS over HTTPS) または DoT (DNS over TLS)
これらの方法では、暗号化を使用して DNS リクエストをスプーフィングから保護できますが、この実装はすべてのアプリケーションでサポートされているわけではありません。 ユーザー側から Mozilla Firefox バージョン 66 の DoH セットアップの容易さを見てみましょう。
- 住所に移動
約:設定 Firefoxで - ユーザーがすべてのリスクを負うことを確認する
- パラメータ値の変更 ネットワーク.trr.モード へ:
- 0 — TRR を無効にする
- 1 - 自動選択
- 2 - デフォルトで DoH を有効にする
- パラメータの変更 network.trr.uri DNSサーバーの選択
- Cloudflare DNS:
mozilla.cloudflare-dns.com/dns-query - Google DNS:
dns.google.com/experimental
- Cloudflare DNS:
- パラメータの変更 network.trr.boostrapAddress へ:
- Cloudflare DNS が選択されている場合: 1.1.1.1
- Google DNS が選択されている場合: 8.8.8.8
- パラメータ値の変更 network.security.esni.enabled на true
- を使用して設定が正しいことを確認します
クラウドフレアサービス
この方法はより複雑ですが、ユーザーが管理者権限を持っている必要はありません。DNS 要求を保護する方法は他にもたくさんありますが、この記事では説明しません。
オプション 3 (モバイル デバイスの場合):
Cloudflareアプリを使用して、
テスト
リソースにアクセスできないことを確認するために、ロシア連邦でブロックされているドメインが一時的に購入されました。
HTTP チェック + ポート 80 HTTP チェック + ポート 8080 HTTPS チェック + ポート 443 HTTPS チェック + ポート 8443
まとめ
この記事が役に立ち、管理者がこのトピックをより詳細に理解できるようになるだけでなく、次のような理解も得られることを願っています。 リソースは常にユーザー側にあり、新しいソリューションの探索はユーザーにとって不可欠な部分である必要があります。
便利なリンク集
記事外の追記Cloudflare テストは Tele2 オペレータ ネットワークでは完了できず、正しく設定された DPI によりテスト サイトへのアクセスがブロックされます。
PS これまでのところ、これはリソースを正しくブロックする最初のプロバイダーです。
出所: habr.com