• 検索結果がありません。

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

N/A
N/A
Protected

Academic year: 2021

シェア "HIGIS 3/プレゼンテーション資料/J_GrayA.ppt"

Copied!
28
0
0

読み込み中.... (全文を見る)

全文

(1)

2018/5/19

株式会社 日立ソリューションズ

クラウドソリューション本部

クラウドサービスビジネス部 第1グループ

OSC 2018 Nagoya

オープンソースを安心して利用するために

~選定と管理~

(2)

1

はじめに

昨今、オープンソースソフトウェア(OSS)のビジネス利用は

Webサーバやメールサーバなどのいわゆるエッジ系に限らず

基幹系システムでも利用されるようになってきています。

しかしながら、次のような不安の声も耳にします。

星の数程あるOSSのどれを使えばいいんだろう。

使ってしまって大丈夫なんだろうか。

選定:利用にあたり、どのOSSやバージョンを採用するか

管理:利用開始後、運用で発生する問題にどう対処するか

何かあったらどうしよう。

OSSではソースコードをはじめとして、さまざまな情報が公開

されています。これらの情報を活用して、

について述べさせていただき、こういった不安を少しでも

緩和できれば幸いです。

GitHubだけで

8千万以上・・!

(3)

1.予備知識 ~ OSS 公開情報

2.選定に活用する

3.運用に活用する

4.まとめ

5.弊社サービス紹介

Contents

(4)

3

(5)

1-1.OSSの公開情報って何がある?

公開されているのはソースコードだけではありません

各種ドキュメント

利用者参加情報

バグ情報

マニュアル

変更履歴

(リポジトリ)

#include <stdio.h> int

main( int argc, char *argv[]) {

int x, y, z, i, j;

for (i=0; i<MAXPATH;i++) { : }

FAQ

ソースコード

リリース情報

メーリングリスト

(アーカイブ)

(6)

5

1-2.バグ情報って何だろう

• 発生現象

• 重要度(深刻度)

• 発生条件・環境(OS, ハードウェア)

• 対象モジュール・機能

• プログラムをより良くしていくため、主に開発者が利用する情報です

• 問題点の情報を開発者間や利用者との間で共有します

• 修正方法の提案や修正内容について議論ができます

• 多くのOSSプロジェクトでは、一般利用者からの報告も受け付けています

• 同時に、その後の修正方法の議論や修正結果も公開されています

バグはプログラムの問題点

具体的には修正が必要な事象に関する以下の情報の集まりです

• 再現手順

• 回避方法

• 修正方法案

• 修正結果

(7)

1-3.脆弱性情報って何だろう

• 発生現象

• 重要度(深刻度)

• 発生条件・環境(OS, ハードウェア)

• 対象モジュール・機能

• 任意のコードの実行や、情報漏えいなどが発生する可能性があります

• プログラム上のバグや仕様的欠陥などが原因となります

• 対策版までの過程は、バグ情報で公開されていることもあります

• 攻撃を誘発するため、通常は具体的攻撃方法は公開されません

• 通常のバグよりも早く対策が行われることが多いです

脆弱性はプログラムのセキュリティ上の問題点

具体的には脆弱性に関する以下の情報の集まりです

• 再現手順

• 回避方法

• 脆弱性番号

• 対策版情報

(8)

7

1-4.リリース情報って何だろう

• 変更概要

• バグ番号

• 脆弱性番号

• バグや脆弱性の対策

• 新しい機能の追加

• 仕様の変更

• 前提プログラムの変更

リリース情報はプログラム変更内容のリスト

具体的にはプログラム変更内容に関する以下の情報の集まりで

• 変更種別

(9)

1-5.バグトラッキングシステム

• ToDo管理やリリース予定

• バグ情報の分析、未修正一覧

→ある月のバグ情報などの絞込みも可能

• 定期的なフォローメール

バグトラッキングシステムとは

• プログラムのバグや脆弱性発見時に登録し、

修正状況を管理するための専用システムです

• 通常はWebインターフェースが提供されています

• プロジェクトの進捗管理が可能な機能もあります

(10)

9

1-5.バグトラッキングシステム

Mozilla Foundationが開発しているOSS

主な採用プロジェクト

Bugzilla

JIRA

豪アトラシアン社が開発したプロプライエ

タリ・ソフトウェア

OSSプロジェクト等には無償で提供される

主な採用プロジェクト

• Mozilla project

• Linux Kernel

• Apache Project (httpd, Tomcat他)

• Samba Project

• Spark

• Apache Project (Struts, Maven他)

引用: Apache Project ASF JIRA

(https://issues.apache.org/jira/browse/)より 引用: Mozilla Project Bugzilla (https://bugzilla.mozilla.org/ )より

その他

•GitHub

•独自系

•他

(11)

1-6.脆弱性データベース

脆弱性データベースとは

• OSSに限らず、商用製品も含めたプログラムに関する脆弱性の

情報を一意に管理するデータベースです

• 脆弱性を一意に識別するため、CVE番号と呼ばれるIDが割り当て

られます

• 脆弱性の概要、対象のソフトウェアバージョン、開発元の情報や

関連するバグトラッキングへのリンクなどの情報があります

• 目的のソフトウェアに関する脆弱性の一覧を検索できます

• ある脆弱性に関する詳細情報を取得できます

(12)

11

1-6.脆弱性データベース

MITRE社が提供するデータベース

脆弱性情報のIDであるCVE番号を管理

CVE

NVD

NISTが提供するデータベース

CVE番号ごとにより詳細な情報を提供

(CVSSスコアなど)

引用: National Vulnerability Database (https://nvd.nist.gov/vuln/)より 引用: Common Vulnerabilities and Exposures

(https://cve.mitre.org/ )より

その他

•JVN

•CERT/CC

•JPCERT/CC(メーリングリスト配信サービスもあります)

https://cve.mitre.org/

https://nvd.nist.gov/vuln/

(13)
(14)

13

2-1. 統計分析

バグ情報の統計

バグ報告の件数や、その修正件数の推移をバグトラッキングシステムから

取得し分析します。これらの件数の推移を見ることで開発の活発さやプロ

グラムの成熟度の一端を知ることができます。

バグ報告が多いということは...

修正が多いということは...

•問題が多いかも?

•利用者も多い

•実際に問題が多かった

•メンテナンスが活発に行われ

ている

では実際にOSSのバグ報告件数、修正件数を見てみましょう。

(15)
(16)
(17)

0 10 20 30 40 50 60 70 0 1 6 .0 1 0 1 6 .0 2 0 1 6 .0 3 0 1 6 .0 4 0 1 6 .0 5 0 1 6 .0 6 0 1 6 .0 7 0 1 6 .0 8 0 1 6 .0 9 0 1 6 .1 0 0 1 6 .1 1 0 1 6 .1 2 0 1 7 .0 1 0 1 7 .0 2 0 1 7 .0 3 0 1 7 .0 4 0 1 7 .0 5 0 1 7 .0 6 0 1 7 .0 7 0 1 7 .0 8 0 1 7 .0 9 0 1 7 .1 0 0 1 7 .1 1 0 1 7 .1 2 0 1 8 .0 1 0 1 8 .0 2 0 1 8 .0 3 0 1 8 .0 4

MySQL 5.7

新規報告 FIXED

2-4. MySQL 5.7のバグトラック集計

5.7.11 5.7.12

5.7.13

5.7.14

5.7.15

5.7.16

5.7.17

5.7.18

5.7.19

5.7.20

5.7.21

・報告件数と修正件数が減少し

現在はほぼ一定

・定期的かつ非常に頻繁なリリース

(18)

0 2 4 6 8 10 12 14 16 18 20 2 0 1 7 .0 4 2 0 1 7 .0 5 2 0 1 7 .0 6 2 0 1 7 .0 7 2 0 1 7 .0 8 2 0 1 7 .0 9 2 0 1 7 .1 0 2 0 1 7 .1 1 2 0 1 7 .1 2 2 0 1 8 .0 1 2 0 1 8 .0 2 2 0 1 8 .0 3 2 0 1 8 .0 4

nginx 1.13

新規報告 FIXED

2-5. nginx 1.13のバグトラック集計

Nginx View Tickets (https://trac.nginx.org/nginx/report )より集計

1.11.13

1.12.0

1.12.1

1.12.2

1.13.0

1.13.2 1.13.3 1.13.4 1.13.51.13.6

1.13.7 1.13.8

1.13.9 1.13.10

・報告件数も修正件数も増加傾向

・修正率が高い

・非常に頻繁なリリース

nginx(Mainline)は常にこのような状態

1.13.1

(Mainline)

※nginx・・・静的コンテンツの処理を得意とする非常に軽量かつ高速なWebサーバ

(19)

2-6. 使うべきOSSは・・・?

• 問題の件数と同程度しっかり対策もされている

• 問題の件数は収束傾向にある

• リリースの間隔が良好(年2回以上)

• EOL(end of life)時期にも注意

• 利用されている事例や情報が豊富か

• Google Trendsの利用も有効

• nginxのように常に活発な状態が続くOSSも出てきている

→CI/CD環境を整えるなどの対応が必要

問題の件数

リリース

その他

https://trends.google.co.jp/trends/

(20)

19

(21)

3-1.Case1 バグに遭遇・・・?

使用者

一般利用者のためのお助けフォーラムではありません

既存事例の調査

• 誰かが同じことをやってるかも

• 既に直っているかも

• 回避方法があるかも

問題発生

注意

バグかもしれない

• マニュアルと動きが違う

• core dumpした

• ソースの間違いを見つけた

検索

コメント投稿

過去検索

投稿して会話

バグ情報

メーリングリスト

回避策

新しいバグを見つけたので報告

• 修正方法がわからなくても(わかればBest)

• 開発者に伝える、会話ができる

• 今後の開発に活かしてもらえるかも

• 記録として残る

バグトラックはあくまでもバグ修正を管理するためのツールです

新しいバグだ

対策版

(22)

21

3-2.Case2 脆弱性が公表され騒ぎに・・・!?

使用者

公表情報の調査

• 対象バージョンは?対象モジュールは?

• 回避策はあるのか?対策版はあるのか?

• 本当に起こり得る内容なのか?

脆弱性情報

詳細把握

関連リンクの確認

コミュニティの見解

関連バグ情報

CSIRT等の情報

関連情報

回避策

該当するのか判断できない・・・

• 回避策、対応版の適用を考える

• ユーザメーリングリストで聞いてみる

• サポートを提供するベンダに頼る

基本は対策版へのアップデートを行うことです

必要になった場合に円滑に実施できるようにするため事前の用意も

重要です

対策版

世間で大騒ぎになっているが

うちのシステムは該当するん

だろうか・・・・

脆弱性情報

(23)
(24)

23

4.まとめ

• バグ情報は開発者はもちろん利用者にとっても非常に

重要なものです

• バグ情報や脆弱性情報は、利用者にとって問題発生時の

調査情報源となります

• 個別の問題解決以外にも、バージョンの選定、バージョン

アップ時期の目安など運用管理に役立てることもできます

• 日頃からウオッチすることで障害予防に活用することも

できます

• 使用しているOSSの現状を理解するための重要な情報源

の一つとなります

公開されている情報を有効に活用して

OSSを効果的に利用しましょう

(25)

システムにOSSを利用してコスト削減を検討したいが、サ

ポートがないのは不安

ポイント

サービス

OSS利用時の運用コストを削減します

サポート対象ソフトウェアの一例

脆弱性情報、不具合情報、リリース情報をお客様の環境に合わせて

情報をフィルタリング

してご提供

調査を弊社が代行することで、問題発生時の

調査コストを削減

サーバ製品

開発系

Redhat JBoss

その他

Apache HTTP Server

Apache Tomcat

nginx

Bind

Postfix

Dovecot

Squid

Apache Commons

Apache Log4j

Struts

SpringFramework

Ruby

JasperReports Library

JBoss EAP

JBoss BPM Suite

JBoss BRMS

JBoss EWS

GnuPG

OpenSSL

OpenLDAP

MyBatis

PostgreSQL

ansible

※ 掲載されていないソフトウェアはお問合せください ※ 情報提供サービスに対応していないソフトウェアもございます

5.弊社サービス紹介

– オープンソースサポートサービス

(26)

他社所有商標に関する表示

• Apache, Apache Project, Sparkは、Apache Software Foundationの米国およびその他の国における

登録商標または商標です。

• GitHub は、GitHub Inc.の米国およびその他の国における登録商標または商標です。

• Google Trendsは、Google Inc.の米国およびその他の国における登録商標または商標です。

• JBOSSは、Red Hat, Inc.の米国およびその他の国における登録商標または商標です。

• Linuxは、Linus Torvalds氏の米国およびその他の国における登録商標または商標です。

• MySQLは、米国Oracle Corporation およびその子会社、関連会社の米国およびその他の国における

登録商標または商標です。

• Nginx は、Nginx Software Inc. およびその子会社、関連会社の米国およびその他の国における登録

商標または商標です。

(27)

END

オープンソースを安心して利用するために

~選定と管理~

2018/5/19

株式会社 日立ソリューションズ

クラウドソリューション本部

クラウドサービスビジネス部 第1グループ

OSC 2018 Nagoya

(28)

参照

関連したドキュメント

サーバー費用は、Amazon Web Services, Inc.が提供しているAmazon Web Servicesのサーバー利用料とな

当社グループにおきましては、コロナ禍において取り組んでまいりましたコスト削減を継続するとともに、収益

2.本サービスの会費の支払い時に、JAF

本装置は OS のブート方法として、Secure Boot をサポートしています。 Secure Boot とは、UEFI Boot

①物流品質を向上させたい ②冷蔵・冷凍の温度管理を徹底したい ③低コストの物流センターを使用したい ④24時間365日対応の運用したい

(7)

6-4 LIFEの画面がInternet Exproler(IE)で開かれるが、Edgeで利用したい 6-5 Windows 7でLIFEを利用したい..

土木工事では混合廃棄物の削減に取り組み、「安定型のみ」「管理型