EnGarde――インストールは鬼門だが高度にセキュアなディストリビューション

  EnGarde はGNU/Linuxベースのオペレーティングシステムの1つであり、その作成元であるGuardian Digitalが目指したのは、高度なセキュリティと簡単な管理性を両立させたシステムを構築することである。必要最小限な構成とすることで脆弱性を減らすというのがEnGardeの基本方針であり、SELinuxの厳格なアプリケーションポリシを基にセキュリティ中心の調整が施されたデフォルト設定を用意することで、サーバ用途に適した優れたシステムに仕上げられている。とはいうものの、それを実感できるまでには1つの鬼門が立ちはだかっていた……。

 EnGardeのインストーラは、その開発方針からもある程度予想できることだが、今時珍しいテキストベースのシステムが用意されている。ブート手順における1番目のステップはパスワード設定だが、これはrootだけでなくライブCDに用意されたWebベース管理ツールWebToolでも使用されるものである。2番目のステップはIPアドレスの割り当て方法で、ここでは、DHCP、スタティック、ネットワーク不使用という選択が行える。3番目のステップでは、インストーラとライブCDのどちらで起動するかを指定する。ここで予め注意しておくが、ややこしいことにインストーラでの起動を行うと、その後の処理ではステップ1で入力したパスワードが使用されなくなるのである。

 使用する言語の選択後、インストール途中でキャンセル用のボタンをクリックするとシステムがリブートされるという旨のメッセージが提示されたが、該当するボタンはどこにも見あたらなかった。またディスクのパーティショニングに関しては、自動または手動での実行が選択できるが、これ自体は特に驚くにあたらない仕様だろう。ところが実際にEnGardeの手動パーティションを使ってみると、悪い意味で驚かされることになる。というのは、使用するドライブを選択するとEnGardeがこれを空きドライブとしてマーキングし、ユーザに対して、ブート、スワップ、ルートパーティションの追加を求めてくる。ここまではいいとしよう。ところが私の意図としては、既に作成済みパーティションを使用することを考えていたのだ。そこでHelpボタンをクリックしたところオンラインドキュメントが別途用意されている旨が知らされ、これにより画面上に配置されたボタン群の詳細が判明したのだが、結局のところ既存パーティションを使用するという機能はそもそも用意されていなかったのである。

engarde1_thumb.png
EnGardeのWebTool

 EnGardeを使用するのにドライブ全体を消去するつもりは毛頭なかったため、インストールを一度キャンセルしてドキュメント類をチェックすることにした。一見すると、各種のプログラムやタスクの実行法に関する非常に充実したドキュメントが整備されているよう感じられたのだが、実際にInstallationと題されたリンクをクリックして表示されたのは、インストール関係のドキュメントはまだ用意されていないことを告げる一文だけだったのである。この件についてはGuardian Digitalの担当者に質問してみたところ、インストーラは現在改良中で関連ドキュメントの作成も計画されていると説明はされたものの、具体的な完成の目処は何も答えてくれなかった。

 なおメインのドキュメント以外にもフォーラムとwikiが運営されているのだが、そこでもインストールに関するガイドを見つけることはできなかった。

 結局、ドライブ全体を消去しても構わないシステムを用意してEnGardeインストーラを再実行することにした。指示どおりにパーティションを追加するとパッケージ選択画面が表示され、そこで提示されたのが、データベースサーバ、DNSサーバ、ファイヤウォール、メールサービス、ネットワーク侵入検出機構、Webサービスの全部ないし一部をインストールするかのオプションである。今回私はファイヤウォールを除くすべてを選択した。その次に提示されたのは複数のネットワークカードを個別に設定するかのオプションであるのだが、以前にインストーラ画面にあった説明とは異なり、DHCP選択用のオプションは示されなかった。そのため、スタティックなアドレス指定をすることを余儀なくされた。その際に、今回のセットアップはローカルDNSサーバを用意することが目的であったため、当該システム自身をDNSサーバとして使用させるよう指定をした。この指定がトラブルを生じさせるとは予想しなかったが、それが甘い考えであることが後に証明されることになる。

 必要なファイル群のEnGardeによるコピー作業は短時間で完了し、その次に表示されたのはWebTool用のユーザ名とパスワードの入力画面である。rootパスワードに関しては特に何も説明が付けられていなかったので、私はここで入力したパスワードか、ライブCDからのインストール時に入力しておいたパスワードのどちらかが使用されるのだと考えていた。ところが初回起動時にシステムへのログインを試みたところ、どちらのパスワードも受け付けられなかったのである。何が原因なのか見当が付かなかったため、先に指定したユーザ名/パスワードのペアを用いてWebブラウザ上にWebToolページを呼び出してみた。するとWebToolにシステムの初期設定用フォームが表示されたのだが、設定項目の中にはrootパスワードも含まれていたのである。またページのトップに目を移すと、別フォームらしき部分にてGuardian Digitalネットワークへのログインオプション(および新規登録用のオプション)が表示されていた。ところが、この初期設定用フォームに必要事項を記入した後に送信ボタンをクリックしたところ、ここでの設定作業はGuardian Digitalネットワークにログインした後でないとできないという旨のメッセージが出されたのである。冗談ではない、登録前のユーザはEnGardeのシステムにアクセスできないのだ。インストール途中の説明にしろ関連サイトでの解説にしろ、こうした仕様となっていることは一言も触れられていなかったし、ディストリビューション本体のダウンロードも登録無しで実行できるのにである。このようにコンピュータからアクセスを拒絶されたユーザとしてできるのは、改めて登録をするか、ライブCDからやり直してパスワードを書き換えるかである。

engarde2_thumb.png
EnGardeのWebTool(2)

 ユーザ登録を強要されるシステムには甚だ憤慨させられたが、もともとそうした仕様であるならば逆らっても無駄である。ところが改めて登録ボタンを押しても、今度はサーバへの接続がされないのだ。その際に表示されたのは「Error creating account, please try again later and contact Guardian Digital if you have any further problems」(アカウント作成でエラーが発生したので、再度やり直すか、その他の問題が生じている場合はGuardian Digitalにまでご連絡ください)という不可解なエラーメッセージであるが、幸運なことに今回は問題の原因がはっきりしていた。先に触れたように、私のセットアップではDNSサーバをローカルホストに設定していたのだ。この設定自体は私のミスとも言えるが、ログインをするには当該マシンからのインターネットアクセスが必要である点については、事前に何も告知されていなかったのである。

 この種の設定のうちでもDNSサーバの変更などは簡単に済ませられて然るべき操作のはずだが、このディストリビューションの場合、ログインした上で設定ファイルを書き換える以外にこの変更は行えないようになっている。結局、再度ライブCDからのブートまで遡り、必要な変更をするしかなかった。

 LinuxのインストールCDの挿入からログインまでに手間取らせられた経験という点において、掛け値なしに今回は最悪のものであった。だが辛抱強く作業を続けた苦労は報われ、Guardian Digitalネットワークへの登録終了後はrootパスワードの設定およびシステムへのアクセスが可能となってくれた。

 WebToolの初期設定画面が終了すると、通常のメンテナンスレベルにおいてシステムへのログインが直接必要となるケースは、皆無とまでは行かないが非常に頻度の少ないことが判明した。そして成熟とはほど遠いインストーラとは対照的に、EnGardeのWebToolは非常に洗練された仕上がりになっていたのである。アップデートモジュールによってシステムが最新状態であることを確認した後インストールした各種サービスの設定プロセスへと進んだが、この作業自体は簡単であったものの、今回は謳い文句通りに高度なセキュリティが素の状態のシステムで確立されているのかを検証することが目的であったので、可能な限りデフォルト設定のままにしておくことにした。

 EnGardeがその本領を発揮したのは、ここから先の話である。詳細の説明は省くことにするが、今回私は様々な手法を用いてネットワーク経由によるEnGardeシステムへの侵入を試してみた。ところが試験的に実行したスキャン行為はすべてSnortにより検出され、その内訳もログ記録を通じてWebTool上で確認できたのである。また実行中の各種ネットワークサービスに対しても、リモートから利用可能な進入路は確認できなかった。次にもう一段巧妙な手口として、正規のユーザアカウントを作成した上でそこからroot権限を取得できないかを試してみた。結果、この試みも成功しなかったのである。私自身は凄腕のクラッカーを自認するほどの腕前ではないが、セキュリティ関連の講座はいくつか受講しているし、スクリプトキディーと呼ばれる幼稚なクラッカー連中よりはよほど裏側の手口を心得ていると考えていいだろう。FTP、Web、データベース、SMTPなど複数のサービスを実行させているシステムでこれだけの防御力を発揮できたことを鑑みると、デフォルト状態で充分なセキュリティの施されたシステムを提供するという試みにおいて、Guardian Digitalは大きな貢献を果たしたと評せるはずである。

 このようにEnGardeは、セキュリティと管理性を両立させたサーバとして利用可能であることを自ら証明したのであるが、その前にはインストールという関門が立ちはだかっている。高度なセキュリティと簡単な管理性の両立というのはEnGardeの掲げる謳い文句ではあるが、総合評価としてはそれに恥じぬレベルに仕上がっているよう感じられる。洗練さとはほど遠いインストールシステムと強制的なユーザ登録制度には辟易させられるかもしれないが、EnGardeがその本領を発揮するのはログイン後の運用を開始してからの話なのである。

Preston St. Pierreは、コンピュータ情報システムの学生としてUniversity of the Fraser Valley(ブリティッシュコロンビア州、カナダ)に在籍している。

Linux.com 原文