システムのセキュリティ・レベルを保つには,各ホストの要塞(ようさい)化 *1 が欠かさせない。要塞化については,このコラムで何度も取り上げており,筆者も以前「パッケージに学ぶ,OS要塞化のヒント」と題し,OSの要塞化を支援するパッケージについて紹介した。しかし,パッケージ以外にも要塞化に役立つ情報やツールは多数存在する。例えば,OSベンダーが提供する技術資料やツールが挙げられる。無償で提供されているこれらを使わない手はない。そこで今回のコラムでは,米Sun Microsystemsが提供しているツール「JumpStart」を紹介したい。
*1 要塞化:セキュリティ・ホールをふさいだり,不要の機能を停止したり,適当なアクセス・コントロールを行うなどの対策を施して,セキュリティを強化すること。
インストールを自動化するJumpStart
数あるベンダー情報の中で見逃してはならないサイトのひとつが Sun Microsystems社の「Sun Blueprints」である。同サイトの「Security」カテゴリに置かれているホワイト・ペーパーに目を通したことがあるシステム管理者は多いだろう。しかし,今回紹介したいのは別のカテゴリ「Scripts and Tools」で紹介されている「JumpStart」である。
要塞化を施す場合には,(i)まず最小限の構成でOSをインストールし,(ii)その後必要に応じて不要な機能を削除する。(iii)そして提供したいアプリケーションをインストールし,(iv)OS とアプリケーションに適切なアクセス・コントロールを施す---という手順で進める。しかし,管理者(ここでは実際に作業するユーザーを指す)の熟練度には個人差があるだろうし,作業対象のマシンが多い場合にはミスが発生する可能性もある。そこで期待されるのが処理の自動化である。それを可能にするのが JumpStart だ。
JumpStart には次のような特徴がある。
- 画面に表示されたボタンを押すだけでインストールが可能
- 複数のシステムや OS バージョンをサポート
- それぞれのサイトのニーズに合ったカスタマイズが可能
これらの特徴を生かせば,効率よく要塞化を行うツールとして利用できる(Jumpstartについての詳細は「Solaris Advanced Installation Guide」を参照のこと)。それでは次に,実際の利用手順を説明しよう。
JumpStart の利用手順
JumpStartの利用に当たっては,まず次の4種類のコンピュータを用意する必要がある。
- 要塞化の対象となるコンピュータ(Target)
- 対象とするコンピュータをネットワーク経由で起動させるためのコンピュータ(Boot Server)
- Jumpstartの様々な設定情報を格納するコンピュータ(Configuration Server)
- Solaris のイメージ・ファイル,必要なパッチ群を収めたコンピュータ(Install Server)
JumpStart の利点は,2 から 4 までのコンピュータと同じネットワークに接続している複数の 1 に対して,一度にインストールできる点にある。そのため,多数のSparc Stationに対して要塞化を施す際には,インストール用のネットワークを仮設し,対象とするコンピュータすべてを接続して作業すれば手間を大幅に削減できる。
Jumpstartを利用した要塞化の具体的な手順は次のようになる。
- Boot Server に Target を起動させるための設定をする
- Configuration Server に個々のTarget コンピュータ用の要塞化項目などを設定する
- Install Server へ OSやパッチ群を格納する
- Boot Server から Targetを起動する
以上の手順の中で,2 において Target ごとに要塞化項目などを設定できることも JumpStart の大きな利点である。「インストールしたいのは同じバージョンの OS ではあるが,コンピュータによって若干設定を変えたい」といったケースでも一度に作業することが可能なのだ。
2 についてもう少し詳しく説明すると,Configuration Server では次のような項目を設定できる。
- インストール時に選択するパッケージ
- ハード・ディスクのパーティションとマウント先
- ネットワークへ接続するための情報(ネットマスクやIP アドレスなど)
- 要塞化を施すために必要な設定
「要塞化を施すために必要な設定」の対象となるのは具体的に次のようなファイルである。
- Target の「/etc」以下の設定ファイル群
- root用および一般ユーザー用シェルの初期設定ファイル これらの設定ファイルに対して,例えば次のような処理を行える。
- 「/etc/rc.*」以下から起動されうる不要なサービスの停止
- BSM (Basic Security Module) の有効化
- 必要なアカウントの追加,不要なアカウントの削除
- 必要なアカウントへのデフォルト・パスワードと有効期間の設定
- ndd コマンドを利用したシステム・チューニングの設定
- デフォルト umask の設定
- 一時利用領域の制限値の設定
- ログファイルのデフォルト・パーミッションの設定
JumpStart を使うことで効率良く要塞化できることが分かってもらえただろうか。非常に有効なツールである。ぜひ活用してほしい。
ただし注意しなければいけない点がある。インストール用に仮設したネットワークをそのまま運用中のネットワークに接続してはいけない,ということである。予定した要塞化作業がすべて完了したことを確認し,JumpStart を使うために設置したコンピュータを取り除くまでは,運用中のネットワークに接続してはならない。
なお,Sun Microsystems社は Jumpstart をより効率的に利用するためのツールを用意している *2。機会があればそのツールについてもこのコラムで触れたいと思う。
*2:参考URLは http://www.sun.com/blueprints/0700/jssec.pdf,http://www.sun.com/blueprints/0800/jssec2.pdf,http://www.sun.com/blueprints/0900/jssec3.pdf
坂井順行 (SAKAI Yoriyuki)
株式会社ラック コンピュータセキュリティ研究所
sakai@lac.co.jp
IT Proセキュリティ・サイトが提供する「今週のSecurity Check [一般編]」は,その週に起きたUNIX関連およびセキュリティ全般のニュースや動向をまとめた週刊コラムです。セキュリティ・ベンダーである「株式会社ラック」のスタッフの方を執筆陣に迎え,専門家の立場から解説していただきます。