インフラエンジニアは人間じゃない

インターネットの闇、炎上ネタ、迷惑メールや詐欺、あらゆる危険な情報を扱うブログです。

MENU

今更聞けないよな・・・HTTP401 エラーとは

おはようございます、今日も明日もねるです。

久しぶりの更新はHTTPの401エラーについてです。

 

結論:HTTP 401は認証エラー

皆さんも銀行のATM等で暗証番号を入力したり、

LINE等のアプリにログインするための、メールアドレスやパスワードを入力してログインする機会はあると思います。

コンピュータの世界ではログインボタンや暗証番号の最後の1桁を入力した瞬間に、

"認証"ということをします。

認証では、メールアドレスとパスワードの組み合わせが正しいことや、暗証番号が正しいことを確認します。

もし、世界から認証がなくなると、あなたの友達とのLINEメッセージのやり取りが、誰でも見れるようになってしまいます。

 

f:id:nell17world:20170328232518p:plain

 

HTTPプロトコル(Webページ等)で、認証エラーが発生したことを表します。

このHTTP401コードが出ると、ユーザの画面にはIDやパスワードを入力する画面が表示されることが想像されます。

なぜHTTP401エラーが発生してしまうのか

エンジニアの方にとっては悪い話ですが、原因は"これ"と断定することは出来ません。

ただし、おおよそいくつかのパターンに分けることは出来ます。

 

ケース①:IDやパスワードが間違っている

 ⇒一番簡単です。正しいIDやパスワードでログインし直すことで解決します。

 

ケース②:認証機能に障害が発生している

 ⇒一番厄介です。認証機能を中心に詳細な調査が必要になります。

  インフラエンジニアであれば、サーバのリソース使用率が高くないか、

  OSのイベントログにエラーが出ていないか等を調べます。

 


 

 

特に厄介なパターンは認証機能を別出ししてサーバを立てている場合です。

Webサーバと認証サーバの間のネットワークも疑わなければなりません。

クライアントからサーバへリクエストを送信したログを1つ1つ紐解いて、

どこからどこまでの通信はうまくいっていて、

どこからがおかしいのかを地道に突き止めましょう。

 

Apache Struts について調べたこと

<対象>

 ・Apache Struts 2系

    (Apache Struts 1系は現在影響不明)

 

脆弱性の詳細>

 ・Jakarta Multi Parser の ファイルアップロード処理に脆弱性あり

    →不正なHTTPリクエストが送信されると、リモートで任意のコードが実行される

 

Jakarta Multi Parser とは ・・・ Apache Struts2系に標準で組み込まれているパーサ

 

 ・パーサ とは ・・・ 構文解析

 

<対策>

Apache Struts2のVerUP

・パーサの変更

サーブレットフィルターの実装

 

 ・サーブレットフィルター とは ・・・ 不正な要求を破棄する

 

<確認方法>

 ・Web-inf/lib ディレクトリ配下のStruts2-core-2.x.x.x

 ・パッケージ製品等の場合、ファイルが見つからない場合があるためベンダーへ問い合わせする

 

 ・Jakarta Multpart Parser とは・・・ multipart/form-data形式のリクエストを処理するパーサ

 

 ・multipart/form-data とは ・・・ クライアントがフォームからファイルをアップロードする時、ファイルの情報(ファイルの種類、ヘッダの情報)をサーバ側に知らせる。サーバはファイルの情報を得ることでファイルを扱える。

 

VMwareが乗っ取られる?!Apache Strutsの脆弱性がvCenterServerにあることが判明

おはようございます、ねるです。

仕事が出来る振りをしていたら、

キャパ以上の仕事が来て死んでしまいそうなインフラエンジニアです。

 

今回はVMware 仮想環境の管理者が大変なことになるよって話です。

以前、以下の記事で紹介した通り、

ApacheStrutsには重大な脆弱性があります。

 

nell17world.hatenablog.com

 

その脆弱性VMwareのvCenterServerにもあることが判明してしまいました。

大悲報爆死低まりマウンテンですねこれは。

 

対象のバージョンは6.0と6.5です。

6.5はUpdateを適用すれば脆弱性は解消されます。

ただし、6.0はまだパッチが出ていません。出る時期も未定です。

これに指をくわえて待っていると、その間にVMwareの環境が乗っ取られてしまうかもしれません。

 

ですが皆さん、安心して下さい。

ワークアラウンドがありますよ!

 

今回Apache Struts脆弱性を持った機能がパフォーマンスチャートの機能なのです。

なので例のごとく、そのサービスを停止すればよいのです。

 

vCenterServer Apache Struts脆弱性への対応手順は以下の通りです。

  ①vCenterServerへリモートでログイン。

  ②コマンドプロンプトを開く。

  ③下記のコマンドでパフォーマンスチャートのサービスを止める。

     sc stop vmware-perfcharts

  ④下記のコマンドで再起動時に自動で起動しないようにする。

    sc config vmware-perfcharts start=demand

 

パフォーマンスチャートは見れなくなりますが、DBにデータは貯められているので、PowerCLIなどを使ってパフォーマンスを確認する事は出来ます。

もっとも、セキュリティリスクへの対応と比べたらパフォーマンスチャートなんてどうでもいいですけどね。

 

可及的に速やかに脆弱を潰していきましょう!!!