ファイルレベルにおいて、SunOS 5.9 オペレーティングシステムにはいくつかの標準セキュリティ機能が組み込まれており、ファイル、ディレクトリ、およびデバイスを保護するため使用できます。システムレベルとネットワークレベルでは、セキュリティの内容はほぼ同じです。サイトでは、1 台のサーバーに接続された多数のシステムを 1 つの大規模で多面的なシステムと見なすことができます。システム管理者は、この大規模なシステム、つまりネットワークシステムのセキュリティ管理に責任があります。ネットワークの外側からの侵入を防ぐだけでなく、ネットワーク内部のシステムのデータの完全性を確保することも重要です。
セキュリティ防御の第一線は、システムへのアクセスを制御することです。次の方法でシステムへのアクセスを制御または監視できます。
サイトの物理的なセキュリティの管理
ログイン制御の管理
ファイル内のデータへのアクセス制限
ネットワーク制御の管理
システムの使用状況の監視
正しいパス変数の設定
ファイルの保護
ファイアウォールのインストール
セキュリティ問題の報告
システムへのアクセスを制御するには、コンピュータ環境の物理的なセキュリティを管理する必要があります。たとえば、システムにログインしたままそこから離れてしまうと、そのシステムを使用できるユーザーであれば誰でもオペレーティングシステムとネットワークにアクセスできます。コンピュータの周囲に注意して、許可されていないアクセスから物理的に保護する必要があります。
システムやネットワークへの無許可のログインも制限する必要があります。この制限は、パスワード制御とログイン制御によって行うことができます。システム上のすべてのアカウントには、パスワードを設定します。アカウントにパスワードを設定しないと、ユーザー名を推測できるユーザーであれば誰でもネットワーク全体にアクセスできることになります。
Solaris ソフトウェアでは、特定のシステムデバイスの制御をユーザーのログインアカウントに制限しています。/etc/logindevperm ファイルを編集しない限り、スーパーユーザーまたはコンソールユーザーとして実行中のプロセス以外は、システムのマウス、キーボード、フレームバッファー、およびオーディオデバイスにアクセスできません。詳細については、logindevperm(4) のマニュアルページを参照してください。
ログイン制限を設定したあと、システム上のデータへのアクセスを制御できます。一部のユーザーには特定のファイルの読み取りを許可し、別のユーザーには特定のファイルを変更または削除するアクセス権を与えることができます。誰にも見せたくないデータがある場合もあります。ファイルのアクセス権の設定方法については、第 15 章「ファイルのセキュリティの適用 (手順)」を参照してください。
通常、コンピュータは「ネットワーク」と呼ばれるシステム構成の一部です。ネットワーク上では、接続されているシステムは、そのネットワークに接続されている他のシステムと情報を交換し、データや別のリソースにアクセスできます。ネットワーキングによってコンピュータの処理能力と性能が高まりますが、コンピュータのセキュリティが危険にさらされる可能性もあります。
たとえば、ネットワーク内では、個々のシステムは情報を共有できるように開放されています。また、多数の人々がネットワークにアクセスするので、特にパスワードの誤用などのユーザーエラーを通じて、不要なアクセスが発生する可能性も大きくなります。
システム管理者は、次のようにシステムのあらゆる側面に注意してシステムの動作を監視する必要があります。
通常の負荷はどの程度か
誰がシステムへのアクセス権を持っているか
各ユーザーはいつシステムにアクセスするか
このような情報を把握していれば、ツールを使用してシステムの使用状況を監査し、各ユーザーのアクティビティを監視できます。セキュリティ違反が疑われる場合は、監視作業が特に役立ちます。
パス変数を正しく設定することは重要なことです。正しく設定しないと、他人が持ち込んだプログラムを誤って実行して、データやシステムを破壊する可能性があります。このようなプログラムはセキュリティ上の危険を招くので、「トロイの木馬」と呼ばれます。たとえば、公共のディレクトリの中に別の su プログラムが置かれていると、システム管理者が気づかずに実行してしまう可能性があります。このようなスクリプトは正規の su コマンドとまったく同じに見えます。実行後はスクリプトそのものが削除されるので、実際にトロイの木馬を実行してしまったのかを調べることは困難です。
パス変数は、ログイン時に起動ファイル .login、.profile、および .cshrc により自動的に設定されます。現在のディレクトリ (.) への検索パスを最後に指定すれば、このタイプのトロイの木馬を実行するのを防ぐことができます。スーパーユーザーのパス変数には、現在のディレクトリを指定しないでください。自動セキュリティ拡張ツール (ASET) によって、起動ファイルのパス変数が正しく設定され、ドット (.) エントリがないことが検査されます。
SunOS 5.9 オペレーティングシステムはマルチユーザーシステムなので、ファイルシステムのセキュリティは、システムの最も基本的で重要な問題です。ファイルの保護には、従来の UNIX のファイル保護と、より確実なアクセス制御リスト (ACL) の両方が使用できます。
また、多くの実行可能プログラムは、スーパーユーザー (root) として実行しなければ適切に動作しません。これらの実行可能プログラムは、ユーザー ID を 0 に設定して (setuid=0) 実行します。これらのプログラムを実行するユーザーは、root ID を使用するため、プログラムがセキュリティを念頭において作成されていない場合には、セキュリティ上の問題が発生する可能性があります。
実行可能ファイルの setuid ビットが root に設定されている場合以外は、setuid プログラムの使用は許可しないでください。許可する場合でも、使用を制限するか、最小限のユーザーに限定してください。
ネットワークを保護するには、ファイアウォール、つまりセキュリティ保護ゲートウェイシステムを使用する方法もあります。ファイアウォールは 2 つのネットワークを分離する専用システムで、各ネットワークは相手に対し信頼されない (untrusted) ネットワークとしてアクセスします。内部ネットワークと、内部ネットワークユーザーに通信させたいインターネットなどの外部ネットワークとの間に、このような設定を必ず行うようにしてください。
ファイアウォールは、一部の内部ネットワーク間でも有効です。たとえば、ファイアウォール、つまりセキュリティ保護ゲートウェイコンピュータは、ゲートウェイコンピュータがパケットの発信元または宛先アドレスでない限り、2 つのネットワーク間でパケットを送信しません。また、ファイアウォールは、特定のプロトコルについてのみパケットを転送するように設定する必要があります。たとえば、パケットでメールを転送できるが、telnet や rlogin コマンドのパケットは転送できないようにできます。ASET は、高度なセキュリティを適用して実行すると、インターネットプロトコル (IP) パケットの転送機能を無効にします。
セキュリティの問題が発生した可能性がある場合は、The Computer Emergency Response Team/Coordination Center (CERT/CC) に連絡してください。CERT/CC は、Defense Advanced Research Projects Agency (DARPA) によって設立されたプロジェクトで、カーネギメロン大学の Software Engineering Institute にあります。CERT/CC はセキュリティ問題の解決を支援できます。また、特定のニーズに合った他の Computer Emergency Response Team を紹介することもできます。CERT/CC に連絡するには、24 時間のホットラインに電話する方法と、電子メールを cert@cert.sei.cmu.edu に送る方法があります。