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

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

MENU

嘘をつくのも仕事?!エンジニアのエイプリルフール

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

今日は世界中に嘘が溢れるエイプリルフールです。

 

f:id:nell17world:20170401101933p:image

 

突然だけど、エイプリルフールなんて、エンジニアには関係ないと思ってない???

 

ダメエンジニア。

 

エイプリルフールには企業のホームページを更新して嘘を書いたり、アクセスが集中してサーバトラブルが起きれば対応したり、するの。

 

それでは、良いエイプリルフールを。。

今更聞けないよな・・・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 とは ・・・ クライアントがフォームからファイルをアップロードする時、ファイルの情報(ファイルの種類、ヘッダの情報)をサーバ側に知らせる。サーバはファイルの情報を得ることでファイルを扱える。