6.7. 設定を安全にし、安全なデフォルトを使用する

現状セキュリティ上で一番問題となるのは、設定にあるとされています。 したがって次の 2 点には労力をかけてください。(1)初期インストールを安全にする こと。(2)安全を維持しつつ、システムを簡単に再設定できること。

インストール作業中に、作業用「デフォルト」パスワードを決して設定しないで ください。 新しい「ユーザ」を設定する必要があるなら、行っても結構です。絶対にわから ないパスワードを設定して、管理者がパスワードを設定する時間を残しておいて ください(パスワードを設定する以前もシステムを安全にしておきます)。 管理者はおそらく多数のパッケージをインストールするので、パスワードを設定したか どうかを十中八九忘れてしまいます。デフォルトのパスワードで作成しても、おそらく 管理者は設定したことさえ知らないかもしれません。

管理者が設定する機会がくるまで、プログラムに対しては、アクセス制限を最大限に かけるポリシを維持してください。 設定当初に「サンプルにある」作業用ユーザを作ったり、「すべてにアクセスを許す」 設定をしたりしないでください。 現にユーザは「すべてをインストール」(利用できるサービスをすべてインストール) する場合が多く、そのままサービスの大半を設定しないままにしておきます。 既存の認証システム次第で、もっと緩やかなポリシが適当であるとプログラムが 決めてしまう場合もあります。たとえば ftp サーバでは、ユーザのディレクトリに ログインできるユーザには、ユーザのファイルにアクセスを許すよう正式に認めて います。 しかしそのような前提条件には注意を払ってください。

インストレーション・スクリプトは、できる限り安全にプログラムをインストール してください。 デフォルトでは、root もしくは他のシステム関連のユーザがオーナーになって すべてのファイルをインストールし、その他のユーザが書き込めないようにして います。 これで root 以外のユーザがウイルスをインストールするのを防ぎます。 実際、信頼できるユーザ以外には、読み込みもできないようにするのが最善です。 root 以外のユーザが root と同じ様にインストールができる場所を用意して ください。そうすれば、root の特権のないユーザやインストーラを信頼しきって いない管理者でも、そのプログラムを利用できます。

インストールする時には、セキュリティに必須の前提がなんであっても、それが 正しいかどうか必ずチェックしてください。 ライブラリのルーチンには、あるプラットフォームで安全ではないものがあります。 この点については、Section 7.1 の議論を見てください。 複数のプラットフォームでアプリケーションが動作するのがわかっているなら、 プラットフォーム特有の属性をチェックする必要はありません。しかし、複数の プラットフォームのどれか 1 つにだけプログラムをインストールするなら、必ず チェックする必要があります。 さもなければ、プログラムをインストールするのにマニュアルで無効にする必要が あるはずです。なぜなら、インストールした結果が安全かどうかがわからないから です。

設定はインストール後の設定も含めて、できるだけ簡単明瞭にできるようにして ください。 できるだけ「安全な」方法を使うようにしてください。さもないと、ユーザの 多くは、リスクを理解せずに安全でない手段を選んでしまうでしょう。 Linux では linuxconf のような便利なツールがあり、ユーザが既存の構成を利用して 簡単にシステムを設定できます。

設定用言語があるなら、ユーザが特別に許可しない限りデフォルトではアクセスを 拒否してください。 サンプルの設定ファイルには、解りやすいコメントをたくさん入れてください。 それがあれば、管理者は設定が何であるのか理解します。