2013年 秋期 応用情報技術者試験 問8
Webサイトのセキュリティ強化策
A社は,家庭向けのソフトウェアを製造販売する会社である。A社のWebサイトは,自社の会社情報や製品情報などを掲載しており,アクセスしてきた全ての人に同じ情報を提供する静的なページで構成されている。このたび,ユーザサポートの向上を目的としてWebサイトを更改し,Webサイト内に会員専用のサイトを設けることにした。
会員専用サイトでは,ユーザIDとパスワードでユーザを認証し,ユーザが購入した製品や興味のある製品に関する詳細な技術情報を含むページを動的に生成するWebアプリケーションを用いる。
[セキュリティの強化]
A社のセキュリティ担当課長は,今回の更改に伴せて,Webサイトのセキュリティを強化したいと考えている。想定する脅威としては,SQLインジェクション,Webサイトの改ざん,クロスサイトスクリプティング,認証情報の盗聴の四つを懸念している。これらの脅威に対応するセキュリティ強化策を検討した結果,セキュアプログラミングを意識してWebアプリケーションを開発することとし,さらに(1)~(3)の3点を実施することにした。
(1) 更改前は全てHTTPでアクセスさせるようになっていたWebサイトを,暗号化されていないデータがそのままインターネット上に流れては問題がある部分では,HTTPSでアクセスさせるようにする。HTTPSでアクセスされるべきページにHTTPでアクセスされた場合は,クライアントにHTTPSのURLをリダイレクトで返し,自動的にHTTPSで再アクセスさせるようにする。
(2) 更改前はDMZに配置し,インターネットから直接アクセスさせていたWebサーバを,インターネットから直接アクセスできない内部のLANに移設する。DMZにはロードバランサと2台のリバースプロキシサーバを配置する。ロードバランサは,ユーザからのHTTP/HTTPSリクエストを,Cookieの情報を基にWebアプリケーションのセッションを維持するようにリバースプロキシサーバに振り分ける。各リバースプロキシサーバは,受け取ったリクエストを,対応するWebサーバに転送する。
(3) リバースプロキシサーバには,WAF(Web Application Firewall)の機能をもたせ,ブラックリストによる検査によって外部からの攻撃を防御する。ブラックリストには,Webアプリケーションの脆弱性を悪用した攻撃の特徴的なパターンを登録しておく。
更改後のA社Webサイトのシステム構成を図1に示す。
[WebサイトでHTTPSを使用するための準備]
HTTPSを使って通信するためには,aを取得する必要がある。aの申請には,識別名(Distinguished Name)が必要になる。識別名は,国コード,都道府県名,市区町村名,組織名,部署名,コモンネーム(SSL接続するサイトのFQDN)から構成される。A社では,SSL通信を行うWebサイトのURLを"https://www.a.co.jp/member/"とし,識別名を表1のように決定した。
識別名を構成する項目 | 値 |
---|---|
国コード(Country) | JP |
都道府県名(State) | Tokyo |
市区町村名(Locality) | Bunkyo-ku |
組織名(Organizational Name) | A Japan K.K. |
部署名(Organizational Unit) | User Support |
コモンネーム(Common Name) | b |
A社のWebサイト管理者は,識別名を決定し,コモンネームの重複がないことを確認した後,証明書署名要求(CSR:Certificate Signing Request)を生成し,認証局に申請することでaを取得した。証明書署名要求には,識別名とcが含まれており,認証局から取得したaを機器に導入する際には,cとペアを成すdが必要になる。aとdを機器に導入し,HTTPSでのアクセスが可能になるよう設定した。
[セキュリティの警告]
Webサイトの更改から1年ほど経過したころ,会員からサポート窓口に,「Webブラウザから A社のWebサイトにアクセスした際に,"セキュリティの警告"ダイアログボックスが表示された。どうすればいいのか。」との問合せが寄せられた。"セキュリティの警告"ダイアログボックスに含まれていたメッセージを図2に示す。
サポート窓口担当者はセキュリティ担当課長に問合せに対する処置を依頼し,セキュリティ担当課長は,Webサイト管理者に対して,適切な対応をとるよう指示した。