Solaris 9 には、ASET が組み込まれています。ASET を使用すると、ほかの場合には手作業で実行する作業が自動的に実行され、システムのセキュリティを監視して制御できます。
ASET セキュリティパッケージには、システムのセキュリティを制御して監視できるように、自動管理ツールが組み込まれています。ASET を実行するセキュリティレベルには、低レベル、中レベル、または高レベルを指定できます。上のレベルほど、ASET のファイル制御機能が増え、ファイルアクセスは減少し、システムセキュリティが厳しくなります。
ASET には 7 つのタスクがあり、各タスクがシステムファイルに対して特定の検査と調整を行います。ASET のタスクはファイルのアクセス権を厳しくし、重要なシステムファイルの内容にセキュリティ上の弱点がないかどうかを確認して、重要な領域を監視します。ASET では、ゲートウェイシステムとして機能するシステムにファイアウォールシステムの基本要件を適用し、ネットワークも保護できます (「ファイアウォールの設定」を参照)。
ASET は、構成用のマスターファイルを使用します。マスターファイルやレポートなどの ASET ファイルは、/usr/aset ディレクトリにあります。これらのファイルは、サイトの特定の要件に合わせて変更できます。
各タスクは、検出されたセキュリティ上の弱点と、タスクがシステムファイルに対して行なった変更を示すレポートを生成します。最上位のセキュリティレベルで実行すると、ASET はシステムセキュリティ上のすべての弱点を変更しようとします。潜在的なセキュリティ問題を解決できない場合、ASET は問題の存在を報告します。
ASET セッションを起動するには、/usr/aset コマンドを対話的に使用します。ASET を定期的に実行する場合は、crontab ファイルにエントリを指定します。
ASET のタスクはディスクをかなり使用するため、通常の動作の妨げになることがあります。システム性能への影響を最小限度に抑えるために、24 時間ごとまたは 48 時間ごとに深夜など、システムの稼働レベルが最も低いときに ASET を実行するようにスケジュールしてください。
ASET は、低、中、高の 3 つのセキュリティレベルのいずれかで動作するように設定できます。上のレベルほど、ASET のファイル制御機能が増え、ファイルアクセスが減少し、システムのセキュリティが厳しくなります。これらの機能には、ユーザーによるファイルアクセスを制限せずにシステムセキュリティを監視する最低レベルから、システムが完全にセキュリティ保護される最高レベルまで、アクセス権が段階的に厳しくなります。
次の表で、この 3 つのセキュリティレベルの概要について説明します。
セキュリティレベルを下げるか、システムを ASET 実行前の設定に意図的に戻さない限り、ASET によってファイルのアクセス権のセキュリティが低くなることはありません。
この節では、ASET のタスクについて説明します。レポートを解釈して活用するには、各 ASET のタスク (その目的、実行される操作、および影響を受けるシステム構成要素) を理解しておく必要があります。
ASET のレポートファイルには、各 ASET タスクで検出された問題をできるだけ詳細に記述するメッセージが含まれています。これらのメッセージによって、問題を診断して解決できます。ただし、ASET を活用するには、システム管理とシステム構成要素を全般的に理解していることが前提となります。システム管理者になったばかりのユーザーは、ほかの Solaris システム管理マニュアルと関連するマニュアルページを参照して、ASET の管理の概要を把握してください。
taskstat ユーティリティは、完了したタスクとまだ実行中のタスクを識別します。完了したタスクごとにレポートファイルが生成されます。taskstat ユーティリティの詳細は、taskstat(1M) のマニュアルページを参照してください。
このタスクでは、システムファイルのアクセス権を指定したセキュリティレベルに設定します。このタスクは、システムのインストール時に実行されます。以前に設定したレベルをあとから変更したい場合は、このタスクを再度実行してください。低セキュリティレベルでは、アクセス権は開放型の情報共有環境に適した値に設定されています。中セキュリティレベルでは、アクセス権はほとんどの環境に十分なセキュリティが適用される程度に厳しくなります。高セキュリティレベルでは、アクセスが最も厳しく制限されます。
このタスクによってシステムファイルのアクセス権やパラメータの設定に加えられた変更は、tune.rpt ファイル内にレポートされます。ASET がアクセス権を設定するときに調整するファイルの例については、「調整ファイル」を参照してください。
このタスクでは、システムファイルが検査され、マスターファイル内に一覧された各ファイルの記述と比較されます。マスターファイルは、ASET がこのタスクを実行するときに初めて作成されます。マスターファイルには、指定したセキュリティレベルの checklist によって適用されるシステムファイル設定が含まれています。
ファイルが確認されるディレクトリのリストは、セキュリティレベルごとに定義されます。デフォルトのリストを使用するか、レベルごとに異なるディレクトリを指定して変更できます。
ファイルごとに次の条件が確認されます。
所有者とグループ
アクセス権ビット
サイズとチェックサム
リンク数
最終変更時刻
矛盾が見つかると、cklist.rpt ファイル内にレポートされます。このファイルには、システムファイルのサイズ、アクセス権、およびチェックサムの値について、マスターファイルと比較した結果が入っています。
このタスクでは、passwd ファイルと group ファイル内で定義されているユーザーアカウントとグループの整合性と完全性が確認されます。ローカルパスワードファイルと、NIS または NIS+ パスワードファイルが検査されます。NIS+ パスワードファイルの問題はレポートされますが、解決はされません。このタスクでは、次の違反が検査されます。
重複名または重複 ID
不正な形式のエントリ
パスワードが付いていないアカウント
無効なログインディレクトリ
アカウント nobody
空のグループパスワード
NIS または NIS+ サーバー上の /etc/passwd ファイル内のプラス記号 (+)
矛盾は usrgrp.rpt ファイル内にレポートされます。
このタスクでは、ASET はあらゆるシステムテーブルを検査します。テーブルのほとんどは /etc ディレクトリに入っており、次のシステム構成ファイルが検査されます。
/etc/default/login
/etc/hosts.equiv
/etc/inetd.conf
/etc/aliases
/var/adm/utmpx
/.rhosts
/etc/vfstab
/etc/dfs/dfstab
/etc/ftpd/ftpusers
ASET は、これらのファイルに関して各種の検査と変更を実行し、すべての問題を sysconf.rpt ファイル内にレポートします。
このタスクでは、スーパーユーザー用とその他のユーザー用の PATH 環境変数と UMASK 環境変数が /.profile、/.login、/.cshrc ファイル内でどのように設定されているかを検査します。
環境のセキュリティ状況を検査した結果は、env.rpt ファイル内にレポートされます。
このタスクでは、eeprom セキュリティパラメータの値が検査され、適切なセキュリティレベルに設定されていることを確認します。eeprom セキュリティパラメータは、none、command、または full に設定できます。
ASET はこの設定を変更しませんが、推奨値を eeprom.rpt ファイル内にレポートします。
このタスクでは、システムをネットワークリレーとして安全に使用できることが保証されます。「ファイアウォールシステム」で説明しているように、このタスクでは、ファイアウォール専用システムが設定され、内部ネットワークが外部の公共ネットワークから保護されます。このファイアウォールシステムでは、ネットワークが 2 つに分割されます。このとき、分割された各ネットワークは、互いに信頼されないネットワークとして通信します。ファイアウォールの設定タスクによって、インターネットプロトコル (IP) パケットを転送できなくなり、ルーティング情報は外部ネットワークから隠されます。
ファイアウォールのタスクはすべてのセキュリティレベルで実行されますが、ファイアウォールとしての本来の機能は最上位レベルでのみ動作します。ASET を高セキュリティレベルで実行したいときでも、システムにはファイアウォール保護が不要であることがわかった場合は、asetenv ファイルを編集してファイアウォールタスクをはずすことができます。
行われた変更はすべて firewall.rpt ファイル内にレポートされます。
ASET を対話形式またはバックグラウンドで実行すると、実行ログが生成されます。デフォルトでは、ASET はログファイルを標準出力に生成します。実行ログは、ASET が指定された時刻に実行されたことを確認するもので、実行エラーメッセージも含まれています。aset -n コマンドを使用すると、ログを指定したユーザーに電子メールで配信できます。ASET オプションの一覧については、aset(1M) のマニュアルページを参照してください。
ASET running at security level low Machine=example; Current time = 0325_08:00 aset: Using /usr/aset as working directory Executing task list... firewall env sysconfig usrgrp tune cklist eeprom All tasks executed. Some background tasks may still be running. Run /usr/aset/util/taskstat to check their status: $/usr/aset/util/taskstat aset_dir Where aset_dir is ASET's operating directory, currently=/usr/aset When the tasks complete, the reports can be found in: /usr/aset/reports/latest/*.rpt You can view them by: more /usr/aset/reports/latest/*.rpt |
実行ログはまず、ASET が実行されたシステムと時刻を示します。次に、開始したタスクの一覧を表示します。
「ASET のタスク」で説明しているように、ASET はこれらのタスクごとにバックグラウンド処理を呼び出します。タスクは開始されると実行ログに一覧表示されます。この一覧は、タスクの完了を示しているわけではありません。バックグラウンドタスクの状態を確認するには、taskstat コマンドを使用します。
ASET タスクから生成されたすべてのレポートファイルは、ディレクトリ /usr/aset/reports の下のサブディレクトリに入っています。この節では、/usr/aset/reports ディレクトリの構造と、レポートファイルを管理するためのガイドラインについて説明します。
ASET は、指定されたサブディレクトリにレポートファイルを格納し、レポートの生成日時を反映させます。この規則によって、ASET を実行するたびに変わるシステムの状態が記録されたレコードを順番に追跡できます。これらのレポートを監視し、比較して、システムセキュリティの状況を判断できます。
次の図に reports ディレクトリ構造の例を示します。
この例では、2 つのレポートサブディレクトリを示しています。
0124_01:00
0125_01:00
サブディレクトリ名は、レポートの生成日時を示します。各レポートサブディレクトリ名の形式は次のとおりです。
monthdate_hour:minute
この場合、month、date、hour、minute は、いずれも 2 桁の数値です。たとえば、0125_01:00 は 1 月 25 日の午前 1 時を表します。
2 つのレポートサブディレクトリには、それぞれ ASET を 1 度実行して、生成されたレポートの集合が含まれています。
latest ディレクトリは、常に最新レポートが入っているサブディレクトリを指すシンボリックリンクです。したがって、ディレクトリ /usr/aset/reports/latest に移動すると、ASET で生成された最新レポートを見ることができます。このディレクトリには、最後に ASET を実行した各タスクのレポートファイルが入っています。
各レポートファイルは、それを生成したタスクから取った名前が付けられます。次の表にタスクとそのレポートのリストを示します。
表 20-1 ASET のタスクと生成されるレポート
タスク |
レポート |
---|---|
システムファイルのアクセス権の調整 (tune) |
tune.rpt |
システムファイルの確認 (cklist) |
cklist.rpt |
ユーザーとグループの確認 (usrgrp) |
usrgrp.rpt |
システム構成ファイルの確認 (sysconf) |
sysconf.rpt |
環境変数の確認 (env) |
env.rpt |
eeprom の確認 (eeprom) |
eeprom.rpt |
ファイアウォールの設定 (firewall) |
firewall.rpt |
各レポートファイル内で、メッセージの前後はバナー行で囲まれています。ASET の構成要素を誤って削除したり損傷したりした場合など、タスクが途中で終了することがあります。このような場合、通常はレポートファイルの末尾の方に、途中で終了した理由を示すメッセージが記録されています。
次にレポートファイル usrgrp.rpt の例を示します。
*** Begin User and Group Checking *** Checking /etc/passwd ... Warning! Password file, line 10, no passwd :sync::1:1::/:/bin/sync ..end user check; starting group check ... Checking /etc/group... *** End User And group Checking *** |
ASET を最初に実行したときまたは再構成したときは、レポートファイルを詳細に検査する必要があります。再構成には、asetenv ファイル、masters サブディレクトリのマスターファイルを変更したり、ASET が動作するセキュリティレベルを変更したりすることが含まれます。
このレポートには、ASET の再構成によって発生したエラーがすべて記録されます。レポートを詳しく確認すると、問題が発生した時点で対処して解決できます。
構成上の変更やシステム更新がない期間中にレポートファイルを監視すると、レポートの内容が安定状態になり、予期しない情報は、あってもわずかであることがわかります。diff ユーティリティを使用して、レポートを比較できます。
ASET のマスターファイル tune.high、tune.low、tune.med、および uid_aliases は、ディレクトリ /usr/aset/masters に入っています。ASET は、マスターファイルを使用してセキュリティレベルを定義します。
tune.low、tune.med、tune.high マスターファイルでは、利用できる ASET セキュリティレベルが定義されます。各ファイルでは、各レベルのシステムファイルの属性が指定され、比較と参照に使用されます。
uid_aliases ファイルには、同じユーザー ID (UID) を共有する複数のユーザーアカウントの一覧が入っています。このような複数のユーザーアカウントがあると責任の所在があいまいになるため、通常は ASET が警告を出します。uid_aliases ファイル内で例外を一覧すると、この規則に例外を設けることができます。重複する UID を持つ passwd ファイル内のエントリを uid_aliases ファイル内で指定しておくと、これらのエントリは ASET でレポートされません。
複数のユーザーアカウント (パスワードエントリ) に同じ UID を共有しないでください。他の方法で目的を達成することを検討する必要があります。たとえば、複数のユーザーにアクセス権一式を共有させたい場合は、グループアカウントを作成できます。UID の共有は最後の手段であり、どうしても必要で、他の方法では目的を達成できない場合にだけに使用します。
環境変数 UID_ALIASES を使用すると、別の別名ファイルを指定できます。デフォルトファイルは /usr/aset/masters/uid_aliases です。
システムファイルの確認に使用されるマスターファイルは、初めて ASET を実行するときか、セキュリティレベルの変更後に ASET を実行するときに生成されます。
次の環境変数には、このタスクで確認するファイルを定義します。
CKLISTPATH_LOW
CKLISTPATH_MED
CKLISTPATH_HIGH
環境ファイル asetenv には、ASET タスクに影響する環境変数の一覧が入っています。一部の環境変数を変更すると、ASET の動作を修正することができます。
この節では、ASET を構成する方法とその操作の基礎となる環境について説明します。
ASET の管理と構成は最小限ですみ、ほとんどの場合はデフォルト値で実行できます。ただし、ASET の処理や動作に影響する一部のパラメータを調整して、その特長を最大限に発揮させることができます。デフォルト値を変更する前に、ASET の機能と、システムの構成要素に及ぼす影響を理解しておく必要があります。
ASET は、次の 4 つの構成ファイルに依存してタスクの動作を制御します。
/usr/aset/asetenv
/usr/aset/masters/tune.low
/usr/aset/masters/tune.med
/usr/aset/masters/tune.high
/usr/aset/asetenv ファイルは、次の 2 つの主要セクションに分かれています。
ユーザーが構成可能な環境変数セクション
内部環境変数セクション
ユーザーが構成可能なパラメータセクションは変更できます。ただし、内部環境変数セクションの設定は内部使用だけに限られ、変更できません。
ユーザーが構成可能なセクションのエントリを編集して、次の操作を行うことができます。
実行するタスクを選択する
システムファイルの確認タスク用のディレクトリを指定する
ASET の実行スケジュールを指定する
UID 別名ファイルを指定する
確認対象を NIS+ テーブルまで拡張する
ASET が実行する各タスクでは、システムセキュリティの特定の領域が監視されます。ほとんどのシステム環境では、すべてのタスクでバランスがとれたセキュリティ範囲を提供する必要があります。ただし、1 つまたは複数のタスクを除外してもかまいません。
たとえば、ファイアウォールタスクはすべてのセキュリティレベルで実行されますが、本来の機能は最上位レベルでのみ動作します。ASET を高セキュリティレベルで実行したい場合でも、ファイアウォール保護は不要なときがあります。
asetenv ファイル内で環境変数の TASKS の一覧を編集すると、ファイアウォール機能を使用しないで高セキュリティレベルで実行するように ASET を設定できます。デフォルトでは、TASKS の一覧にはすべての ASET タスクが含まれています。特定のタスクを削除するには、このファイルからそのタスクに関連する変数を削除します。この場合は、一覧から firewall 環境変数を削除することになります。次の一覧に ASET を実行すると、除外したタスクは実行されません。
次の例では、すべての ASET タスクが含まれる TASKS の一覧が表示されます。
TASKS="env sysconfig usrgrp tune cklist eeprom firewall" |
システムファイル確認では、選択したシステムディレクトリ内のファイルの属性が確認されます。次の確認リストパスの環境変数を使用して、どのディレクトリを確認するかを定義できます。
CKLISTPATH_LOW 変数は、低セキュリティレベルで確認されるディレクトリを定義します。CKLISTPATH_MED と CKLISTPATH_HIGH 環境変数は、それぞれ中セキュリティレベルと高セキュリティレベルで同じように機能します。
セキュリティレベルの低い環境変数を定義したディレクトリの一覧は、次にセキュリティレベルの高い環境変数を定義したディレクトリの一覧のサブセットである必要があります。たとえば、CKLISTPATH_LOW に定義したすべてのディレクトリを CKLISTPATH_MED に含め、CKLISTPATH_MED に指定したすべてのディレクトリを CKLISTPATH_HIGH に含めます。
これらのディレクトリに対して実行される確認は再帰的ではありません。ASET では、環境変数に明示的に指定されているディレクトリだけが確認されます。ASETでは、そのサブディレクトリは確認されません。
これらの環境変数の定義を編集して、ASET に確認させたいディレクトリを追加または削除できます。これらの確認リストは、通常は毎日変更がないシステムファイルにのみ便利なことに注意してください。たとえば、一般にユーザーのホームディレクトリは動的な変化が大きすぎるので、確認リストの候補にはなりません。
ASET を起動する場合、対話形式で起動する方法と、-p オプションを使用して ASET タスクをスケジュール指定した時刻に実行する方法があります。ASET は、システム需要が少ないときに定期的に実行できます。たとえば、ASET は PERIODIC_SCHEDULE を照会して、ASET タスクの実行頻度と実行時刻を判断します。ASET を定期的に実行するように設定する方法については、「ASET を定期的に実行する方法」を参照してください。
PERIODIC_SCHEDULE の形式は、crontab エントリの形式と同じです。詳細は、crontab(1) のマニュアルページを参照してください。
UID_ALIASES 変数は、共有 UID が一覧される別名ファイルを指定します。デフォルトファイルは /usr/aset/masters/uid_aliases です。
YPCHECK 環境変数は、ASET でシステム構成ファイルテーブルも確認するかどうかを指定します。YPCHECK はブール型変数なので、true または false しか指定できません。デフォルト値は false で、NIS+ テーブルの確認は無効になっています。
この環境変数の機能を理解するために、passwd ファイルに与える影響を考えてみてください。false に設定すると、ASET はローカルの passwd ファイルを確認します。true に設定すると、NIS+ の passwd ファイル内でシステムのドメインも確認されます。
ASET ではローカルテーブルが自動的に修復されますが、NIS+ テーブル内の潜在的な問題はレポートされるだけです。ASET ではそれらの問題は変更しません。
ASET は、3 つのマスター調整ファイル、tune.low、tune.med、tune.high を使用して、重要なシステムファイルへのアクセス制限を緩めたり厳しくしたりします。この 3 つのマスターファイルは /usr/aset/masters ディレクトリにあり、環境に合わせて調整できます。詳細は、「調整ファイル」を参照してください。
tune.low ファイルは、アクセス権をデフォルトのシステム設定に適した値に設定します。tune.med ファイルは、これらのアクセス権をさらに制限し、tune.low に含まれていないエントリを追加します。tune.high ファイルは、アクセス権をさらに厳しく制限します。
調整ファイル内の設定を変更するには、ファイルのエントリを追加または削除します。アクセス権を現在の設定よりも制限が緩やかになるような値に設定しても意味がありません。システムセキュリティを下位レベルに下げない限り、ASET がアクセス権の制限を緩和したことになりません。
ASET を初めて実行すると、元のシステムファイルが保存され保管されます。aset.restore ユーティリティは、これらのファイルを復元します。また、ASET を定期的に実行するようにスケジュール指定している場合は、そのスケジュールを解除します。aset.restore コマンドは、ASET の操作ディレクトリ /usr/aset に入っています。
システムファイルに適用した変更は、aset.restore コマンドを実行すると失われます。
aset.restore コマンドは、次のような場合に使用します。
ASET の変更を削除して元のシステムを復元したい場合。ASET を永久に無効にしたい場合は、以前にスーパーユーザーの crontab に aset コマンドが追加されていれば、cron スケジュールからそれを削除できます。cron を使用して自動実行を削除する方法については、「ASET の定期的な実行を停止する方法」を参照してください。
ASET を短期間実行したあとに、元のシステム状態を復元する場合
一部の主要なシステム機能が正常に動作せず、ASET が原因だと思われる場合
通常、ネットワークの一部となっているシステム上でも、ASET はスタンドアロンモードで使用されます。スタンドアロンシステムのシステム管理者は、システムのセキュリティとシステムを保護する ASET の実行と管理を担当することになります。
また、ASET は NFS 分散環境でも使用できます。ネットワーク管理者は、すべてのクライアントの各種管理タスクのインストール、実行、管理を担当します。複数のクライアントシステム間で ASET を管理しやすくするために、構成変更を行ってすべてのクライアントに一括して適用すると、各システムにログインしてプロセスを繰り返す必要がなくなります。
ネットワークシステム上で ASET の設定方法を決めるときには、ユーザーに各自のシステム上でセキュリティをどのように制御させるかと、セキュリティ制御に関する責任をどの程度集中させるかを検討する必要があります。
複数のネットワーク構成を設定したい場合があります。たとえば、低セキュリティレベルに指定したクライアント用に 1 つ、中レベルのクライアント用に 1 つ、さらに高レベルのクライアント用に 1 つのネットワーク構成を設定できます。
セキュリティレベルごとに別の ASET ネットワーク構成を作成したい場合は、サーバー上でレベルごとに 1 つずつ合計 3 つの ASET 構成を作成できます。各構成を該当するセキュリティレベルのクライアントにエクスポートします。3 つの構成すべてに共通の ASET 構成要素は、リンクを使用して共有できます。
スーパーユーザー特権を持っているかどうかにかかわらず、クライアントにアクセスされるサーバー上に ASET 構成要素を集中できるほか、サーバー上に集中ディレクトリを設定して、各種クライアント上で実行中のタスクによって生成されるすべてのレポートを収集できます。収集メカニズムを設定する方法については、「サーバー上で ASET レポートを収集する方法」を参照してください。
サーバー上でレポートを収集するように設定すると、すべてのクライアントに関するレポートを 1 箇所で検討できます。この方法は、クライアントがスーパーユーザー特権を持っているかどうかに関係なく使用できます。また、ユーザーに各自の ASET レポートを監視させたい場合は、ローカルシステム上にレポートディレクトリを残しておくこともできます。
次の表に ASET 環境変数と各変数で指定する値を示します。
表 20-2 ASET 環境変数とその意味
環境変数 |
指定する値 |
---|---|
ASETDIR |
ASET の作業ディレクトリ |
ASETSECLEVEL |
セキュリティレベル |
PERIOD_SCHEDULE |
定期的なスケジュール |
TASKS |
実行するタスク |
UID_ALIASES |
別名ファイル |
YPCHECK |
NIS マップと NIS+ テーブルを確認するかどうか |
CKLISTPATH_LOW |
低セキュリティ用のディレクトリリスト |
CKLISTPATH_MED |
中セキュリティ用のディレクトリリスト |
CKLISTPATH_HIGH |
高セキュリティ用のディレクトリリスト |
以下の節で示す環境変数は、/usr/aset/asetenv ファイルにあります。ASETDIR 変数と ASETSECLEVEL 変数はオプションで、aset コマンドを使用してシェルからでなければ設定できません。他の環境変数は、ファイルを編集して設定できます。
ASETDIR は、ASET の作業ディレクトリを指定します。
C シェルからは、次のように入力します。
% setenv ASETDIR pathname |
Bourne シェルまたは Korn シェルからは、次のように入力します。
$ ASETDIR=pathname $ export ASETDIR |
pathname には ASET 作業ディレクトリの完全パス名を設定します。
ASETSECLEVEL は、ASET タスクが実行されるセキュリティレベルを指定します。
C シェルからは、次のように入力します。
% setenv ASETSECLEVEL level |
Bourne シェルまたは Korn シェルからは、次のように入力します。
$ ASETSECLEVEL=level export ASETSECLEVEL |
上記のコマンドで、level を次のいずれかに設定できます。
low |
低セキュリティレベル |
med |
中セキュリティレベル |
high |
高セキュリティレベル |
PERIODIC_SCHEDULE の値の形式は、crontab ファイルと同じです。変数の値は二重引用符で囲んだ 5 つのフィールドからなる文字列として指定します。各フィールドは次のように 1 つの空白文字で区切ります。
"minutes hours day-of-month month day-of-week" |
変数 |
値 |
---|---|
minutes hours |
開始時刻を分 (0-59) と時間 (0-23) で指定する |
day-of-month |
ASET を実行する日付を 1-31 の値で指定する |
month |
ASET を実行する月を 1-12 の値で指定する |
day-of-week |
ASET を実行する曜日を 0-6 の値で指定する。日曜日が 0 になる |
次の規則が適用されます。
どのフィールドも、値のリストをコンマで区切って指定できる
値を数値または範囲として指定できる。範囲は、1 対の数値をハイフンで結合して指定する。範囲に含まれるすべての時刻に ASET タスクを実行することを示す
どのフィールドも、値としてアスタリスク (*) を指定できる。アスタリスクを指定すると、そのフィールドで使用できるすべての値を指定したことになる
PERIODIC_SCHEDULE 変数のデフォルトエントリでは、ASET が毎日深夜 12:00 に実行されます。
PERIODIC_SCHEDULE="0 0 * * *" |
TASKS 変数は、ASET で実行されるタスクを一覧します。デフォルトでは、7 つのタスクが次のようにすべて一覧されます。
TASKS="env sysconfig usrgrp tune cklist eeprom firewall" |
UID_ALIASES 変数は、別名ファイルを指定します。別名ファイルがあると、ASET は使用可能な複数の別名の一覧をこのファイル内で照会します。書式は UID_ALIASES=pathname です。pathname は、別名ファイルのフルパス名です。
デフォルトは次のとおりです。
UID_ALIASES=${ASETDIR}/masters/uid_aliases |
YPCHECK 変数は、システムテーブルを確認するタスクを拡張して NIS または NIS+ テーブルを含めます。この変数はブール変数なので、true または false に設定されます。
デフォルトは false で、ローカルシステムテーブルが確認されます。
YPCHECK=false |
3 つの確認リストパス変数は、システムファイルの確認リストタスクで確認されるディレクトリを一覧します。次の変数の定義は、デフォルトで設定されます。さまざまなレベルの変数の関係を定義しています。
CKLISTPATH_LOW=${ASETDIR}/tasks:${ASETDIR}/util:${ASETDIR}/masters: /etc CKLISTPATH_MED=${CKLISTPATH_LOW}:/usr/bin:/usr/ucb CKLISTPATH_HIGH=${CKLISTPATH_MED}:/usr/lib:/sbin:/usr/sbin:/usr/ucblib |
確認リストパス環境変数の値は、シェルパス変数の値と似ています。つまり、複数のディレクトリ名を指定するときは、コロンで区切ります。等号 (=) を使用すると、変数名にその値を設定できます。
この節では、調整ファイルや別名ファイルなどの ASET ファイルの例を示します。
ASET は 3 つの調整ファイルを管理します。次の表では、3 つのすべての調整ファイルのエントリの書式を示します。
表 20-4 調整ファイルのエントリの書式
フィールド名 |
説明 |
---|---|
pathname |
ファイルのフルパス名 |
mode |
アクセス権の設定を表す 5 桁の数値 |
owner |
ファイルの所有者 |
group |
ファイルのグループ |
type |
ファイルの形式 |
調整ファイルを編集するときは、次の規則が適用されます。
パス名には、アスタリスク (*) や疑問符 (?) など、通常のシェルのワイルドカード文字を使用して、複数のエントリを指定できます。詳細は、sh(1) のマニュアルページを参照してください。
mode は、最も制限が緩やかな値を表します。現在の設定が指定した値よりもすでに厳しく制限されている場合、ASET はアクセス権の設定を緩和しません。たとえば、指定した値が 00777 の場合、00777 は常に現在の設定よりも緩やかな制限を表すため、アクセス権は変更されません。
セキュリティレベルを下げるか、ASET を削除しない限り、ASET ではこの方法でモード設定を行います。セキュリティレベルを前回の実行時よりも下げるときや、システムファイルを ASET を最初に実行する前の状態に復元したいときには、ASET は操作の内容を認識して保護レベルを下げます。
owner と group には、数値 ID ではなく名前を使用する必要があります。
owner、group、type の代わりに疑問符 (?) を使用すると、ASET がこれらのパラメータの既存の値を変更しないようにします。
type には、symlink (シンボリックリンク)、ディレクトリ、またはファイルなどすべての種類を指定できます。
セキュリティレベルが高くなるほど、調整ファイルは下位レベルよりも緩やかなファイルアクセス権にリセットされます。また、上位セキュリティレベルになるほど、一覧に多数のファイルが追加されます。
1 つのファイルで複数の調整ファイルエントリを照合できます。たとえば、etc/passwd は etc/pass* エントリと /etc/* エントリに一致します。
2 つのエントリのアクセス権が異なる場合は、ファイルアクセス権は最も厳しいアクセス権を表す値に設定されます。次の例では、/etc/passwd のアクセス権は 00755 に設定されますが、これは 00755 は 00770 よりも厳密な制限であることを表します。
/etc/pass* 00755 ? ? file /etc/* 00770 ? ? file |
2 つのエントリの owner 指定または group 指定が異なる場合は、最後のエントリが優先されます。次の例では、/usr/sbin/chroot の所有者が root に設定されます。
/usr/sbin/chroot 00555 bin bin file /usr/sbin/chroot 00555 root bin file |
別名ファイルには、同じユーザー ID を共有する別名の一覧が含まれています。
各エントリの書式は次のとおりです。
uid=alias1 =alias2 =alias3=...
uid |
共有 UID |
aliasn |
UID を共有するユーザーアカウント |
たとえば、次のエントリでは、sysadm および root アカウントによって共有されている UID 0 を表示しています。
0=root=sysadm