SOA - みる会図書館


検索対象: UNIX MAGAZINE 2006年2月号
12件見つかりました。

1. UNIX MAGAZINE 2006年2月号

SOA と BRMS 國安治 12 月号では、自動車保険の保険料・見積りを例にとり、 場合には、多様なプラットホームに対応するサービスパ ビジネスルールの適用手法をみてきた。今回は、 SOA ス製品をネットワーク上に置き、そのバスにシステムを (Service Oriented Architecture) と BRMS (Busi- つないでいく。 ness Rule Management System) について説明する。 SOA の実現方式としては、上位では BPM (Busi- ness Process Management) 製品カゞ、ミッドレンジ SOA とは何か では Web サービスに対応したアプリケーション・サ ーバー製品が、下位では EAI (Enterprise Applica- SOA という用語は、いくつかの末で使われている。 tion Integration)/ESB (Enterprise Service Bus)/ Oriented は、、指向 " と訳されるが、考え方の方向性を示 ETL (Extract-Transform-Load) 製品が本命となり したものであり、概念、もしくは概念の具体的な実現方 つつある。 式を指す。概念については考え方や捉え方の違いが多少 SOA と工業生産 あるが、実現方式は標準化が進み、さまざまな製品が登 場している。 、、 xx 指向 " という概念は、現実の世界に置き換えると理 解しやすい。オプジェクト指向が登場したとき、クラス 概念としての SOA は、処理の各要素をネットワーク とメソッド、継承と隠蔽などを説明するために、社員と 経由で利用できるサービスというかたちにし、それらを 営業、才翅者との関係、あるいは専門家に仕事をイ頁す 連携させてシステムを構成するという考え方を指す。サ るときのやりとりなどが、具体例としてよく挙げられた。 ービスを疎結合して個々の依存性を少なくし、処理要素 の順番や組合せ、新たなサービスの追加といった変更を 適切な例かどうかは分からないが、以下では SOA を 容易にする。 工業生産の効率化とその変遷に置き換えてみよう。 SOA で最大の効果を得るには、企業内のさまざまな かって、ヘンリー・フォードは自動車産業においてラ システムを全体として捉える必要がある。あるいは、企 イン生産方式を考案した。この方式が登場する前の自動 業の枠を超えた連携に対象を拡大することもある。その 車工場では、車体を固定して東エが組立てをおこなっ 場合、サービスの疎結合の方式としては、 XML をベー ていた。ライン生産方式では、まず部品の供給や移動の スとした Web サービスが実現方式の本命といえる。サ 効率化から始め、最終的には自動車本体もベルトコンべ ービスを連携させて構成した業務処理 ( ビジネスプロセ アで移動させながら加工する手法をとった。工程を細分 ス ) の標準としては、図式表現の BPMN (Business 化し、誰でもできる単純な作業にすることで、高品質と Process Modeling Notation) と、言語表現の BPEL 低コストを両立させたのである。 (Business Process Execution Language for Web 現在の企業では、個々の情報システムカ虫立しており、 services) がある。 それらのあいだを人間がつないでいるパターンが多い。 企業内の連携では、まとまったデータをファイル転送 つまり、出力した書類を物理的に運んだり、データの変 したほうがよい場合や、 web サービス化カ攤しいケース 換や調整を人間がおこなっているのである。例外的な処 ( メインフレーム・システムなど ) がある。そのような環 理やデータの誤りなどもあり、人間の目で確認したり、過 境において、システム間を peer-to-peer でつなごうと 去の経験がものをいう場合も多い。担当者が病気でもす すると、接続の組合せが多くなってしまう。このような れば、業務全体への景彡響も避けられない。これは、いわ 20 UN 工 X MAGAZ 工 NE 2006 . 2

2. UNIX MAGAZINE 2006年2月号

ばライン生産方式以前の状態である。 SOA でも、作業を戒的なものから高度なものまで、 工程として細分化してサービス化する。高度な作業は引 き続き人間が対応し、機械的なものはシステム化する。 情報技術の進化により、サービスを連携させて作業ライ ン ( プロセス ) を柔軟に組み替えられるので、結果として 生まれる製品の高品質と低コストが実現できる。 作業員や機械も含む生産ライン全体が、 SOA における ビジネスプロセスにあたる。メインの生産ラインにつな がるサプ生産ラインは、ビジネスプロセスのサププロセ スだ。車体を運ぶべルトコンべア、道具や部品を運ぶレ ーンなどが、サービスパスや EAI (Enterprise AppIi- cation lntegration) に相当する。自動車のギアポック スなどの部品は、他社から提供される場合がある。ビジ ネスプロセスでも、一部の業務を外部に委託したりパッ ケージを利用することがある。 工業生産における工程の細分化は、誰がどのリソース を使っておこなうのか、それは自社にとってのコアな技 術か、といったさまざまな視点から検討される。 SOA に おけるサービスの粒度の考え方も、このような工程の細 分化と同様に捉えると分かりやすいかもしれない。 初期のライン生産方式は、人間に単純作業を強いる過 酷な労働として批判された。その後の機械化により、危 険で過酷な作業は機械に任せるようになった。 SOA で も、単純で膨大な作業はシステム化される。人間は創造 的で高度な、変革カ髞り返される作業を担うようになる。 ライン生産方式は大量消費時代には適合したが、モノ あまり時代を迎えて消費者の嗜好が多様化し、在庫がダ プつくようになった。そこで導入されたのが、サプライ チェーン・マネージメントである。部品や材料の調達、 在庫管理、製品の配送の流れを統合的に管理し、在庫削 減とコスト低減に効果があった。 SOA の適用対象はビ ジネスなので、製品や部品の注文を受け、納期に合わせ て生産するトヨタの JIT (Just-In-Time) 方式が適合 する。 SOA に JIT 方式を取り入れれば、次の段階の作 業について考えるべき時点で担当者に作業依頼が示され るようになるだろう。 もう 1 つ、重要な工業生産の効率化にセル方式生産が ある。キヤノンのセル方式生産は、多品種少生産で部 品の移動力溶易な分野で効果を上げている。ライン生産 方式では、ラインの速度に人間が合わせなければならな UNIX MAGAZINE 2006 . 2 い。一方、セル方式生産ではそれぞれが自分の速度で作 業を進められるだけでなく、仕事に対する達成感も得ら れる。情耡支術においては、部品 ( 情報 ) の移動にかか る時間をあまり考慮しなくてもよい。だが、要求される 処理量の変化により、サーバー側で処理待ちが発生する 場合もある。セル方式生産では、これをグルーフ。で処理 していく。作業に慣れれは処理量も増え、それだけ成果 も上がる。情報技術環境では、あるサービスに関する溜 まった要求を空いたマシンや人間がチームで処理するよ うなかたちになる。マシンを利用するのなら、ユーティ リティ・コンピューティングや、グリッド・コンピュー ティングといった方式になるかもしれない。 サプライチェーンや JIT 、セルなどを情幸財支術のう予 に適用する場合は、 SOA のほかに、状態監視やスケジ ューリング機能も必要になる。 SOA による業務変革 SOA により、サービスの疎結合による変化に強い柔 軟なシステム構成が実現できる。 SOA を導入すれば、 情報技術はプラットホームへの依存性が減り、サービス とプラットホームを異なるライフサイクルで管理できる ようになる。結果として、システムのトータルコスト (TCO) の低減、ビジネスプロセスの品質向上と高速化、 各プロセスのコスト低減が見込める。 工業生産の革新は、世の中の仕組みや仕事の形態まで 変えた。同様に、情幸財支術の分野で SOA の導入が進め ば、企業の業務変革が進んでサービスが大きく変容する だろう。 1914 年頃に始められたライン生産方式は、そ の後の 90 年間に工業生産における数多くの改善をもた らした。情報技術は短期間に大きく進化するので、工業 生産の場合の何分の 1 かの速度で変化していくのではな いだろうか。ただし、業務変革はシステムだけでおこな うわけではなく、業務に携わる人間が重要である。その 未では、業務担当者の教育や成長をみながらビジネス プロセスの改善を進めなければならない。 ビジネスプロセスを変革するには、業務の手順を明確 化し、経営目標を実現するための業務改革、継続的な改 革プランを作成する必要がある。これまで、ドキュメン トがすべて紙べースだったり、個々のシステムをつなぐ 方法がなかったりと、情報技術にとってはさまざまな障 壁があった。いま、ようやく情報技術によってビジネス NOTICE 21

3. UNIX MAGAZINE 2006年2月号

ト名とバージョン番号を指定して呼び出す ( バージョン 番号を指定しない場合は、肩効なルールセットのなかで もっとも新しいものカ駛われる ) 。 BRMS は、 SOA の実現に重要な BPM にとって、 ビジネスプロセスにビジネスポリシーを柔軟に組み込む 重要な要素と註哉されている。現在、 ILOG JRules は 12 の BPM 製品との接続カ蔀寉認されている。 BPM ツールには、人間と人間、人間とシステム、シ ステムとシステム、データの制御など得意分野がある。 人と人、人とシステム 義、審査、回覧などのモデル、あるいは人間や部 署、グループ、権限のモデル ・作業リストの表示、電子メールによる作業や異常の 通知機能 ・作業の状況を入力する画面などのテンプレートや作 成機能 システムとシステム ・データベースの接続を容易にする機能 ・ CRM や ERP など、ひろく普及しているシステム に接続するコネクタ ・人間の作業によるシステム側の待ちが発生しないた め、一・ヨ殳的に高パフォーマンスの言気 テータ 書類をスキャンした画像データの匍胸 ・電子化した文書への電了署名や言正 BPM のべンダーはそれぞれの得意分野を伸ばすとと もに、他社の得意分野を取り込みつつある。また、 SOA を実現する複数の層をサポートするように機能を拡張し ている。 ー殳に、 SOA を実現するには複数のツールを組み合 わせる。人間による機械的な判断やチェック作業の自動 化には BRMS が威力を発揮する。たとえば、以下のよ うな業務では BPM と BRM の組合せがすでに適用さ れ、隹的な SOA 実現の例となっている。 保険業界での加入審査のチェック、見積り、支払い要 求チェック 金融業界での融資要求チェック ・通信業界での加入要求チェック、サービス変更要求チ ェック 公共機関での補助金要求の適格性チェック UNIX MAGAZ 工 NE 2006.2 NOTICE 複数業界での顧客向けキャンペーン適用チェック、顧 客への推奨商品の選択 SOA の実現においては、自動化とともに監視業務が 重要になる。機械には、どうしてもさまざまな問題が生 じる。性能の劣化や、メモリなどのリソースの増大、入 カデータの間違いなどである。システムの諡見業務を効 率化するには、これらの問題を検知し、視覚化する機能 が必要になる。 このような問題検知については、たとえば以下のう f で BRMS カ坏リ用されている。 ・通イ言業界でのネットワーク内のエラーの主原因推定 ・ネット・オークションでの不正出品の尉甫割出し 今後、システムによる判断や検査の自動化、問題の検 知などでの SOA の利用がいっそう進むと思われる。ま た、 BRMS により、法令や社内規定の遵守 ( いわゆるコ ンプライアンス ) の検査も自動化されていくだろう。こ れらは、たとえば人間による作業の前後で実施するパタ ーンが考えられる。人間がおこなう作業に先立ち、前提 となるデータに不正がないかを調べ、誤りがあれは前の 工程に戻す。作業後には、規定などにかかわる見落しが ないかを調べる。 対象となる作業のなかには、高度なものもある。ーリ として、米国の保険業界のケースを紹介しておこう。米 国では、原則として、保険金支払い要求にかかわる個人 情報にアクセスできるのは担当審査官だけと定められて いる。ただし、アクセス可能な情報の範囲は州ごとに規 定されている。 BRMS を導入すれば、全米共通のルー ルおよび各州ごとのルールを視覚化して管理できるだけ でなく、規定を遡見したアクセスに対しては情報を表示 しないといった措置もとれるようになる。 ☆ 以上、 SOA/BPM と BRMS の組合せについて、そ の概念と実装の両面から説明した。 次回は、 ILOG の視覚化製品を紹介する。 23 ( くにやす・おさむアイロの

4. UNIX MAGAZINE 2006年2月号

ク・ミニ実験室の 図 17 ゾーン輯医によるゾーン情報の里 マスターサーバー ( 192.168.1.1 ) ① SOA レコードを取得。シリアル番号が 変更されていればゾーン転送を要求 ゾーン転送 ネットワー スレーブサーバー ( 192.168.10.1 ) example.com ゾーンの 情報のコピーを保持 example.com ソーンの オリジナルの情報を保持 ② examp 巨 com をゾーン転送 図 18 rndc refresh の実彳吉果 (a) 「 ef 「 esh コマンドの実行結果 冖スレーブサーバーに対してコマンドを送る $ rndc ー s 三 192 .168 . 10 . 1 三 refresh example . com zone refresh queued ーゾーン更新要求が受け付けられた を読み込んだことを確認できます。新しい設定内容が本当 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 9 5 4 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 9 5 4 192 . 16 8 . 10 . 1 # 1161 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 8 0 2 17 ー Dec ー 2 0 0 5 0 0 : 10 : 4 5 . 8 01 ・ # /usr/local/sbin/named (b) DNS サーバーのメッセーシ zone example . com/工 N: ・ zone example . com/工 N: ー 9 に沿い、 SOA レコードのシリアル番号か哽新されていれ ーンを更新させた例です。 refresh コマンドは上述の手順 図 18 は、 refresh コマンドを使って example.com ゾ おこなわせることができます。 ドを使えば、定期的なタイミングを待たずにゾーン転送を まうという難点があります。 refresh や retransfer コマン るまで、スレープサーバー側に旧いゾーン情報カってし この仕組みには、定期的なゾーン車幻去のタイミングにな する。 4. マスターサーバーが example.com のゾーン情報を車幻医 レープサーバーがゾーン車幻医を要求する。 3. SOA レコードのシリアル番号が更新されていれば、ス 2. マスターサーバーが SOA レコードを送る。 レコードを要求する。 1. スレープサーバーがマスターサーバーに定期的に SOA 手川頁で定期的にゾーン情報を更新します。 ーバーが起動したときに転送されます。また、次のような transfer Of 'example . com/工 N' from 192 .168 . 1 . 1 # 53 : end Of transfer transferred serial 2005121700 transfer Of 'example . com/工 N' from 192 .168 . 1 . 1 # 53 : connected using Transfer started. ← examp com ゾーンの転送の開始 た、それぞれの DNS サーバーは区別のために次のように によって他方の DNS サーノヾーへ送ることができます。ま DNS サーバーが管理しているゾーン情報を、ゾーン転送 図 17 のように複数の DNS サーバーがあるとき、一方の こで、ソーン車医についておさらいしておきましよう。 制御するコマンドです。 rndc refresh と rndc retransfer はゾーン転送を ゾーン情報の更新 確認してください。 に DNS サーバーに反映されているかは、 dig コマンドで 呼ばれます。 ・オリジナルのゾーン情報を管理している DNS サー をマスターサーバー ゾーン情報のコピーをもつ DNS サーバーをスレーブサ マスターサーバーが管理するゾーン情報は、スレープサ UN 工 X MAGAZINE 2006 . 2 ノヾー 107

5. UNIX MAGAZINE 2006年2月号

ー SOA と BRMS プロセスを視覚化し、業務改革を支援する準備カって きたといえる。 SOA と BRMS 22 ・インテグレーション層 ( 多様なプラットホームをつな ーション・サーバー機能 ) ・ビジネスロジック層 ( サービスの基盤であるアプリケ 機能 ) ・オーケストレーション層 ( サービスを連携する BPM けられる。 SOA の実現要素は、下記の 3 つの層 ( レイヤ ) に分 SOA の実現とビジネスルール めたり応用するなど、創造的な作業に携わればよい。 テムの記億を利用し、過去の資産を新しいものにあては にとって、、記憶 " はむしろ得意分野である。人間はシス ていたかを憶えているのはけっこう大変だが、情報技術 している。人間の場合、 1 ~ 2 年前にどのように判断し ジネスルールの管理機能と分かりやすい表現方法を重視 に変更しなければならない。そのため、 BRMS では、ビ 提供するサービスや製品カ畯われば、判断方法も遇虫 とって重州動となる部分である。 な作業であり、単純なチェックを繰り返す、人間の頭に における部品検査や完成品検査など、ある未で機械的 あった。一方、 BRMS カ寸象としているのは工業生産 合は、高度な証明や推論カ河能なマシンの実現が目標で AI と現在の BRMS のおもな対象は異なる。 AI の場 ligence) の研究成果から生まれた。ただし、かっての Engine) 内部のアルゴリズムは、 AI (Artificial lntel- BRMS の基本要素である BRE (Business Rule —ELSE によるロジックの集合である。 テムにおいて、この部分の基本になるのは IF—THEN SOA の対象分野である業務システムや業務支援シス 品検査などである。 い。自動車産業でいえば、塗装幇妾、部品験査、完成 ミスの影響が大きい危険な作業は、機械化したほうがよ 人間カ騁わっていた作業のうち、成的で単純な作業、 械化である。 SOA と BRMS の関係は、工業生産にたとえれば機 ぐ EAI/ESB/ETL 機能 ) これらを監視管理する機能を入れることで、異常は即 座に認識される。 たとえば、 ILOG の BRMS 製品 JRules には BRE をサービス化するための BRE server が含まれている。 BRE Server は、ビジネスロジック層のフレームワーク 上で動く。同期・非同期両方の呼出しに対応し、尉見管 理ツール用に JMX をサポートしている。 オーケストレーション層からビジネスルールを利用す るには、 BRE Server を Web サービスとして呼び出す 疎結合か、もしくは EJB や RMI 呼出しによる密結合 の 2 種類の方式がある。 JMS によるメッセージングの 非同期呼出しも可能である。 BPM のプロセス定義ツールでこれを定義するには、 おもに次の手川頁を踏む。 1. 準備 実行時には、 BPM ではビジネスプロセスの実行工ン パラメータを割り付ける。 プロセスで疋義した変数と、ルールセットの In/Out 4. プロセスの変数との割付け ネスルール部品をビジネスプロセスに入れる。 ドラッグ & ドロップなどにより、登録しておいたビジ 3. プロセスへの糾込み する。 る。または、 BRE Server の Web サービスを登録 工クスポートした In/Out 情報を取り込んで登録す 2. プロセス定義ツールへの部品登録 のインターフェイスになる ) 。 サービスとして配備する ( これが、ビジネスルール側 を工クスポートする。または、 BRE server を Web BRMS 側でルールセットの In/Out パラメータ情報 UNIX MAGAZ 工 NE 2006.2 定ができる。ルールセットを利用する側は、ルールセッ のリストが表示され、各ルールセットの有効 / 無効の設 Server 管理コンソールを開くと、配備したルールセット バージョン番号カ寸けられる。 Web プラウザで BRE BRE Server にルールセットを配備すると、自動的に ールも即座に適用される。 に保持している。これにより、無駄な初期化がなく、ル BRE Server は、初期化された BRE 群を、プール " ジンが、 BRMS では BRE Server か起動する。

6. UNIX MAGAZINE 2006年2月号

図 19 rndc refresh をマスターサーバーに対して実行した結果 (a) refresh コマンドの実行結果 冖マスターサーバーに対してコマンドを送る $ rndc ー s : 192 .168 . 1 . 1 : refresh example . com zone refresh queued ーソーン更新要求が受け付けられた ? (b) DNS サーバーのメッセージ # /usr/local/sbin/named ー 9 17 ー 12 - 2005 1 : 12 : 30 . 921 ・ zone example . com/工 N: ばゾーン中幻去をおこないます。 cannot refresh: no masters: retransfer も refresh と同様、更新したいゾーン名を指 定し、 rndc —s 192.168.10.1 retransfer example . com のように実行すれば、マスターサーバーからスレープサー ノヾーに example.com ゾーンの情報が送られます。 refresh コマンドと retransfer コマンドには、次のよう な違いがあります。 ・ refresh : 最初に SOA レコードのシリアル番号を比較 し、シリアル番号か哽新されていればゾーン転送をおこ ・ retransfer : SOA レコードのシリアル番号とは関係な く、強制的にゾーン転送をおこなう。 refresh コマンドの失敗イ列 refresh コマンドを使うときは、間違えすにスレープサ ーバーに接続してください。ゾーン転送の要求はスレープ サーバーカ咄すため、マスターサーバーに接続してもゾー ン輯医は起こりません。 図 19 は、マスターサーバーに対して refresh 要求を送 った様子です。図 19 ー a のように、 zone refresh queued とういメッセージが出力されるので、 refresh コマンドが成 功したと思うかもしれません。 しかし、 DNS サーバー ( マスターサーバー ) のメッセー ジ ( 図 19 ー b ) をみると、、、 cannot refresh: no masters と表示され、ゾーン輯去に失敗しています。 DNS サーバーは、いったんは refresh のリクエストを 受け取ったものの、指定された example.com ゾーンのス レープサーバーではないため、ゾーン転送を要求しません 108 ・ゾーンの転送は発生しなかった し、自分からスレープサーバーにゾーン情報を送りつけた りもしません。 ☆ てください。指定できるコマンドの一覧か表示されます。 卿未がある方は引数を付けずに rndc プログラムを実行し こでは紹介しなかった rndc のコマンドもあるので、 ます。 インしなくても、リモートから DNS サーバーを管理でき rndc プログラムを利用すれば、 DNS サーバーにログ などを、後半ではプログラムの使用例を中心にお話ししま ・セキュリティを守るための設疋 ・ named. conf ファイルの変更 ・疋ファイル rndc. conf の作成 前半ではこのプログラムを使う前準備として、 とりあげました。 今回は、 DNS サーバーを制御する rndc プログラムを UNIX MAGAZINE 2006.2 ( あらい・みちこ Rworks)

7. UNIX MAGAZINE 2006年2月号

ネットワー 図 13 rndc status" の実行結果 $ /usr/local/sbin/rndc status number of zones : 1 ー 1 つのゾーンを管理している debug level : 0 xfers running: 0 ーゾーン転送の状態 xfers deferred: 0 soa queries in progress : 0 ー問合せ中の SOA レコード数 query 1099in9 is OFF recursive clients: 0 / 1000 ・一クライアントの接続状態 tcp clients: 0 / 100 server is up and running<•——•••—-••--•——---—•— DNS サーバーは動作中 図 14 rndc stats" の実行結果と出力内容 (a) s ね ts コマンドを実行した様子 $ /usr/local/sbin/rndc stats $ ・一メッセージは表示されない + + + Statistics Dump + + + ( 1134738817 ) (b) /etc/namedb/named. stats ファイルの内容 ク・ミニ実験室の SUCCESS 1 referral 0 nxrrset 0 nxdoma in 1 0 failure 0 Statistics Dump 1 回の stats コマンドで出力された内容 ( 113 4 73 8 817 ) Update の解説をしたあとで説明する予定なので、今回は 触れません。 DNS サーバーの状態を調べる UNIX MAGAZ 工 NE 2006 . 2 ログラム実行後、何もメッセージを表示せず静かに終了し 図 14 ー a はこのコマンドを実行したときの様子です。プ ドはファイル (named. stats) に出力します。 面 ) にサーバーの状態を表小するのに対して、 stats コマン rndc stats があります。 status コマンドカ鰾準出力 ( 画 DNS サーバーの状態を調べるコマンドには、ほかにも などが分かります。 接続中のクライアント数 ・ゾーン輯医の状態 ・ DNS サーバーが管理しているゾーンの数 ンドでは、 このコマンドを実行したときの出力結果です。 status コマ サーバーのた態を調べるコマンドの 1 つです。図 13 は、 rndc の動作確認のときに実行した rndc status は、 を調べられます。 rndc プログラムを使えば、 DNS サーバーの現在の状態 ています。 存されます。 named. conf ファイルの options ステート なお、 named. stats ファイルは DNS サーバー側に保 たものになっています ( 図 14 ー b ) 。 stats コマンドは DNS サーバーへの問合せ結果をまとめ マンドが DNS サーバーの動作状態を表示するのに対し、 出力内容も status コマンドとは違います。 status コ メントが、 options { directory となっていると、 "/etc/namedb" ・ /etc/namedb/named. stats に出力カ褓存されます。 DNS サーバーの停止 rndc には、 rndc stop と rndc halt の 2 種類のサ ーバー停止コマンドが用意されています。 stop コマンドは DNS サーバーを安全に停止するコマ ンドです。マスターファイルに Dynamic Update や差 105

8. UNIX MAGAZINE 2006年2月号

U 鬮※ ~ M00 引 e で e - ラーニングサイトを作る 連載 144 林檎の暮らし・・・・・谷崎文義 XI 1 環境の整備 UN Ⅸ便利帖・・ " 宮下健輔 電子辞書の利用 し inux のツールたち・・・・・・横垣駿雄 歩行プログラムの仕様変更 ロポットのある暮らし・・・・・・榊正憲 索引ナビゲータ インターフェイスの街角・・・・・・増井俊之 News Notice 9 News lnterop New York 2005 ・・・・・・小林和真 SOA と BRMS ・ 20 CoIumn ・・・國安治 ・ " 四本淑三 95 129 137 143 1 15 My Life With - なめらかなコンヒューティング・・・・・・中嶋謙互 ワークステーションのおと・・・・・・坂下秀 NetNews 便り・・・・・・みるく NEWS from jus 読者アンケートのお知らせ UN IX MAGAZIN E vo し 21 # 2 2006 年 2 月号 ( 通巻 232 号 ) 2006 年 2 月 1 日発行 発行所・株式会社アスキー〒 102-8584 東京都千代田区九段北 1 -13-5 日本地所第一ビル営業局電話 03-6888-5500 ・発行人 / 福岡俊弘・編集人 / 土屋信明・編集長 / 大久保讓治・ Edito 「・ s Network Address: unixmag@ascii ・ co ・ jp ・編集 / 川崎通紀岸竜次久保田考 ・出版営業担当 / 佐々木直坂本洋史・出版広告担当 / 木原京ー吉田陽ー宇田川知子 、・生産管理担当休村俊彦 禁転載◎ 2006 ASC Co 「 po ion 1070602 印刷 / 東京書籍印刷株式会社 Printed in Japan ューザーサポート専用電話 Tel 03-6888-5969 受付時間 : 13 : 00 ~ 18 : 00 ( 土日・祝日を除く ) 本誌の内容に直接関係のないご質問にはお答えできません。

9. UNIX MAGAZINE 2006年2月号

ネットワークと セキュリティ 白畑真 統合ホスト型侵入検知システム OSSEC HIDS 今回は、統合ホスト型 IDS である OSSEC HIDS のイ ンストールと設定について説明します。 ホスト型 IDS とは 侵入検知システム (IDS : lntrusion Detection Sys- tem) は、監視対象によってネットワーク型 IDS (NIDS) とホスト型 IDS (HIDS) の 2 種類に分類できます。ネッ トワーク型 IDS はネットワークのトラフィックを監視し、 侵入と思われる通信を検知するシステムで、 2004 年 11 月 号で紹介した Snort などカ陏名です。 一方、今回とりあげるホスト型 IDS は、ホスト上の動作 やログなどを監視し、侵入と考えられる事象を検知するシ ステムです。ーロにホスト型 IDS といっても、その動作 方式や検知対象はさまざまです。以下に、おもなホスト型 IDS を動作方式によって分類してみます。 ファイル整合性チェックツール ファイル整合性チェックツールは、システム上のファイ ルの変更状況を調べて管理者に通知するツールです。一般 的なファイル整合性チェックツールでは、まず、 MD5 や SHA-I などのハッシュ関数を用いてシステム上のファイ ルのチェックサムを算出し、それをデータベースに保管し ます。その後、定期的にファイルのチェックサムを算出し てデータベース上の値と比較することで、ファイルの変更 の有無をチェックします。 ファイル整合性チェックをおこなうツールとしては、次 のようなソフトウェアカ陏名です。 ・ Tr1pW1re http://www.tripwire.org/ 46 AIDE (Advanced lntrusion Detection Environ- ment ) http://sourceforge.net/projects/aide ・ Samhain http://la-samhna.de/samhain/ ログ・チェックツール ログ・チェックツールは、 syslog や Apache などのロ グファイルに、パスワードの誤入力など、あらかじめ管理 者によって定義された文字列がみつかったときに通知など をおこなうツールです。 プログラムの異常終了やエラーメッセージカ第己録された 場合、 NIDS などとは異なり、プログラムの動作をもとに した対処がおこなえます。おもなログ・チェックツールと しては、下記のソフトウェアが有名です。 ・ swat ch ftp://ftp.cert.dfn.de/pub/tools/audit/swatch/ Logsurfer http://www.cert.dfn.de/eng/logsurf/ ・ logcheck http://sourceforge.net/projects/sentrytools Rootkit 検知ツール Rootkit とは、侵入者がホストに侵入した痕跡を消した り、バックドアを設置するためのツール群です 1 。侵入者は ホストへの侵入後、ログから侵入に関連した箇所を隠滅し たり、バックドアや IRC ボット、 DoS 攻撃ツールなどの プログラムをインストールすることがあります。 1 Rootkit という言葉の明確な定義はなく、上記とは異なる未で用いられ ている場合があります。 UNIX MAGAZINE 2006 . 2

10. UNIX MAGAZINE 2006年2月号

連載 / ネットワークとセキュリティ UNIX 系 OS で Rootkit を検出するツールとしては、 イルの存在自体を隠蔽する手法もあります。 を用いることでシステムコールを改竄し、プロセスやファ かれてしまうこともあるため、 LoadabIe KerneI ModuIe また、たんにファイルを改竄しただけでは、管理者に気づ スがあります。 マンドを用意しておき、本物のコマンドを上書きするケー セスのみを表示しないように改竄した ps コマンドや ls コ 在を隠蔽するため、不正プログラム関連のファイルやプロ っては不都合です。そこで、これらの不正プログラムの存 せると、管理者にその存在を気づかれやすく、侵入者にと これらのプログラムを通常のプログラムと同様に動作さ 蔽するツールをまとめたものを Rootkit と呼びます。 このような不正プログラム、あるいはこれらの存在を隠 rootkit-hunter. html http://www.rootkit.nl/projects/ ・ Rootkit Hunter http://www.chkrootkit.org/ ・ chkrootkit 下記のものカ陏名です。 になりました。 XCP には、ファイル名が $ sys $ から始ま Windows 用 Rootkit が含まれていたとして大きな問題 最近では、 SONY BMG の CD に「 XCP 」という る場合にそのファイルの存在を隠蔽する機能があり、 らがウイルスなどに悪用されています。 OSSEC HIDS の導入 これ OSSEC HIDS は、 DanieI B. Cid 氏によって開発さ れたホスト型 IDS で、ファイル整合性チェック、ログチェ ック、 Rootkit 検知の機能を備えています。 OSSEC HIDS では、単一ホストのみで運用するローカ ル運用と、ネットワークを介した運用がおこなえます。後 者の方法では、 OSSEC HIDS か彳家動 3- るホストから情報 を収集し、一括管理できます。今回は、ローカル運用に絞 って説明します。 インストールの手順 こでは、 1 台のホストで OSSEC HIDS を運用する 環境でのインストール方法について説明します。 UNIX MAGAZINE 2006.2 原稿執筆時点での OSSEC HIDS の最新バージョンは 0.5 です。今回は、 OSSEC HIDS 0.5 を Red Hat En- terprise Linux 4 のクローン・ディストリビューション CentOS 4.2 上で利用する肘是で説明を進めます。 なお、 FAQ によれば、 OSSEC HIDS は POSIX 互換 システムで動作し、 Red Hat Linux 8 / 9 、 Fedora Core 2 / 3 などの Linux ディストリビューション、 OpenBSD 3.5 / 3.6 / 3.7 、 FreeBSD 5.2.1 / 4.10 ー BETA 、 Mac OS X といった BSD 系 OS 、 SoIaris 9 などでの動作カ蔀寉認 されているそうです。 まず、 Web サイトから OSSEC HIDS のアーカイプを 入手します。アーカイプは、 ・ http://www.ossec.net/hids/index.php の、 Downloads" から入手できます。 ファイルをダウンロードしたら、 SHA-I チェックサム を確認します。チェックサムの値が F 記と同じであればオ リジナルのアーカイプと同一です ( 誌面の都合上、で折 り返しています。以下同様 ) 。 $ shalsum ossec—hids-0.5. tar ・ gz f4080d9ea9C202227232285eb5062C4a7717aae7 => *ossec—hids—0.5. tar ・ gz 続いて、入手したアーカイプを展開します。 $ tar xvzf ossec—hids-O. 5. tar. gz 次に、作成されたディレクトリに移動します。 $ cd ossec—hids-O . 5 そして、 r 。。 t になってインストール・スクリプトを実行 します 2 。 $ su # . /install . sh 以下に、スクリプトによるインストールの手川頁を示しま す。各機能の細かい設疋については、朝行で説明します。 インストール・スクリプトか起動すると、コンパイラがイ ンストールされている場合には図 1 の画面になります。イ 2 . /install. sh は、プログラムのコンパイルだけでなく、インストール先デ ィレクトリ乍成、 OSSEC 実行用アカウント乍成などもおこなうため、 root で実行する必要があります。本来は root 欟艮でのコンパイルは避け たほうがよいのですが、 . /install.sh を利用しない場合には、手でイン ストール作業をしなければならないため、今回はスクリプトを利用する方法を 紹介します。 47