Bastilleの実体は一連のPerlスクリプト群であるが、その実行時には、システムセキュリティの強化設定プロセスをインタラクティブに行う1つのプログラムとして動作するようになっている。スクリプト群で実行される各ステップについては、設定対象となるセキュリティ機能やそうした設定変更の意味およびその結果生じる影響の説明が、個々の操作時に表示される。なおBastille上で各ユーザの指定した設定内容については、別ファイルへの書き出し機能を介して他のマシン上で流用することも可能である。
Bastilleが現状で対応しているディストリビューションは、Red Hat、Fedora、SUSE、Debian、Ubuntu、Gentoo、Mandrivaであるが、HP-UXで使用することもできる。またベータバージョンではあるがMac OS Xで利用できるものも存在している。Bastilleのサポートするこれらディストリビューションの大部分では、各ディストリビューションごとに用意されているデフォルトのパッケージマネージャから単一のパッケージとしてBastilleをインストールできるようになっている。インストール後のBastilleを実行するにはroot権限が必要であるが、その際には次のような各種オプションが指定できる。
「 bastille --assess 」と指定すると、Bastilleはassessment(評価)モードで実行される。このモードでは、ユーザの指定するウェイト(重み付け)セットに応じた相対的なセキュリティレベルが判定され、現行のシステム設定におけるセキュリティのグレード評価が行われる。個々の評価対象に対するウェイト指定は、Bastilleのデフォルト設定をそのまま使うことも、ユーザが個別に指定することもできる。ただし、このオプションが利用できるディストリビューションはRed HatとSUSE Linuxだけである。
「 bastille -x 」を指定するとBastilleはPerl-Tkを使用したデフォルトのGUIモードで実行されるが、「 bastille -c 」を指定するとコンソールモードで実行される。
「 bastille --log 」を指定すると、ユーザの指定した変更内容を実際に適用することなく、Bastilleを介して行われるシステム設定の変更がログとしてのみ記録される。
Bastilleによる設定変更が完了すると、TODOというリストが/var/log/Bastille/TODOに作成されるが、この中には現状以上のセキュリティ強化に使えるその他の設定オプションが提示されている。
Bastilleで行った変更結果が意に反したものであった場合は、「 bastille -r 」を実行することで変更前の設定を復帰させることができる。ただしこの操作に関しては、Bastilleによる設定変更から長時間が経過していたり、ユーザの手作業による多数の設定変更を追加していた場合はうまく機能しない可能性もあるので注意が必要だ。
実行前の準備
各自のシステムでBastilleを実行する際には、セキュリティ関連を始めとする最新のパッチが適用済みであるかを事前に確認しておく必要がある。
また、こうしたシステムのセキュリティ強化用設定を施す場合は、いくつかの基本原則が存在する。
- コンピュータにインストールするプログラムは実際に必要なものだけに限定しておくべきであり、特にサーバの場合はこの原則が当てはまる。これは仮にシステムに侵入された際に、被害を受ける範囲を局限化させるための措置である。
- 複数のセキュリティ機構をシステムコンポーネントに施して、総合的なセキュリティを確保することを検討しておく。この場合は仮に1つのセキュリティが突破されても、他のセキュリティがバックアップとして機能する。例えば、印刷サービスを侵入路とする手口に対しては、防御網の第一陣としてファイヤーウォールを展開しておく。そして第二陣としては特定のIPアドレスだけが印刷サービスを利用できるようにして、その危険度を可能な限り下げておくことが考えられる。また第三陣として、印刷サービスを必要としないシステムに関しては、同サービスの実行そのものを停止しておくことも可能である。
- アクセス権限の適用範囲は最小限に留めておく。個々のユーザ、サービス、システムコンポーネントがアクセスできる範囲は、必要最小限のリソースのみとしておくべきである。
