localhostと内部ネットワークの違いとは│初心者向けに図解でわかりやすく解説

SSRFを学んでいると、こんな疑問が出てきます。

  • localhost(ローカルホスト)って何?
  • 192.168.x.xって何?
  • この2つって何が違うの?

どちらも「内部っぽい」ので混乱しやすいですが、意味はまったく違います。

この記事では、localhostと内部ネットワークの違いを、図解イメージでシンプルに整理します。

結論

まずは一言でまとめます。

  • localhost → 自分自身(同じサーバー)
  • 内部ネットワーク → 同じネットワーク内の別の機械

localhost(ローカルホスト)とは何か

localhostは、サーバー自身を指す特別なアドレスです。

localhost = 127.0.0.1

イメージ図

[Webサーバー]

└── localhost(自分自身)

どういう意味か

サーバーが localhost にアクセスすると、自分自身にアクセスしているという状態になります。

よくある使われ方

  • 管理画面(/admin
  • 内部API
  • デバッグ用機能

外部からは見えないが、内部からは使える機能です。


内部ネットワークとは何か

内部ネットワークは、同じネットワーク内の別のサーバーです。

192.168.x.x
10.x.x.x
172.16.x.x

イメージ図

[Webサーバー] ─── [DBサーバー]

└── 192.168.0.10

どういう意味か

サーバーが内部IPにアクセスすると、同じネットワーク内の別サーバーにアクセスになります。

よくある構成

  • Webサーバー
  • データベースサーバー
  • キャッシュサーバー
  • 社内API

実務では複数のサーバーで構成されることが多いです。


localhostと内部ネットワークの違い

ここを整理すると一気に理解できます。

項目localhost内部ネットワーク
意味自分自身別のサーバー
127.0.0.1192.168.0.10
範囲同一マシン同一ネットワーク
用途内部機能サーバー間通信

SSRFでの違い

ここが一番重要です。

localhostを狙う場合

http://localhost/admin

図にすると

攻撃者 → Webアプリ → localhost(同じサーバー)

アプリ内部の機能にアクセス。


内部ネットワークを狙う場合

http://192.168.0.10:8080

イメージ図

攻撃者 → Webアプリ → 社内サーバー

別のシステムに侵入することになります。


なぜこの違いが重要なのか

攻撃の意味が変わるからです。

localhostの場合

  • 管理画面の突破
  • 内部APIの実行
  • 権限バイパス

アプリ内部の問題。

内部ネットワークの場合

  • 社内システムへの侵入
  • ポートスキャン
  • データベース探索

インフラ全体への影響。


WordPressで考えると

WordPressでもこの違いはそのまま当てはまります。

localhostに対するSSRF

  • プラグインの内部処理
  • 管理機能の呼び出し

内部ネットワークに対するSSRF

  • 別サーバーのDB
  • キャッシュサーバー
  • 社内API

特に外部通信機能がある場合は注意が必要です。


まとめ

localhostと内部ネットワークの違いはシンプルです。

  • localhostは自分自身
  • 内部ネットワークは別のサーバー

そしてSSRFでは、

  • localhost → アプリ内部の突破
  • 内部ネットワーク → 社内システムへの侵入

という違いになります。