NATはファイアウォールではありません。もう一度繰り返しましょう





写真を見てください。 これは、CiscoルータでクラシックNATが設定される方法です。たとえば、他に何も設定されていません。 今、あなた自身の質問に答えてください。 特定の条件下で、誰かが外部からスーパーシークレットサーバー192.168.0.250のRDPポート(TCP 3389)にアクセスし、そのパスワードを取得しようとすることができます。 サーバーがネットワーク上に単独であり、どこにも行かないことを明確にします(つまり、トロイの木馬、自動更新、またはその他の設備がないことを意味します)。



そうではないと思いますか? 冗談を思い出してください。



言語学に関する講義。 古い教授は言う:



-世界の一部の言語では、二重否定は同意を意味します。 その他では、二重否定は否定のままです。 しかし、二重の同意が否定を意味する世界には、単一の言語はありません。 後ろからの声:



「まあ、もちろん、教授。」



どうして



CCNPレベルのインテリジェントネットワークエンジニアは、すぐに「いいえ」と答え、次のように正当化します。 NATのホストとデータを交換するには、NATで変換を作成する必要があります。 ブロードキャストの作成は、NATの観点から内部ネットワークからホストによって開始されます。 TCPポート3389のサーバーアプリケーションはそれ自体どこにも行かないため、サーバー側であるため、ブロードキャストは作成されず、内部でクロールされることはありません。 エンジニアは正しいでしょう。 ただし、この構成を使用して外部からNATのホストにアクセスできることは考慮されていません。その後、サーバーがデータを送信するための変換が作成されます。



なぜそう



理論的には、すべてが単純です。 ルーターBのプロバイダーがこのルートを書き留めた場合にどうなるかを考えます。

ip route 192.168.0.0 255.255.255.0 2.2.2.2

そして、次のものがあります。 プロバイダーのクライアントは、TCPパケットをIP 192.168.0.250ポート3389に送信できます。このパケットは、プロバイダーのルーティングテーブルに従って、ルーターAのFE0 / 0インターフェイスに配信されます。ルーターAはそれをどうしますか? すべてのルーターの目的は、ホスト192.168.0.250へのルーティングです。 応答のサーバー192.168.0.250は、元のパケットで送信されたソースのIPアドレスにパケットを送信します。 ルーターAは、元のパケットのホストソースにデータが送信されるブロードキャストを作成します。



そして、ここには困難があります。 それらは、パケットがIPアドレス192.168.0.250ポート3389に行き、アドレス2.2.2.2から返され、ポートが必ずしも3389であるという事実に接続されています。あなたは私を信じないかもしれませんが、まあ、TCP / IPプロトコルがどのように機能するか想像して理解すると、不可能はなく、攻撃されたサーバーの端末に1日以内にアクセスできます。



それについてもう少し話しましょう



プロバイダーで働く友人にそのような攻撃について話したとき、彼は合理的な質問をしましたが、そのようなことを処理するプロバイダーを少なくとも1人教えてください。 私自身はプロバイダーで働いていましたが、いいえと知っていますが、質問で答えました-ソースルーティングが何であり、Ciscoルーターでデフォルトで無効になっていないことを知っていますか? オフにしますか?

ソースルーティングを使用する場合、攻撃はそれほど複雑ではなく、覚えている限り、IPパケットオプションに5バイトを追加するだけです。



おわりに



投稿は挑発的なものかもしれませんが、ほとんどのネットワーク担当者はそのような攻撃を認識しておらず、NATを使用するときにファイアウォールを構成することはありません。 おそらく、この投稿を読んだ後、誰かがネットワークを保護するためのすべての推奨事項に従うようになるでしょう、私を信じて、それらは書かれているだけではありません...



All Articles