OS パッケージを設定をする


OS パッケージとは

OS に搭載されているパッケージ管理システムによって管理される一つのソフトウェアの集合体で、そのソフトウェアに関連するファイルの一式がまとまっているものを「OS パッケージ」または「パッケージ」と呼びます。代表的なものに、RedHat Enterprise Linux や CentOS などで使用されている RPM、Debian GNU/Linux や Ubuntu Linux などで使用されている dpkg などがあります。
各 OS ベンダーは、OS パッケージで不具合や脆弱性の修正プログラム(いわゆるパッチプログラム)を提供しており、多くのユーザがパッケージ管理システムによって OS のソフトウェアを管理しています。SIDfm RA では、これらの OS パッケージ情報と脆弱性情報のマッチングを行うことで確実かつ効率的な脆弱性管理を行います。

SIDfm™ RA は以下の OS パッケージに対応しています(2019 年 07 月現在)

  • RedHat Enterprise Linux 6 / 7 / 8 の RPM
  • CentOS 6 / 7 の RPM
  • Amazon Linux AMI 1 /2 の RPM

OS パッケージ登録のメリット

SIDfm™ RA で OS パッケージ情報をホストから収集することで、以下のメリットがもたらされます。

脆弱性の検出を確実にする

実在するホストから、リアルな構成情報として OS パッケージの情報を収集することで、SIDfm™ RA では他の一般的な脆弱性管理ソリューションが実施する脆弱性診断(スキャン)ベースの推定よりも確実に脆弱性を検出することができます。

自動化により脆弱性管理効率を高める

定期的に OS パッケージ情報をホストから SIDfm™ RA へ送り込むことによって、その状態遷移を SIDfm™ RA が記録します。脆弱性が発見された場合には、その脆弱性を含む OS パッケージが本当に使用されているかのチェックを自動的に行った上で、脆弱性が存在することを画面に表示し場合によってはユーザへ通知します。脆弱性を含む OS パッケージのアップデートパッケージが適用された後には、自動的にセキュリティホールの状態を対処済に変更し記録します。

OS パッケージ情報の内容について

具体的には、パッケージ情報は RPM の場合以下の情報で構成されています。
例 : パッケージ名 libogg-1.1.4-2.1.el6.x86_64.rpm の場合

パッケージ名 バージョン番号 リリース番号 アーキテクチャ
libogg 1.1.4 2.1.el6 x86_64

OS パッケージ情報設定が可能なユーザ

OS パッケージ情報の設定を行うことができるのは、「SID 管理者」および「担当者」と呼ばれる権限が設定されたログイン ID を持つユーザです。 ホストの新規登録時、もしくはホストの登録設定後のホスト詳細画面で OS パッケージの設定を行うことができます。

OS パッケージ情報の送信元について

OS パッケージを登録する場合、二通りの方法があります。 どちらの方法においても、対象のホストから OS パッケージ情報を取得し、SIDfm™ RA に OS パッケージ情報を送信することになりますが、OS パッケージ情報をどこから送信するかが異なります。

「ユーザ端末から」設定画面のフォームへ手入力で登録する

ユーザが SIDfm™ RA の OS パッケージ登録画面に、ホスト内から取得してきた OS パッケージ情報を手入力で貼り付けることで、直接ホストは介在せずユーザの端末から SIDfm™ RA に情報を送信します。

「ホストから」スクリプトを実行して登録する

ユーザが SIDfm™ RA の OS パッケージ登録画面に出力された「パッケージ情報更新スクリプト」をホストに配置し、ホスト側でそのスクリプトを実行することで、直接ホストから OS パッケージ情報を SIDfm™ RA のサーバへ送信します。この場合、ホストから外部への HTTPS 通信が許可されている必要がありますので、ご注意ください。

OS パッケージ情報の送信タイミング

新規にホストを登録した場合には、可能な限り早く OS パッケージ情報を送信してください。OS パッケージによる脆弱性管理が基本のホストでは、OS パッケージ情報が届かない限り、OS パッケージが無いホストとされてしまうため、セキュリティホール情報は発生しない状態が続きます。
初回登録を済ませた後は SIDfm™ RA へ OS パッケージ情報を送信するタイミングは任意ですが、各ホストにて OS パッケージを更新した直後がタイミングとしては最も短い間隔で登録することになります。ジョブ管理システムなどを使った定期コマンド実行の場合には、アップデート実行のジョブが正常に終了した後に、SIDfm™ RA へ OS パッケージ情報を送信するスクリプトをジョブとして追加することを推奨します。 ジョブ管理システムなどの大掛かりな仕組みでなくとも、各ホストの Cron デーモンでスクリプトを一日一回実行するだけでも大きな管理効率アップに繋がります。

OS パッケージ情報の設定方法

前準備

OS パッケージの登録を行う前に、対象のホストにターミナル経由で任意の一般ユーザにログインし、コマンドが実行できるようにしてください。なお、スクリプトファイルを配置する場合には、配置場所によっては管理者権限が必要になる場合があります。また、対象ホストが複数の場合には、各ホストにおいてそれぞれ個別のスクリプトを配置する必要があります。

ホスト登録直後に手入力で OS パッケージを登録する場合

  1. ホスト登録の続きから OS パッケージを登録します。まず「フォームへの手入力で登録する」をクリックします。
  2. ダイアログに表示される内容に従い、対象ホストでのコマンドを実行します。具体的には、以下のコマンドを実行します。
    $ cat /var/log/rpmpkgs

    または、

    $ rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}.rpm\n'
  3. ※対象ホストの環境によっては、/var/log/rpmpkgs ファイルが存在しない場合があります。その際は rpm コマンドによる出力をお試しください。

  4. 対象ホストでのコマンドの実行結果をコピーし、フォームに貼り付けます。
  5. 「上記の内容で登録する」をクリックします。

以上で、OS パッケージの登録は完了です。
手入力での登録のため、OS パッケージ情報が更新された際には再度入力を行う必要があります。可能であれば「ホスト登録直後にスクリプト実行で OS パッケージを登録する場合」のように自動的に定期実行されるように設定すると省力化することができます。

ホスト登録直後にスクリプト実行で OS パッケージを登録する場合

  1. ホスト登録の続きから OS パッケージを登録します。「ホスト側でスクリプトを実行して登録する」をクリックします。
  2. ダイアログに表示されているスクリプトをコピーし、対象ホストに sidfmra-autoupdater.sh という名前のスクリプトを配置します。
  3. コピーしたファイル sidfmra-autoupdater.sh に実行権限を付与し、Cron で一日一回実行されるように設定します。
  4. $ chmod 755 sidfmra-autoupdater.sh
      $ ./sidfmra-autoupdater.sh
      Package list has been updated.
      $ mv sidfmra-autoupdater.sh /etc/cron.daily/

    定期実行の前に、一度スクリプトを実行しておくことを推奨します。これはスクリプトのエラー確認と初期 OS パッケージの登録をかねています。
    対象ホストがプロキシ環境下であり、プロキシサーバを経由する必要がある場合にはスクリプトの内容を一部変更する必要があります。 その場合には、スクリプト中の #ALL_PROXY の「#」を外し、username, password, proxy server, port をそれぞれ実際の値に変更して保存してください。

    #ALL_PROXY=:@http://:; export ALL_PROXY

    変更例 : username, password 無しの場合

    ALL_PROXY=http://proxyserver.softek.co.jp:8080; export ALL_PROXY

以上で、OS パッケージの登録は完了です。
もし、スクリプトによる自動実行に問題がある場合は Cron の設定を外して手入力に切り替える方法をご検討ください。

後から OS パッケージを登録する場合

  1. ホスト登録の続きから「今は登録しない」を選択した場合、後からあらためて OS パッケージを登録することになります。(登録を行うまではホストには関連するセキュリティホールが現れませんので、可能な限り早めに OS パッケージを登録することを推奨します。)
  2. 「リスク管理」-「ホスト脆弱度の状況 サマリー」にて、対象ホスト名(ここでは tssrv04)をクリックすると、「ホストのセキュリティ脆弱性リスク」画面に遷移し、その「ホストの脆弱性リスクの詳細」の右側の「ホスト詳細」をクリックします。
  3. まだ OS パッケージが登録されていない状態のホスト詳細が表示されます。
  4. ホスト側でスクリプトを実行して OS パッケージを登録する場合には「パッケージ情報更新スクリプトを表示する」をクリックし、ホスト登録直後にスクリプト実行で OS パッケージを登録する場合と同じ手順で登録してください。
    手入力で OS パッケージを登録する場合には「内容の変更を行う」をクリックし、「ホスト登録直後に手入力で OS パッケージを登録する」手順で登録してください。