URLにhttp://192.0.2.34/default.html
などのIPアドレスを表示する方がハッキングしやすいと誰かから言われました。本当?任意のドメイン名をトレースして、そのIP番号も取得できました。
ハッキングするのは簡単ですか?いいえ。DoSの方が簡単ですか。潜在的に。 DNSエントリでホスト名の代わりにIPアドレスを使用すると、非常に有益なルーティングの柔軟性の層を放棄することになります。
たとえば、マルウェアがDoS攻撃でIPアドレスをターゲットにしている場合、ドメイン名を使用していると、サイトとDNSレコードでIPアドレスを切り替え、ユーザーは違いを知らなくても攻撃は終了します。ただし、ユーザーがIPに直接リクエストを送信している場合は、これはオプションではありません。途中でユーザーに迷惑をかけないように(そしておそらく失う可能性がある)場合を除き、そのIPに縛られます。
通常、サイトにhttp://1.2.3.4/
としてアクセスできる場合、Host:
ヘッダーに制限が適用されていないことを意味します。つまり、IPアドレスだけでなく、そのアドレスに解決されたanyホスト名-攻撃者が登録したドメインやそれを指さした。
これは DNS rebinding 攻撃を引き起こします。攻撃者は、ホスト名のIPアドレスを自分のサーバーと自分のサーバーの間で切り替えることによりSame-Origin-Policyを回避し、attacker.com
が指すCookie攻撃を行います。あなたのサービス、そしてsub.attacker.com
を独自のものにして、サブドメインからCookieを読み取れるようにします。
それらのリスクのかなりの程度は、アプリケーションの設計と目的によって異なります。プライベートIPアドレスの範囲またはSSO(Windows auth et al)に基づく暗黙の承認がある非パブリックアプリケーションで悪用される可能性が最も高くなります。その場合、アプリケーションはユーザーの介入なしに機密データを生成する可能性があり、そのデータはそのような攻撃者に見えるようになる可能性があります。
それを知らずに、最も安全なルートは、HTTPリクエストに対してHost:
ヘッダーに含めることができるものに制限を加えることです。これは通常、ホストベースの仮想サーバーを設定し、既知の良好なホスト名のみがWebアプリにアクセスできるようにすることを意味します。この場合、攻撃者のホスト名とIPアドレスへの直接アクセスは、エラーページにアクセスします。
ただし、本当に必要な場合は、IPアドレスのみを許可し、他のホスト名は許可しないカスタムチェックを考え出すこともできます。そのため、IPアドレス自体が問題ではありません。
または、HTTPSを使用するだけで、適切なサーバーにアクセスしていることをより確実に保証できます。
他の回答とは逆に、ホスト名の代わりにIPアドレスを使用することは、いくつかの理由から悪い習慣だと思います。最も注目すべき点:
平均的なユーザーは、フィッシングサイトではなく、正しいサービスと通信していることを確認するのがかなり困難です。名前ではなく多数を覚えている必要があります。
Ip-adressesを使用すると、有効な証明書でhttpsを使用できなくなります。
IPアドレスはいくつかの理由で再割り当てされる可能性があり、それらのすべてがユーザーの制御下にあるわけではありません。したがって、他の誰かがあなたの現在のIPアドレスを取得する可能性があります。
大量のトラフィックを処理する一般的な方法(DDoS攻撃など)は、dnsエントリを巨大な分散キャッシュネットワークにポイントすることです。 IPアドレスを使用することで、この効果的で比較的安価なオプションを除外できます。
ドメインの代わりにIPアドレスを使用することはsecurity悪い習慣ではありません。攻撃者が簡単に取得する可能性があるためです。
nslookup
のような単純な端末コマンドは、指定されたドメインによって解決されたIPアドレスを確認できます。さらに、ドメインが単一のIPアドレスに接続されている場合、ping
も同様に機能します。
[ウェブサイト]のアドレスを何らかの方法で指定しても、すでに「ハッキング可能」にはなりません。
誰もがドメインのIPアドレスを知ることができるため、セキュリティ上の問題になることはありません。
たとえば、これを確認してください: ip-lookup