30代半ばの事務職員がITエンジニアになった話

おおよそタイトルのとおり、30代半ばにしてITエンジニアのタマゴになってしまった会社員の話

【Webサーバー(IIS)】ローカルIPアドレスが漏えいしてしまうという脆弱性と対策について

ローカルIPがばれてしまう脆弱性への対策 IIS


インターネットに公開している
Webサーバー(IIS)について
脆弱性の診断を受けたところ、
特定の条件下でローカルIPが露呈
されてしまう脆弱性が発見される


IISにおいての対策は
結論から言うと
バインドの設定で
ホスト名を指定すること


とはいうものの
ここまでたどり着くのは
紆余曲折あったわけで…


バインドの設定

まず試したのは
実はバインドの設定

インターネットインフォメーションサービス(IIS)マネージャー
 ↓
サイト
 ↓
(サイト名 exsample.com)
 ↓
バインド
 ↓
ホスト名 に(exsample.com)をいれる

f:id:ykk333:20190620220121p:plain
IISオプション

こうするとかならず
http(またはhttps);//exsample.com
でないとアクセスできなくなる
グローバルIPでもアクセスできない


ここに問題があった


どういうわけか
同じサイトなのに
ホスト名を2つつけて
別サイトにアクセスしているかの
ような意味の分からない運用を
していたため


http://exsample.com
はつながるけど
http://test.com
はつながらない
という不具合が発生
(中身は同じサイト)


そもそもサイトにアクセスする
ときのURLをしばるだけで
対策に効果があるのか?
ということでいったんボツ


リダイレクトの設定


脆弱性が発見されたのは
実在するフォルダに対して
http://exsample.com/folder
と末尾に" / "をつけないと
そのフォルダにリダイレクト
されてしまうために起こる
というもの


なので
http://exsample.com/folder/
にアクセスされたときに
トップページにリダイレクト
されるようにしてしまおうと
考えた


まずはIISにリダイレクトが表示
されていない場合、

f:id:ykk333:20190620222135p:plain
IISリダイレクト

こんなところに設定があった

インターネットインフォメーションサービス(IIS)マネージャー
 ↓
サイト
 ↓
(サイト名  exsample.com)
 ↓
HTTPリダイレクト
 ↓
このリダイレクト先に要求をリダイレクト
にトップページのURLを入力

f:id:ykk333:20190620222437p:plain
IISリダイレクト


一見うまくいったように見えた
が、肝心のトップページから
ログインする際にリダイレクトが
発生するため、
ログイン→リダイレクト→
トップページ(ログイン画面)
のループという
お粗末な状況が発生


この案もボツ


http1.0 の無効化


http1.0でリクエストを
送信した場合に脆弱性
あるので、そもそも
http1.0を禁止してしまえば
いいのでは、という発想


どんな影響があるかわからない
ので普通に考えて却下

再度、バインドの設定


試行錯誤した結果、
バインドの設定で
ホスト名を追加すれば
同じ中身でも
違うURLを設定できる
とのこと
まさしく運用どおり


さらに
そのホスト名でしか
アクセスを受け付けない


ということは
ホスト名が不明の場合
つまりhttp1.0リクエストで
Hostヘッダーがない場合も
つながらないということ

これだ!

f:id:ykk333:20190620222730p:plain
IISバインド

というわけで
ローカルIPアドレス
表示されてしまうという
脆弱性に対して
対策ができましたとさ