脆弱性管理業務の稼働時間算出のためのモデルシステム構成を提案する

脆弱性対応の稼働時間を数値化し、コストの具体値を算出したい。そこで、一定期間にモデルシステムに対して配信された脆弱性の件数をもとに、稼働時間を実測してみようと思う。本稿ではその準備として、システムを構成するソフトウェアとそのバージョンのモデルを提案する。
本命の実測結果は結果が出たときにまた別の記事にて。


条件

  • Web/APサーバはソフトウェア構成の組み合わせが多数考えられるため、ここでは2種類を提案して、それぞれ脆弱性件数を求める。
  • DNSサーバなどその他のサーバのOSはWeb/APサーバと同一とする。

システムを構成するサーバ種類とその台数

ゲートウェイルータ:1台
Web/APサーバ:2台
DBサーバ:1台
権威DNSサーバ:1台
メールサーバ:1台

ソフトウェアとそのバージョン(2016年春季モデル)

共通
仮想化:VMware vSphere Hypervisor (ESXi) 6.0
リモート接続:OpenSSH 5.3
ファイルアップロード:Vsftpd 2.2.2
SSL/TLS:OpenSSL 1.0.1
Web/APサーバ A構成
OS:Red Hat Enterprise Linux 6.7
Webサーバ:Apache HTTP Server 2.2.15
Java:Openjdk 1.7.0
Webコンテナ:Apache Tomcat 7.0.68
WebアプリケーションフレームワークApache Struts 2.3.20
Web/APサーバ B構成
OS:CentOS 6.7
Webサーバ:Apache HTTP Server 2.2.15
スクリプト言語PHP 5.3.3
CMS:WordPress 最新
JavaScriptライブラリ:jQuery
DBサーバ
RDMS:MySQL 5.1.73
DNSサーバ
DNSサーバ:ISC BIND 9.9.5
NTPサーバ
NTPサーバ:ntp 4.2.8
メールサーバ
SMTPサーバ:Postfix 2.6.6
POP3サーバ、IMAPサーバ:Dovecot 2.0.9

検討中における考察メモ

インターネット上にある公開サーバの9割以上はLinuxであるとの報告がある。
https://en.wikipedia.org/wiki/Usage_share_of_operating_systems
またWebサーバにおけるLinuxディストリビューションとしては、フリーウェアが選択されるケースが多いものの、有償なものとしてはRed Hatが最も多く利用されている。
http://w3techs.com/technologies/history_details/os-linux
2010年に登場し、現時点ではサポート終了の広告のない6系で最新版となる6.7を選択する。
https://ja.wikipedia.org/wiki/Red_Hat_Enterprise_Linux

Webサーバはシェアが最も大きいApacheで、かつRHEL6標準であるバージョンを選択する。
http://w3techs.com/technologies/overview/web_server/all
http://news.netcraft.com/archives/2016/04/21/april-2016-web-server-survey.html

Apache httpd rpm package included in RHEL 5, which is based on 2.2.3. 
Apache httpd rpm package included in RHEL 6, which is based on 2.2.15.
Apache httpd rpm package included in RHEL 7, which is based on 2.4.6.
https://access.redhat.com/solutions/445713

OpenJDK ライフサイクルおよびサポートポリシー
https://access.redhat.com/ja/node/1457743

Apacheの純正Webコンテナとフレームワークを選択する。