システム情報のセキュリティを保つことは、重要なシステム管理作業です。この章では、ファイルレベル、システムレベル、およびネットワークレベルでシステムセキュリティを管理する方法について説明します。
この章の内容は以下のとおりです。
ファイルレベルでは、SunOS 5.x オペレーティングシステムにいくつかの標準セキュリティ機能が組み込まれているため、ファイル、ディレクトリ、およびデバイスの保護に使用できます。システムレベルとネットワークレベルでは、セキュリティの内容はほぼ同じです。サイトでは、1 台のサーバーに接続された多数のシステムを 1 つの大規模で多面的なシステムと見なすことができます。システム管理者は、この大規模なシステム、つまりネットワークシステムのセキュリティ管理に責任があります。ネットワークの外側からの侵入を防ぐことだけでなく、ネットワーク内部のシステムのデータの完全性を確保することも重要です。
この節では、Solaris 2.6 リリースの新しいセキュリティ機能を説明します。
Pluggable Authentication Module (PAM) フレームワークによって、login、ftp、または telnet コマンドを変更しなくても、新しい認証テクノロジを「プラグイン」できるようになります。また、PAM を使用すれば、 UNIX ログインを DCE や Kerberos のような他のセキュリティ機構と統合できます。
また、このフレームワークを使用すれば、アカウント、セッション、およびパスワードの管理機構もプラグインできます。
次に、PAM の利点をいくつか挙げます。
柔軟な構成ポリシー
エンドユーザーにも使いやすい
オプションのパラメタをユーザー認証サービスに渡す機能
詳細は、第 53 章「認証サービスの使用手順」を参照してください。
セキュリティのバグの多くは、デフォルトの実行可能スタックのアクセス権が読み取り可能、書き込み可能、および実行可能に設定されたときに発生します。実行権が設定されたスタックは SPARC ABI と Intel ABI によって許可されていますが、ほとんどのプログラムは、実行可能スタックを使用しなくても正常に機能します。
Solaris 2.6 リリースでは、noexec_user_stack 変数が利用できるようになりました。この変数によって、システム管理者は、スタックを実行可能としてマッピングするかどうかを指定できます。デフォルトではこの変数はゼロで、ABI 準拠の動作を提供します。この変数がゼロ以外に設定された場合、システムはシステム中のすべてのプロセスのスタックに読み取り可能と書き込み可能のマークをつけますが、実行可能のマークは付けません。
この変数が設定されている場合、プログラムがスタック上でコードを実行しようとすると SIGSEGV シグナルが送信されます。通常、このシグナルが送信されると、プログラムはコアダンプして終了します。このようなプログラムは、違反しているプログラム名、プロセス ID、およびプログラムを実行した実ユーザー ID を含む警告メッセージも生成します。たとえば、次のとおりです。
a.out[347] attempt to execute code on stack by uid 555
メッセージは、syslog kern 機能が notice レベルに設定されているときに、syslogd(1M) デーモンによってログに記録されます。このログへの記録は、デフォルトで syslog.conf(4) ファイルに設定されていて、メッセージがコンソールと /var/adm/messages ファイルの両方に送信されることを意味します。
このメッセージは、潜在的なセキュリティの問題を調べるときに役立ちます。また、この変数を設定することによって、正しく動作しなくなった、実行可能スタックに依存する有効なプログラムを確認するのにも役立ちます。メッセージを記録しない場合、管理者は、/etc/system ファイルで noexec_user_stack_log 変数をゼロに設定して無効にします。この場合でも、実行プログラムは、SIGSEGV シグナルによってコアダンプします。
プログラムのスタックが実行可能であると明示的にマークを付ける場合は、mprotect(2) を使用します。
ハードウェアの制限のため、実行可能スタックの問題を捕捉して報告する機能は、sun4m、sun4d、および sun4u プラットフォームでしか利用できません。
システムセキュリティの設定手順については、次の項目を参照してください。
防御の第 1 歩は、システムへのアクセスを制御することです。次の方法でシステムへのアクセスを制御したり監視したりできます。
サイトの物理的なセキュリティの管理
ログイン制御の管理
ファイル内のデータへのアクセス制限
ネットワーク制御の管理
システムの使用状況の監視
正しいパス変数の設定
setuid プログラムの監視
スーパーユーザー (root) ログインの追跡
ファイアウォールのインストール
自動セキュリティ拡張ツール (ASET) の使用
システムへのアクセスを制御するには、コンピュータ環境の物理的なセキュリティを管理しなければなりません。たとえば、システムにログインした後でそのままそこから離れてしまうと、そのシステムを使用できるユーザーであれば誰でもオペレーティングシステムとネットワークにアクセスできます。コンピュータの周囲に注意して、許可されていないアクセスから物理的に保護する必要があります。
また、システムやネットワークへの許可されていないログインも制限する必要がありますが、この作業はパスワードとログイン制御を使用して実行できます。システム上のすべてのアカウントには、パスワードを設定しなければなりません。アカウントにパスワードを設定しないと、ユーザー名を推測できるユーザーであれば誰でもネットワーク全体にアクセスできることになります。
Solaris 2.x システムソフトウェアでは、特定のシステムデバイスの制御をユーザーのログインアカウントに制限しています。/etc/logindevperm を編集しない限り、スーパーユーザーまたはコンソールユーザーとして実行中のプロセス以外は、システムのマウス、キーボード、フレームバッファにアクセスできません。詳細は、logindevperm(4) のマニュアルページを参照してください。
ログイン制限を設定したら、システム上のデータへのアクセスを制御できます。一部のユーザーには特定のファイルの読み取りを許可し、他のユーザーには特定のファイルを変更または削除するアクセス権を与えることができます。誰にも見せたくないデータがある場合もあります。ファイルのアクセス権の設定方法については、第 51 章「ファイルのセキュリティの適用手順」を参照してください。
通常、コンピュータは「ネットワーク」と呼ばれるシステム構成の一部です。ネットワーク上では、接続されているシステムは、そのネットワークに接続されている他のシステムと情報を交換し、相手のデータや他の資源にアクセスできます。ネットワーク化することによって、コンピュータの処理能力と性能が高まります。しかし、コンピュータのセキュリティが危険にさらされる可能性もあります。
たとえば、ネットワーク内では、個々のシステムは情報を共有できるように開放されています。また、多数の人々がネットワークにアクセスするので、特にパスワードの誤用などのユーザーエラーを通じて、不要なアクセスが発生する可能性も大きくなります。
システム管理者は、次のようにシステムのあらゆる側面に注意してシステムの活動を監視する必要があります。
通常の負荷はどの程度か
誰がシステムへのアクセス権を持っているか
各ユーザーはいつシステムにアクセスするか
この種の情報を把握していれば、ツールを使用してシステムの使用状況を監査し、各ユーザーの活動を監視できます。セキュリティ違反が疑われる場合は、監視作業が特に役立ちます。
パス変数を正しく設定することが重要です。正しく設定しないと、他人が持ち込んだプログラムを偶然に実行して、データやシステムを破壊する可能性があります。この種のプログラムはセキュリティ上の危険を招くので、「トロイの木馬」と呼ばれます。たとえば、公共のディレクトリの中に別の su プログラムを入れておくと、システム管理者が気づかずに実行してしまう可能性があります。この種のスクリプトは通常の su コマンドとまったく同じに見えます。実行後はスクリプトそのものが削除されるので、実際に「トロイ」の木馬を実行してしまったのかを調べるのは困難です。
パス変数は、ログイン時に起動ファイル .login、.profile、.cshrc により自動的に設定されます。カレントディレクトリ (.) への検索パスを最後に指定すれば、この種のトロイの木馬を実行するのを防ぐことができます。root のパス変数には、カレントディレクトリを指定しないでください。ASET ユーティリティは起動ファイルを検査して、パス変数が正しく設定されているかどうかと、ドット (.) エントリが入っていないかどうかを確認します。
多くの実行可能プログラムが、適切に機能するように root (つまり、スーパーユーザー) により実行される必要があります。これらの実行可能プログラムは、ユーザー ID を 0 に設定して (setuid=0) 実行します。これらのプログラムを実行するユーザーは、root ID を使用するので、プログラムがセキュリティを念頭において作成されていない場合には、セキュリティ上の問題が発生する可能性があります。
setuid を root に設定して出荷される実行可能プログラムを除き、setuid プログラムを使用不可にするか、少なくとも使用を最小限度に制限しておく必要があります。
ネットワークを保護するには、ファイアウォール、つまりセキュリティ保護ゲートウェイシステムを使用する方法もあります。ファイアウォールは 2 つのネットワークを分離する専用システムで、各ネットワークは相手に対し信頼されない (untrusted) ネットワークとしてアクセスします。内部ネットワークと、内部ネットワークユーザーに通信させたいインターネットなどの外部ネットワークとの間に、このような設定を必ず行うようにしてください。
また、ファイアウォールは、一部の内部ネットワーク間でも有効です。たとえば、ファイアウォール、つまりセキュリティ保護ゲートウェイコンピュータは、ゲートウェイコンピュータがパケットの発信元または宛先アドレスでない限り、2 つのネットワーク間でパケットを送信しません。また、ファイアウォールは、特定のプロトコルについてのみパケットを転送するように設定する必要があります。たとえば、パケットでメールを転送できるが、telnet や rlogin は転送できないようにできます。ASET ユーティリティは、高度なセキュリティを適用して実行すると、インターネットプロトコル (IP) パケットの転送機能を無効にします。
セキュリティ違反が発生したと思われる場合は、Computer Emergency Response Team/Coordination Center (CERT/CC) に連絡できます。これは、カーネギーメロン大学の Software Engineering Institute に Defense Advanced Research Projects Agency (DARPA) の後援で設立されたプロジェクトです。CERT/CC はセキュリティ問題の解決を支援できます。また、特定のニーズに合った他の Computer Emergency Response Team を紹介することもできます。CERT/CC に連絡するには、24 時間のホットライン に電話する方法と、電子メールを cert@cert.sei.cmu.edu に送る方法があります。
SunOS 5.x オペレーティングシステムはマルチユーザーシステムです。これは、システムにログインしたユーザーであれば、アクセス権を持っている限り誰でも他のユーザーのファイルを読み取って使用できることを意味します。表 50-1 では、ファイルシステム管理コマンドについて説明します。ファイルのセキュリティについては、第 51 章「ファイルのセキュリティの適用手順」を参照してください。
表 50-1 は、ファイルやディレクトリに使用できるファイル管理コマンドを示します。
表 50-1 ファイル管理コマンド
コマンド |
説明 |
---|---|
ディレクトリ内のファイルとファイル情報を表示する |
|
ファイルの所有権を変更する |
|
ファイルのグループ所有権を変更する |
|
ファイルのアクセス権を変更する。記号モード (英字と記号) または絶対モード (8 進数) を使用して、ファイルのアクセス権を変更できる |
重要なファイルをアクセスできないディレクトリに格納し (700 モード)、そのファイルを他のユーザーが読み取れないようにすると (600 モード)、ほとんどの場合はセキュリティが保たれます。しかし、他人がユーザーのパスワードや root パスワードを推測して発見すれば、そのファイルを読み書きできます。また、重要なファイルは、システムファイルのバックアップをテープにとるたびに、バックアップテープ上に保存されます。
SunOS オペレーティングシステム内の従来の UNIX ファイル保護機能では不十分な場合は、ACL によりファイルアクセス権の制御が強化されます。従来の UNIX ファイル保護機能は、所有者、グループ、その他という 3 つのユーザークラスに読み取り権、書き込み権、実行権を提供します。ACL を使用すると、所有者、所有者のグループ、その他、特定のユーザーとグループのファイルアクセス権を定義し、カテゴリごとにデフォルトのアクセス権を定義できるので、ファイルのセキュリティが高まります。
ファイルに対して ACL を設定する方法については、第 51 章「ファイルのセキュリティの適用手順」を参照してください。
この節では、侵入者がシステムにログインするのを防ぐ方法、パスワードファイルを管理する方法、重要なシステムファイルとプログラムに対する許可されていないスーパーユーザーアクセスを防ぐ方法など、システムを許可されていないアクセスから保護する方法について説明します。
システム上で 2 つのセキュリティバリアを設定できます。第 1 のセキュリティバリアはログインプログラムです。このバリアをクリアしてシステムにアクセスするには、ローカルシステムまたはネームサービス (NIS または NIS+) で認識されるユーザー名と対応するパスワードを入力しなければなりません。
第 2 のセキュリティバリアは、システムファイルとプログラムをスーパーユーザーしか変更または削除できないように設定することです。root になろうとするユーザーは、スーパーユーザーのユーザー名とその正しいパスワードを入力しなければなりません。
ユーザーがシステムにログインすると、ログインプログラムは /etc/nsswitch.conf ファイル内の情報に従って、該当するデータベースを照会します。このファイル内のエントリには、files (/etc 内のファイルを示します)、nis (NIS データベースを示します)、nisplus (NIS+ データベースを示します) を含めることができます。このファイルについては、『NIS+ と FNS の管理』または nsswitch.conf(4) のマニュアルページを参照してください。
ログインプログラムは、入力されたユーザー名とパスワードを確認します。ユーザー名がパスワードファイルに入っていない場合や、パスワードがユーザー名と一致していない場合は、システムへのアクセスが拒否されます。ユーザーがパスワードファイルから名前を入力し、パスワードがその名前の正しいパスワードであるときは、そのユーザーにシステムへのアクセス権が与えられます。
システムにアクセスするには、従来のユーザーログインを使用する方法と、root ログインを使用する方法の 2 つが一般的です。また、多数の特別な「システム」ログインを使用すると、ユーザーは root アカウントを使用しなくても管理コマンドを実行できます。管理者は、これらのログインアカウントにパスワードを割り当てます。
表 50-2 に、システムのログインアカウントとその用途を示します。システムログインは特殊な機能を実行し、それぞれに固有のグループ識別子番号 (GID) が付いています。これらの各ログインには固有のパスワードを設定し、必要のある人だけに知らせるようにしてください。
表 50-2 システムログイン
ログインアカウント |
GID |
用途 |
---|---|---|
root |
0 |
ほぼ無制限で、他のすべてのログイン、保護、アクセス権より優先する。root アカウントはシステム全体へのアクセス権を持つ。root ログインのパスワードはきわめて厳密に保護する必要がある |
daemon |
1 |
バックグラウンド処理を制御する |
bin |
2 |
ほとんどのコマンドを所有する |
sys |
3 |
多数のシステムファイルを所有する |
adm |
4 |
特定の管理ファイルを所有する |
lp |
71 |
プリンタ用のオブジェクトとスプールデータファイルを所有する |
uucp |
5 |
UNIX 間のコピープログラム、UUCP 用のオブジェクトとスプールデータファイルを所有する |
nuucp |
9 |
システムにログインしてファイル転送を開始するためにリモートシステムで使用される |
また、パスワードが必要な eeprom のセキュリティも設定する必要があります。詳細は、eeprom(1M) のマニュアルページを参照してください。
ユーザーはシステムにログインするときに、ユーザー名とパスワードを入力しなければなりません。ログイン名は一般に公開されますが、パスワードは秘密にしてユーザーにのみ知らせなければなりません。ユーザーには、各自のパスワードを慎重に選択させ、頻繁に変更させる必要があります。
パスワードは、最初はユーザーアカウントを設定するときに作成されます。ユーザーアカウントの機密性を保つために、パスワードの有効期間を設定し、ユーザーに各自のパスワードを定期的に変更させたり、パスワードをロックしてユーザーアカウントを使用できないようにしたりすることもできます。パスワードの設定と管理の詳細は、第 2 章「ユーザーアカウントとグループの設定と管理の手順」を参照してください。
ネットワークで NIS+ を使用している場合、パスワード情報は NIS+ データベースに格納されます。NIS+ データベース内の情報は、アクセス権を許可されたユーザーを制限することによって保護できます。ユーザーアカウントマネージャまたは passwd(1) コマンドを使用すると、ユーザーの NIS+ パスワードを変更できます。
ネットワークで NIS を使用している場合、パスワードは NIS パスワードマップに格納されます。NIS では、パスワードの有効期間を指定できません。Solstice ユーザーマネージャまたは passwd(1) コマンドを使用すると、ユーザーの NIS パスワードを変更できます。
ネットワークで /etc 内のファイルを使用している場合、パスワード情報はシステムの /etc/passwd ファイルと /etc/shadow ファイルに格納されます。ユーザー名と他の情報は別の「シャドウ」ファイル /etc/shadow に格納されます。これは、ユーザーが暗号化されたパスワードにアクセスするのを防ぐセキュリティ上の手段です。/etc/passwd ファイルは、マシンにログインするユーザーであれば誰でも使用できますが、/etc/shadow ファイルを読み取ることができるのはスーパーユーザーだけです。Solstice AdminSuite のユーザーマネージャ、Admintool、または passwd(1) コマンドを使用すると、ローカルシステム上でユーザーのパスワードを変更できます。
標準シェルを使用すると、ユーザーはファイルを開く、コマンドを実行するなどの操作を行うことができます。制限付きセルを使用すると、ユーザーによるディレクトリの変更やコマンドの実行を制限できます。制限付きシェル (rsh) は、ディレクトリ /usr/lib に入っています (これはリモートシェル /usr/sbin/rsh ではないので注意してください)。制限付きシェルには、通常のシェルに比べて次のような違いがあります。
ユーザーはホームディレクトリに制限されます (cd を使用してディレクトリを変更できません)。
ユーザーはシステム管理者が設定した PATH 内でしかコマンドを使用できません (PATH 変数を変更できません)。
ユーザーはホームディレクトリとそのサブディレクトリ内のファイルにしかアクセスできません (完全パス名でコマンドやファイルを指定できません)。
ユーザーは > または >> を使用して出力をリダイレクトできません。
制限付きシェルを使用すると、システム管理者はユーザーによるシステムファイルの操作を制限できます。このシェルは、主として特定の作業を実行しなければならないユーザーを設定するためのものです。ただし、rsh は完全にセキュリティ保護されてはおらず、あくまでも経験の少ないユーザーが問題を起こさないようにするために使用します。
制限付きシェルについては、sh(1) のマニュアルページを参照してください。
システムには、スーパーユーザーモードに対して root パスワードが必要です。デフォルトの構成では、ユーザーはリモートのシステムに root としてログインできません。リモートログインするとき、ユーザーは自分のユーザー名でログインしてから、su コマンドを使用してスーパーユーザーにならなければなりません。これによって、管理者は、システム上でスーパーユーザー特権を使用している人を追跡できます。
スーパーユーザーになりたい場合などは、su コマンドを使用して別のユーザーに変更する必要があります。セキュリティ上の理由から、su コマンドを使用中のユーザー、特にスーパーユーザーのアクセス権を取得しようとしているユーザーを監視する必要があります。
詳細は、「su コマンドを使用中のユーザーを監視する方法」を参照してください。
ネットワーク上でのアクセスが容易になるほど、ネットワークシステムにとっては利点が増えます。ただし、データや資源に自由にアクセスして共有できる状況では、セキュリティ上の問題が生じます。一般にネットワークのセキュリティは、リモートシステムからの操作を制限またはブロックすることを指しています。図 50-1 に、リモート操作に適用できるセキュリティ制限を示します。
ファイアウォールシステムを設定すると、ネットワーク内のリソースを外部のアクセスから保護できます。「ファイアウォールシステム」は、内部ネットワークと外部ネットワークの間の防壁として機能するセキュリティ保護ホストです。
ファイアウォールには 2 つの機能があります。ネットワーク間でデータを渡すゲートウェイとして機能する一方で、データが勝手にネットワークを出入りしないようにブロックする防壁として機能します。ファイアウォールは、内部ネットワーク上のユーザーに対して、ファイアウォールシステムにログインしてリモートネットワーク上のホストにアクセスするように要求します。また、外部ネットワーク上のユーザーは、内部ネットワーク上のホストにアクセスする前に、ファイアウォールシステムにログインしなければなりません。
さらに、内部ネットワークから送信されるすべての電子メールは、ファイアウォールシステムに送信されてから、外部ネットワーク上のホストに転送されます。ファイアウォールシステムは、すべての着信電子メールを受信して、内部ネットワーク上のホストに配信します。
ファイアウォールは、アクセス権のないユーザーが内部ネットワーク上のホストにアクセスする行為を防止します。ファイアウォールに適用される厳密で確実なセキュリティを管理しなければなりませんが、ネットワーク上の他のホストのセキュリティはもっと緩やかでもかまいません。ただし、ファイアウォールシステムを突破できる侵入者は、内部ネットワーク上の他のすべてのホストへのアクセスを取得できる可能性があります。
ファイアウォールシステムに「信頼される (trusted) ホスト」が含まれるべきではありません (「信頼されるホスト」とは、ユーザーがパスワードを入力しなくてもログインできるホストです)。ファイアウォールシステムは、ファイルシステムを共有してはならず、他のサーバーからファイルシステムをマウントしてはなりません。
自動セキュリティ拡張ツール (ASET) を使用すると、システムをファイアウォールにして高度なセキュリティを確保できます。詳細は、第 54 章「自動セキュリティ拡張ツールの使用手順」を参照してください。
ほとんどのローカルエリアネットワークでは、データはパケットと呼ばれるブロック単位でコンピュータ間で転送されます。アクセス権のないユーザーは、「パケットスマッシング」という方法により、データを損傷または破壊する可能性があります。パケットスマッシングでは、パケットは宛先に到達する前に捕捉され、その内容になんらかのデータが挿入されてから、元のコースに送り返されます。ローカルエリアネットワーク上では、パケットはサーバーを含むすべてのシステムに同時に到達するので、パケットスマッシングは不可能です。ただし、ゲートウェイ上ではパケットスマッシングが可能なので、ネットワーク上のすべてのゲートウェイを保護しなければなりません。
最も危険なのは、データの完全性に影響するような攻撃です。この種の攻撃を受けると、パケットの内容が変更されたり、ユーザーが偽装されたりします。会話を記録したり、後からユーザーを偽装せずに再生したりするなどの盗聴だけの場合、データの完全性は損なわれません。ただし、この種の攻撃はプライバシーに影響を及ぼします。ネットワーク上でやりとりされるデータを暗号化すると、重要な情報のプライバシーを保護できます。
「認証」とは、リモートシステムにアクセスできるユーザーを特定の人に限定する方法で、システムレベルまたはネットワークレベルで設定できます。ユーザーがリモートシステムにアクセスした後は、「承認」という方法でそのユーザーがリモートシステム上で実行できる操作が制限されます。表 50-3 に、ネットワーク上のシステムを許可されていない使い方から保護できる認証と承認の種類を示します。
表 50-3 認証と承認の種類
種類 |
説明 |
参照先 |
---|---|---|
NIS+ |
NIS+ ネームサービスは、認証と承認をネットワークレベルで提供できる | |
リモートログインプログラム |
リモートログインプログラム (rlogin、rcp、ftp) を使用すると、ユーザーはネットワーク経由でリモートシステムにログインし、その資源を使用できる。「信頼される (trusted) ホスト」の場合、認証は自動的に処理されるが、それ以外の場合は自分自身を認証するように求められる | |
Secure RPC |
Secure RPC を使用すると、リモートシステム上で要求を出したユーザーの認証が行われ、ネットワーク環境のセキュリティが高まる。Secure RPC には、UNIX、DES、または Kerberos 認証システムを使用できる |
『NFS の管理』 |
|
また、Secure RPC を使用すると、NFS 環境に Secure NFS というセキュリティを追加できる | |
DES 暗号化 |
データ暗号化規格 (DES) 暗号化機能は 56 ビットのキーを使用して、秘密鍵を暗号化する | |
Diffie-Hellman 認証 |
この認証方法は、送信側のシステムの共通鍵を使用して現在の時刻を暗号化する機能を利用する。受信側のシステムは、現在の時刻で復号化およびチェックできる | |
Kerberos Version 4 |
Kerberos は DES 暗号化を使用して、システムのログイン時にユーザーを認証する | |
Solstice AdminSuite |
Solstice AdminSuite 製品には、認証機構と承認機構が組み込まれており、AdminSuite を使用してシステムをリモート管理できる |
『Solstice AdminSuite 2.3 管理者ガイド』 |
ネットワークファイルサーバーは、どのファイルを共有できるかを制御できます。また、共有ファイルにアクセスできるクライアント、それらのクライアントに許されるアクセスのタイプも制御できます。一般に、ファイルサーバーは、すべてのクライアントまたは特定のクライアントに、読み書きまたは読み取り専用権を与えることができます。アクセス制御は、share コマンドで資源を利用可能にするときに指定します。
サーバーでは、/etc/dfs/dfstab ファイルを使用して、ネットワーク上のクライアントに利用させることができるファイルシステムを表示できます。ファイルの共有の詳細は、『NFS の管理』を参照してください。
一般的にスーパーユーザーは、ネットワーク上で共有されるファイルシステムにはスーパーユーザーとしてアクセスできません。サーバーが特別にスーパーユーザー特権を与えなければ、クライアントにスーパーユーザーとしてログインしたユーザーは、そのクライアントにリモートでマウントされたファイルへのスーパーユーザーアクセスを取得できません。NFS システムは、要求側のユーザー ID をユーザー名 nobody のユーザー ID に変更してスーパーユーザーアクセスを提供します。一般に、nobody のユーザー ID は 60001 です。ユーザー nobody のアクセス権は、特定のファイルに関して公共 (つまり、資格を持たないユーザー) に与えられるものと同じです。たとえば、ファイルの実行しか公共に許可していなければ、ユーザー nobody はそのファイルを実行することしかできません。
NFS サーバーは、share コマンドの root=hostname オプションを使用して、共有ファイルシステムのスーパーユーザー特権をホスト単位で与えることができます。
Secure RPC を実行したくない場合は、代わりに Solaris の「特権付きポート」機構を使用できます。特権付きポートは、1024 未満のポート番号を持つスーパーユーザーによって設定されます。クライアントシステムは、クライアントの資格を認証した後で、特権付きポート経由でサーバーへの接続を設定します。その後、サーバーは接続のポート番号を検査してクライアントの資格を確認します。
ただし、Solaris 以外のクライアントは、特権付きポート経由で通信できないことがあります。その場合は、次のようなエラーメッセージが表示されます。
"Weak Authentication NFS request from unprivileged port"
ASET セキュリティパッケージには、システムのセキュリティを制御して監視できるように、自動管理ツールが組み込まれています。ASET を実行するセキュリティレベルとして、低、中、または高レベルを指定できます。上のレベルほど、ASET のファイル制御機能が増え、ファイルアクセスが減少し、システムセキュリティが厳しくなります。
詳細は、第 54 章「自動セキュリティ拡張ツールの使用手順」を参照してください。