web-dev-qa-db-ja.com

IPスプーフィング:ユーザーのパブリックIPアドレスによってアクセスを制御することはどの程度安全ですか?

AmazonクラウドでホストされているWindowsサーバーVMがいくつかあります。ユーザーはVMへのRDPにアカウントとパスワードを入力する必要があります。 VMのRDPエンドポイント(IP + Port)はインターネットに公開されています。追加のセキュリティ対策として、RDPポート(パブリックで利用可能)へのアクセスを特定のパブリックIPアドレスに制限することに成功しました。

問題は、パブリックIPアドレスのなりすましがいかに簡単かということです。ハッカーが指定されたパブリックIPアドレスを偽装して、パブリックIPアドレスのファイアウォールをバイパスすることはできますか?ありがとうございました、

10
Allan Xu

短い答え

TCP接続と仮定すると、ネットワークの制御なしにソースIPアドレスを偽装することはほぼ不可能です。

より長い答え

プロキシを使用しておらず(X-FORWARDED-FORヘッダーからIPアドレスを取得している場合に問題が発生する可能性があります)、TCPでサービスを実行している場合、ソースIPアドレスを偽装することは非常に困難です。

TCP接続を初期化するには、サーバーと攻撃者の間で複数のパケットを送受信する必要があります。最初の要求のソースアドレスが偽装されている場合、攻撃者は開くのを完了できません。スプーフィングされたアドレスがそれらのアドレスではないため、接続です。したがって、サーバーがパケットを「返信」すると、代わりに、攻撃者ではなくアドレスの実際の所有者に送信されます。

このためにVisioで図を作成しますが、私はクラスにいるので、できればスケッチで十分です。

TCP handshake

11
Chase Haddleton

送信元アドレスのスプーフィングはかなり簡単ですが、送信元アドレスフィルタリングを実装していないISPはまだたくさんあります。

これらのスプーフィングされたパケットへの応答を受信することは困難です。攻撃者はクライアントとサーバー間のネットワークパスに乗るか、ルーティングを変更してネットワークパスを変更する必要があります。これは難しいですが、確かに不可能ではありません。

モダンTCP実装はランダム化されたシーケンス番号を使用するため、SYN​​パケットへの応答を受信せずに正常にa TCP接続を開くことができます。古いシステムとUDPベースのプロトコルは、このような攻撃に対してより脆弱である可能性があります。サーバーが「SYN Cookie」を使用すると、そのような攻撃が成功する確率も高くなります(確率は非常に低いです)。

送信元IPフィルタリングは有用な追加の防御線であると考えますが、これを唯一の保護手段として使用したくありません。

1
Peter Green

ローカルレベルでのなりすましは簡単です。パブリックIPに関しては、はるかに困難になる可能性があります。私はこれを見つけました https://superuser.com/questions/619477/how-do-i-spoof-the-ip-that-my-computer-sends-a-server-without-using-something-li

これも見つかりました IPスプーフィングは本当に簡単ですか?

お役に立てれば。

0
Bad_Guy