7


環境変数

この章では、環境変数の使用について説明します。この章で取り上げる変数は、Solaris Security Toolkit ソフトウェアで使用されるすべての変数です。また、これらの変数値をカスタマイズする際のヒントとテクニックについても説明します。

この章では、以下の項目を説明します。


変数のカスタマイズと割り当て

Solaris Security Toolkit ソフトウェアには、ドライバとスクリプトの動作をカスタマイズまたは指示するための簡単な方法を提供する環境変数が用意されています。この環境変数は Bourne シェル変数なので、シェル変数に適用されるすべてのルールがこの Solaris Security Toolkit の変数にも適用されます。この節では、変数のカスタマイズと割り当てについて説明します。

Solaris Security Toolkit ソフトウェアには、次の 4 種類の環境変数があります。



注 - 上記の変数はすべて、割り当てとカスタマイズを行うことができます。



変数をカスタマイズするときは、それぞれのタイプの変数が Solaris Security Toolkit ソフトウェア内で果たす役割とその目的をあらかじめ理解しておくことが重要です。変数の設定とカスタマイズは、使用しているシステム、環境、およびセキュリティーポリシーに合うように Solaris Security Toolkit ソフトウェアを構成するための重要ポイントです。変数の使用についての詳細は、環境変数の使用を参照してください。

場合によっては、標準の変数、ドライバ、スクリプトをカスタマイズしても、特定のニーズに対応できないことがあります。このような場合は、使用環境に合った変数、ドライバ、スクリプトを作成してください。変数の作成についての詳細は、環境変数の作成を参照してください。

この節では、以下の項目を説明します。

静的変数の割り当て

静的変数とは、決まった値または静的な値が割り当てられる変数のことです。この値は Solaris Security Toolkit の初期化前にすでに設定されており、外的要因によってこの値が変更されない限り、Solaris Security Toolkit の実行中は同じ値のままです。実行されている状況や環境に応じて、これらの変数の値が変わることはありません。

静的変数は、システムの種類、ネットワーク設定、インストールされているアプリケーションなどの外部要因にポリシー設定が依存していない場合には便利です。たとえば、通常、パスワードの有効期限は、企業や部門のポリシーによって定義されます。この有効期限に静的変数を割り当てると、企業や部門内のすべてのシステムとデバイスにこの設定が適用されます。パスワードの有効期限は外部要因に依存しないため、通常、システム管理者はパスワードの有効期限を静的変数として設定します。

以下に静的変数の割り当て例を示します。


JASS_AGING_MAXWEEKS="8"
JASS_AGING_MINWEEKS="1"

 

この例では、ユーザーパスワードが最後に変更されてから 8 週間で期限が切れるように構成されています。また、同様に静的変数として定義されている 2 番目の変数では、ユーザーパスワードの変更を 1 週間に 1 回までと制限しています。

動的変数の割り当て

動的変数とは、一般に柔軟性を必要とする変数であり、その値がコマンドの出力結果やファイルの内容によって変わる変数のことです。この場合、動的変数は実行されている環境を認識して、より効果的に環境に適応することができます。以下に動的変数の割り当て例を示します。


JASS_AT_DENY="`awk -F: '{ print $1 }' ${JASS_PASSWD}`"

 

この例では、JASS_PASSWD (たとえば、JASS_ROOT_DIR/etc/passwd) ファイルで定義されている各ユーザーを、変数 JASS_AT_DENY に追加しています。ユーザーのリストは、Solaris Security Toolkit ソフトウェアが実行されているシステムによって変わります。このように、より使用環境に対応することができます。同様に、あらかじめ定義されている例外を除いたすべてのユーザーを含めるように構築することもできます。次の例では、root アカウントと ORACLE® アカウントを除き、システム上のすべてのユーザーを JASS_CRON_DENY 変数に追加する場合を示します。


JASS_CRON_DENY="`awk -F: '{ print $1 }' ${JASS_PASSWD} |\
   egrep -v '^root|^oracle'`"

 

複合置換変数の割り当て

さらに変数の割り当てについて考えていくと、複合置換という方法になります。この方法を使用すると、ポリシー、ファイルの内容、あるいはその他のメカニズムに基づいて、より高度な値を変数に割り当てることができます。

複合置換変数の割り当ての一例には、静的変数と動的変数の割り当ての組み合わせがあります。次の例では、静的リストの値と JASS_ROOT_DIR/etc/passwd ファイルの出力結果の両方に基づいた値を JASS_FTPUSERS に割り当てています。


JASS_FTPUSERS="`awk -F: '$1 !~ /^ftp/ { print $1 }' \
${JASS_PASSWD}` guest"

 

この例では、JASS_FTPUSERS 変数に guest アカウントが必ず追加されます。また、ログイン名が接頭辞 ftp から始まらないユーザーでも JASS_PASSWD にリストされていれば、JASS_FTPUSERS 変数に追加されます。これらの方法を組み合わせて使用すると、たいていの組織のニーズを満たすことができる構成のほとんどを実現することができます。

また別の高度な方法としては、シェルスクリプトやシェル関数に基づいて置換ポリシーを定義する方法もあります。この例については、Drivers/finish.init ファイルの JASS_SHELLS 変数の宣言を参照してください (コード例 7-1)。次の例では、OS のバージョンによって変数の割り当てが決まります。


コード例 7-1 OS のバージョンに基づいた変数の割り当て

#
if [ -z "${JASS_SHELLS}" ]; then
# These shells are by default found in Solaris 2.5.1 to Solaris 7
JASS_SHELLS="
      /usr/bin/sh     /usr/bin/csh     /usr/bin/ksh
      /usr/bin/jsh    /bin/sh          /bin/csh
      /bin/ksh        /bin/jsh         /sbin/sh
      /sbin/jsh"
# This is to handle special cases by OS.
case ${JASS_OS_REVISION} in 
      5.8 | 5.9)
         JASS_SHELLS="${JASS_SHELLS}
            /bin/bash       /bin/pfcsh       /bin/pfksh
            /bin/pfsh       /bin/tcsh        /bin/zsh
            /usr/bin/bash   /usr/bin/pfcsh   /usr/bin/pfksh
            /usr/bin/pfsh   /usr/bin/tcsh    /usr/bin/zsh"
      ;;
esac
fi
export JASS_SHELLS
# This function could be further enhanced, for example, to remove
# those shell entries that do not exist on the system. This
# could be done by adding the following code:
tmpShells="${JASS_SHELLS}"
JASS_SHELLS=""
for shell in ${tmpShells}; do
    if [ -x "${JASS_ROOT_DIR}${shell}" ]; then
        if [ -z "${JASS_SHELLS}" ]; then
            JASS_SHELLS="${JASS_SHELLS}/${shell}"
        fi
    fi
done

 

このような機能は、/usr/bin/bash/usr/bin/tcsh など、一部のシェルが使用できない最小化されたシステムにおいて役立ちます。(なお、これらのシェルは、それぞれ SUNWbash パッケージと SUNWtcsh パッケージに存在するものです。) この方法を使用すれば、不適切な変数の割り当てが原因で生成される通知と警告のメッセージ数を減らすことができます。

グローバル変数およびプロファイルベース変数の割り当て

グローバル変数を割り当てると、Solaris Security Toolkit 変数の多くのデフォルト値を無効にすることができます。Solaris Security Toolkit ソフトウェアを実行するたびに、デフォルト値を無効にする変数を定義して割り当てるには、user.init ファイルをカスタマイズします。このファイルは、Solaris Security Toolkit ソフトウェアが起動されるたびに、driver.init プログラムによって読み取られます。

また、プロファイルベースの変数を割り当てて、デフォルト値を無効にすることもできます。この無効化は、driver.init ファイルを呼び出したあと、プロファイルそのものの内部で行われます。プロファイル内部で変数を割り当てると、すべてのプロファイルではなく特定のプロファイルについて、変数を更新、拡張、および優先指定することができます。たとえば、ファイル server-secure.driver に、次のプロファイルベースの変数の優先指定が含まれているとします。


JASS_SVCS_ENABLE="telnet ftp dtspc rstatd 100155"

 

この例では、Telnet、FTP、dtspcrstatd、および rpc.smserverd (100155) サービスのエントリを含むように、JASS_SVCS_ENABLE 変数が割り当てられています。この割り当てでは、Solaris Security Toolkit ソフトウェアにこれらのサービスを有効にしておく (無効であった場合は有効にする) ように指示しています。通常、デフォルトの動作では、これらのサービスは JASS_SVCS_DISABLE 変数によって無効にされているサービスです。


環境変数の作成

標準の Solaris Security Toolkit ソフトウェアからは必要な変数が提供され、使用しているシステムと環境に合わせてその変数をカスタマイズすることができますが、ときには、新しい変数を作成する必要がある場合があります。変数の作成が必要となることが多いのは、独自のスクリプトを作成する場合です。サイト固有のスクリプトやカスタムスクリプトをサポートする新しい変数を作成して割り当てることができます。新しい変数を作成することで、Solaris Security Toolkit ソフトウェアが持っているフレームワークとモジュール性を生かすことができます。

迅速かつ容易に新しい機能を作成したり、カスタマイズした機能を実装するときは、Solaris Security Toolkit ソフトウェアの既存の機能を利用してください。標準の変数をサンプルとして使用し、そこから新しい変数を作成します。可能ならば、新しい変数を作成せずに、標準の変数をカスタマイズするようにしてください。このようにソフトウェアのフレームワークを使用すると、あまりカスタマイズされないコードを作成してサポートすることができます。



注 - 接頭辞 JASS_ は、Solaris Security Toolkit ソフトウェア開発者が使用するために予約されています。新しい変数を作成したときには、この接頭辞を使用しないでください。企業や組織に固有の接頭辞を使用するようにしてください。



移植性と構成上の問題を簡略化するために、各種 .init スクリプトで定義されている環境変数は Solaris Security Toolkit ソフトウェア全体を通して使用されます。

変数を追加する必要がある場合は、その変数を環境変数として user.init スクリプトに追加してください。

新しい変数を追加するには、デフォルト値を指定して変数宣言を追加し、その宣言を user.init ファイルにエクスポートします。この処理ではグローバルなデフォルト値がエクスポートされますが、セキュリティープロファイル (ドライバ) 内でこの値を無効にすれば、後で必要に応じて変更が可能です。たとえば、次のコードでは、デフォルト値 0 を指定して新しい変数 ABC_TESTINGuser.init ファイルに追加しています。


ABC_TESTING="0"
export ABC_TESTING

 

変数の値が現在未定義である場合には、その値の設定だけを行う必要があるときがあります。この方法は、管理者にログインシェルから値を変更できるようにする場合に最も便利です。これを実行するには、上記のコーディング例を次のように変更します。


if [ -z "${ABC_TESTING}" ]; then
   ABC_TESTING="0"
fi
export ABC_TESTING

 


環境変数の使用

この節では、Solaris Security Toolkit ソフトウェアで定義されているすべての標準の変数をアルファベット順に説明します。これらの変数をより効果的に活用できる方法がある場合には、それに関する推奨事項などの役立つ情報も説明します。

Solaris Security Toolkit ソフトウェアには、次の 4 種類の環境変数があります。

この節で説明する各変数は、Solaris Security Toolkit ソフトウェアでの機能に応じて、以下のいずれかのファイルで定義されています。(すでに説明したように、機能はその目的に基づいて分類されています。)

これらのファイルについての詳細は、第 3 章を参照してください。

移植性と構成上の問題を簡略化するために、各種 .init スクリプトで定義されている環境変数は Solaris Security Toolkit ソフトウェア全体を通して使用されます。

変数を追加する必要がある場合は、その変数を環境変数として user.init スクリプトに追加してください。詳細については、環境変数の作成を参照してください。



注 - スクリプトで使用される環境変数のデフォルト値は、finish.init スクリプトで定義されます。



この節では、変数について次の構成で説明します。

フレームワーク変数の定義

フレームワーク変数とは、Solaris Security Toolkit ソフトウェアで定義および使用される変数のことで、構成状態の維持またはコア変数の提供を行います。通常、これらの変数はグローバル変数であり、ソフトウェアのフレームワーク、コア関数、およびスクリプトの中に含まれます。

フレームワーク変数を変更することで、動的にソフトウェアの動作を変更できます。そこで、フレームワーク変数を変更するのは、どうしても必要な場合に限定してください。変更による影響を明確に理解し、問題が発生した場合に解決することができる経験豊富な管理者だけが変更を行うようにしてください。



注 - すべてのフレームワーク変数を変更できるわけではありません。配備された Solaris Security Toolkit ソフトウェア間での整合性を高め、それぞれのソフトウェア構成をサポート可能にするために、この制限が設けられています。





caution icon

注意 - 変更しなければ無効にできないフレームワーク変数は、直接変更しないでください。



ここでは、以下のフレームワーク変数について説明します。

JASS_AUDIT_DIR



注 - 通常、この変数を変更する必要はありません



Solaris Security Toolkit ソフトウェアの規則では、監査スクリプトはすべて Audit ディレクトリに格納されます。しかし、格納先に柔軟性をもたせるため、管理者は、この JASS_AUDIT_DIR 環境変数を使用すれば、別の場所に監査スクリプトを格納することができます。デフォルトでは、この変数は JASS_HOME_DIR/Audit に設定されています。

JASS_CHECK_MINIMIZED

この変数は、監査処理でのみ使用されます。この変数の値によって、大部分の監査スクリプトに含まれている check_minimized 関数の実行方法が決定されます。この変数が 0 (デフォルト値) に設定されている場合、または値を持っていない場合、check_minimized 関数はチェックを実行しません。この変数の値が 1 の場合、スクリプトはチェックを実行します。

最小化されていないシステムで、チェックを行わずにソフトウェアを実行するときに、この変数を使用します。使用しない場合、最小化されていないシステムで check_minimized 関数から失敗メッセージが表示されて、監査処理には合格しません。

JASS_CONFIG_DIR

Solaris Security Toolkit ソフトウェアのバージョン 0.3 から、用途がわかりやすいように、変数 JASS_CONFIG_DIRJASS_HOME_DIR に名前が変更されました。JASS_CONFIG_DIR 変数は、現在使用されていません。JASS_HOME_DIRを参照してください。

JASS_DISABLE_MODE



注 - この環境変数は、Solaris 10 OS を実行しているシステムには使用しません。



この変数は、run-control スクリプトから開始されるサービスを無効にするために、Solaris Security Toolkit ソフトウェアで使用される方法を定義します。Solaris OS 9 では、この変数にはデフォルトで conf の値が割り当てられます。一方、それ以前のすべてのバージョンでは、デフォルトの値は script です。



注 - 特定のサービスで構成ファイルを使用していなかったり、開始前に構成ファイルの存在をチェックしない場合には、そのサービスを無効にするときに script 方法が使用されます。



JASS_DISABLE_MODE 変数が conf に設定されている場合は、その構成ファイルを使用しないことによってサービスを無効にします。この方法は、開始前に構成ファイルが存在するかどうかを最初にチェックするサービスにおいては有効です。これらの無効にされた構成ファイルは Solaris OS パッチで置換されることはほとんどないため、この方法を使用すると、よりサポートしやすく維持しやすい構成になります。

この変数が script に設定されている場合は、それぞれの実行コントロールスクリプトを使用しないことによってサービスを無効にします。サービスの開始が許可されないと、サービスを実行することはできないので、この方法も有効です。ただし、Solaris OS パッチは実行コントロールスクリプトをインストールし、無効にされていたサービスを再有効化するので、あまりサポートしやすい構成ではありません。



注 - デフォルトの設定は変更しないでください。





注 - セキュリティースキャナを使用している場合は、この構成を使用してスキャナを適切にテストする必要があります。ほとんどのスキャナは一般に (しかも誤って) 実行コントロールスクリプトの存在のみをチェックするので、この変数を conf に設定すると、誤検出になる可能性があります。監査機能にはこの制約はありません。



JASS_DISPLAY_HOST_LENGTH

JASS_DISPLAY_HOSTNAME 変数が設定されている場合、この変数はホスト名に対して出力される文字数を設定します。

JASS_DISPLAY_HOSTNAME



注 - JASS_DISPLAY_HOSTNAME 変数は、JASS_VERBOSITY2 (要約モード) 以下の場合にのみ使用されます。



この変数は、監査処理中のホスト名情報の表示を制御します。Solaris Security Toolkit ソフトウェアで使用する詳細レベルを選択することができます。単一行出力モード (JASS_VERBOSITYを参照) には、実行されているシステムのホスト名を各行に付けるオプションがあります。この値は、JASS_HOSTNAME と同じです。この情報を含めておくと、複数のシステムからの実行を処理するときに便利です。この変数を 1 に設定した場合、出力される各行の先頭に対象システムのホスト名が付加されます。それ以外の場合は、この情報は含まれません。デフォルトでは、この情報は表示されません。

JASS_DISPLAY_SCRIPT_LENGTH

JASS_DISPLAY_SCRIPTNAME 変数が設定されている場合、この変数はスクリプト名に対して出力される文字数を設定します。

JASS_DISPLAY_SCRIPTNAME



注 - JASS_DISPLAY_SCRIPTNAME 変数は、JASS_VERBOSITY2 (要約モード) 以下の場合にのみ使用されます。



この変数は、監査処理中の現在のスクリプト名の表示を制御します。Solaris Security Toolkit ソフトウェアで使用する詳細レベルを選択することができます。単一行出力モード (JASS_VERBOSITYを参照) には、実行されている現在の監査スクリプト名を各行に付けるオプションがあります。この情報を含めておくと、失敗メッセージの発信元を判定するときに便利です。この変数を 1 に設定した場合、出力される各行の先頭に現在の監査スクリプト名が付加されます。それ以外の場合は、この情報は含まれません。デフォルトでは、この情報は含まれています。

JASS_DISPLAY_TIME_LENGTH

JASS_DISPLAY_TIMESTAMP 変数が設定されている場合、この変数はタイムスタンプに対して出力される文字数を設定します。

JASS_DISPLAY_TIMESTAMP



注 - JASS_DISPLAY_TIMESTAMP 変数は、JASS_VERBOSITY2 (要約モード) 以下の場合にのみ使用されます。



この変数は、監査処理中のタイムスタンプ情報の表示を制御します。Solaris Security Toolkit ソフトウェアで使用する詳細レベルを選択することができます。単一行出力モード (JASS_VERBOSITYを参照) には、実行されているソフトウェアに関連するタイムスタンプを各行に付けるオプションがあります。この値は、JASS_TIMESTAMP と同じです。この情報を含めておくと、単一システムまたは一連のシステムからの複数の実行を処理するときに便利です。この変数を 1 に設定した場合、出力される各行の先頭に実行のタイムスタンプが付加されます。それ以外の場合は、この情報は含まれません。デフォルトでは、この情報は表示されません。

JASS_FILE_COPY_KEYWORD

この変数には、ファイルコピーに使用される、キーワード固有の接尾辞が含まれています。copy_files() 関数によって使用され、JASS_FILES ディレクトリ構造からさまざまなドライバ用のさまざまなファイルを取得します。

JASS_FILES

この変数は、対象システムにコピーするファイルシステムオブジェクトのリストを指定します。この変数にリストする各オブジェクトは、絶対パス名を使用して指定してください。各オブジェクトは、JASS_HOME_DIR/Files のルートディレクトリ内のファイルシステム階層に格納されます。



注 - JASS_FILESuser.init ファイルには追加できません。この変数を変更するには、関連する .driver ファイルを新しい名前にコピーし、その新しいファイルを変更します。



JASS_FILES 変数を使用したファイルの指定


注 - この機能は基本的には、JASS_FILES "+" 関数と同じです。



ファイルリストが一般ファイルリストの内容に追加されるのは、定義されている Solaris OS バージョンで Solaris Security Toolkit ソフトウェアが実行されている場合だけです。バージョン固有リストは、JASS_FILES 変数の末尾にオペレーティングシステムのメジャーおよびマイナーバージョン番号を下線で区切って付加して作成します。現在 Solaris Security Toolkit ソフトウェアでサポートしているオプションを、表 7-1 に示します。


表 7-1 JASS_FILES 変数でサポートする OS バージョン

変数

OS バージョン

JASS_FILES

すべてのバージョンの Solaris OS に適用され、追加ではなく上書きする

JASS_FILES_5_5_1

Solaris 2.5.1 OS のみに適用

JASS_FILES_5_6

Solaris 2.6 OS のみに適用

JASS_FILES_5_7

Solaris 7 OS のみに適用

JASS_FILES_5_8

Solaris 8 OS のみに適用

JASS_FILES_5_9

Solaris 9 OS のみに適用

JASS_FILES_5_10

Solaris 10 OS のみに適用


 

たとえば、/etc/logadm.conf ファイルは、Solaris 9 OS にのみ適用されます。Files/etc/logadm.conf ファイルだけを Solaris 9 OS にインストールするには、次の構文を使用してください。


JASS_FILES_5_9="			/etc/logadm.conf"

 

JASS_FILES 変数を使用すると、以下の方法でファイルを指定できます。

次の例は、hardening.driver の一部です。


JASS_FILES="
                /etc/dt/config/Xaccess
                /etc/init.d/set-tmp-permissions
                /etc/issue
                /etc/motd
                /etc/rc2.d/S00set-tmp-permissions
                /etc/rc2.d/S07set-tmp-permissions
                /etc/syslog.conf
"

 

このファイルを含めるように JASS_FILES 環境変数を定義することにより、クライアントにある /etc/motd ファイルが、Solaris Security Toolkit ソフトウェアの JASS_HOME_DIR/Files/etc/motd ファイルに置き換えられます。ファイル、ディレクトリ、シンボリックリンクは、Files ディレクトリに含めて、対応するドライバの JASS_FILES 定義に追加すればコピーできます。

ホスト固有のファイルとは、対象システムのホスト名が Files ディレクトリのオブジェクトに割り当てられているホスト名と一致する場合にのみコピーされるファイルのことです。この機能を使用するには、次の形式で Files ディレクトリのファイルを作成します。


/etc/syslog.conf.$HOSTNAME

 

このシナリオでは、ホスト名が HOSTNAME で定義されている値と一致する場合にのみ、JASS_HOME_DIR/Files/etc/syslog.conf.HOSTNAME ファイルが対象システム上の JASS_ROOT_DIR/etc/syslog.conf にコピーされます。syslog.confsyslog.conf.HOSTNAME がどちらも存在する場合は、ホスト固有のファイルが優先されます。

OS リリース固有のファイルはホスト固有のファイルと概念は同じですが、対象システムの Solaris OS バージョンが、Files ディレクトリのオブジェクトに割り当てられている値と一致する場合にのみ、対象システムにコピーされます。この機能を使用するには、次の形式で Files ディレクトリのファイルを作成します。


/etc/syslog.conf+$OS

 

この例では、対象システムの Solaris OS バージョンが OS で定義されている値と一致する場合にのみ、JASS_HOME_DIR/Files/etc/syslog.conf+OS ファイルが対象システムに JASS_ROOT_DIR/etc/syslog.conf としてコピーされます。

OS 変数は、uname -r コマンドで生成された出力をミラー化する必要があります。たとえば、Solaris 8 OS がセキュリティー保護されていた場合には、JASS_HOME_DIR/Files/etc/syslog.conf+5.8 という名前を持つファイルがコピーされます。このファイルが他の OS リリースにコピーされることはありません。OS 固有のファイルは汎用ファイルより優先されますが、OS 固有のファイルよりもホスト固有のファイルの方が優先されます。

JASS_FILES 変数は、OS 固有の拡張子もサポートします。この拡張子は、特定の Solaris OS バージョンにのみコピーするファイルシステムオブジェクトのリストを指定するときに使用します。OS 固有の JASS_FILES 拡張子は、Solaris OS バージョン 5.5.1、5.6、7、8、9、および 10 でサポートされます。たとえば、Solaris 8 OS に対してのみファイルのリストをコピーするには、JASS_FILES_5_8 変数を定義して、この変数にコピーするファイルのリストを割り当てます。

JASS_FILES 変数のカスタマイズ

この節では、JASS_FILES 環境変数のカスタマイズ方法について説明します。以下のコーディング例は、Drivers/config.driver ファイルの一部です。このプロファイルファイルは、プラットフォーム上で基本の構成を行います。デフォルトでは config.driver ファイルはどのような状態であるかを次に示します。


JASS_FILES=""

 

次のプロファイル例には、ファイルテンプレート、ドライバ、および終了スクリプトの使用方法例が示されています。driver.run 関数が呼び出されたときに、JASS_HOME_DIR/Files/ ディレクトリから /.cshrc ファイルと /.profile ファイルを対象プラットフォームにコピーするよう config.driver が構成されています。


JASS_FILES="/.cshrc
/.profile
"

 

いずれかのファイルの内容を変更するには、JASS_HOME_DIR/Files/ ディレクトリに格納されているファイルのコピーを変更します。ファイルテンプレートを追加または削除するだけならば、そのように JASS_FILES 変数を変更します。変更管理メカニズムを使用して、Solaris Security Toolkit 構成の変更を追跡してください。詳細は、『Solaris Security Toolkit 4.2 管理マニュアル』の第 1 章「バージョンの管理」を参照してください。

Solaris Security Toolkit ソフトウェアでは、OS バージョン固有のファイルリストをサポートしています。詳細は、前節の JASS_FILES 変数を使用したファイルの指定を参照してください。

JASS_FILES_DIR



注 - 通常、この変数を変更する必要はありません。



この変数は、JASS_HOME_DIR にある Files ディレクトリの場所を指します。このディレクトリには、クライアントにコピーできるファイルシステムオブジェクトがすべて格納されています。

オブジェクトをシステムにコピーするには、JASS_FILES 変数またはその OS 固有の拡張子のいずれかに、ファイルをリストする必要があります。install-templates.fin スクリプトによって、セキュリティー強化処理中に、これらのオブジェクトがクライアントにコピーされます。JASS_FILES 変数は、個々のドライバ内で設定してください。この変数は、他の構成ファイルによっては定義されません。この変数を使用してファイルをコピーするその他の方法については、JASS_FILESを参照してください。デフォルトでは、この変数は JASS_HOME_DIR/Files に設定されています。

JASS_FINISH_DIR



注 - 通常、この変数を変更する必要はありません



Solaris Security Toolkit ソフトウェアの規則では、終了スクリプトはすべて Finish ディレクトリに格納されます。しかし、格納先に柔軟性を持たせるために、JASS_FINISH_DIR 環境変数を使用すれば、別の場所に終了スクリプトを格納することができます。デフォルトでは、この変数は JASS_HOME_DIR/Finish に設定されています。

JASS_HOME_DIR



注 - Solaris Security Toolkit ソフトウェアがすでに存在している JumpStart インストールのサブディレクトリにインストールされる場合を除き、通常、この変数を変更する必要はありません。上記のケースに該当する場合は、SI_CONFIG_DIR の最後に Solaris Security Toolkit ソースのパスを追加して、SI_CONFIG_DIR/jass-n.n のように変更してください (n.nは、ソフトウェアの現在のバージョン番号)。



この変数は、Solaris Security Toolkit のソースツリーの場所を定義します。JumpStart モードでは、JASS_HOME_DIR 変数は、JumpStart SI_CONFIG_DIR 変数によって設定されます。スタンドアロンモードでは、ベースディレクトリに含まれている jass-execute スクリプトによって設定されます。

JASS_HOSTNAME



caution icon

注意 - フレームワークのいくつかのコンポーネントが、正しく設定されているこの変数に依存しているため、この変数を変更しないでください



この変数には、Solaris Security Toolkit ソフトウェアが実行されているシステムのホスト名を指定します。この変数は、driver.init スクリプト内で Solaris OS uname -n コマンドを使用して、実行中に設定されます。

JASS_ISA_CAPABILITY



注 - この環境変数は、バージョン 4.2 の時点で Solaris Security Toolkit ソフトウェアから削除されました。





注 - 通常、この変数を変更する必要はありません



この変数は、対象システムの Solaris OS 命令セットの能力を定義します。システムが 32 ビットと 64 ビットのどちらのモードで動作する能力があるか判定するときに、この変数を使用します。この判定が行われるのは、終了スクリプトで使用する命令セットアーキテクチャー (ISA) 情報を提供するためです。この変数の値は、Solaris OS パッケージ SUNWkvmx が存在しているかどうかのチェック結果に基づいて決まります。このパッケージがインストールされている場合には、システムは 64 ビット対応と見なされ、この変数は 64 に設定されます。インストールされていない場合は、システムは 32 ビットのみに対応と見なされ、この変数は 32 に設定されます。

JASS_LOG_BANNER



注 - logBanner 関数は、JASS_VERBOSITY変数が 3 (完全モード) 以上、かつ JASS_LOG_BANNER 変数が 0 でない場合にのみ、出力を表示します。



この変数は、logBanner 関数の動作を制御します。logBanner 関数は、Solaris Security Toolkit ソフトウェアで使用されるバナーメッセージをすべて生成する関数です。この変数が 0 に設定されている場合、logBanner 関数は何も情報を表示しません。それ以外の場合は、logBanner 関数は引数として渡された情報を表示します。この変数は、出力メッセージをよりニーズに合うように変更するときに使用します。デフォルトではこの変数は値を持たないため、logBanner 関数は通常どおり動作します。

JASS_LOG_ERROR

この変数は、logError 関数の動作を制御します。logError 関数は、接頭辞 [ERR ] が付いたメッセージを生成する関数です。この変数が 0 に設定されている場合、logError 関数は何も情報を表示しません。それ以外の場合は、logError 関数は引数として渡された情報を表示します。この変数は、出力メッセージをよりニーズに合うように変更するときに使用します。デフォルトではこの変数は値を持たないため、logError 関数は通常どおり動作します。

JASS_LOG_FAILURE

この変数は、logFailure 関数の動作を制御します。logFailure 関数は、接頭辞 [FAIL] が付いたメッセージを生成する関数です。この変数が 0 に設定されている場合、logFailure 関数は何も情報を表示しません。それ以外の場合は、logFailure 関数は引数として渡された情報を表示します。この変数は、出力メッセージをよりニーズに合うように変更するときに使用します。デフォルトではこの変数は値を持たないため、logFailure 関数は通常どおり動作します。

JASS_LOG_NOTICE

この変数は、logNotice 関数の動作を制御します。logNotice 関数は、接頭辞 [NOTE] が付いたメッセージを生成する関数です。この変数が 0 に設定されている場合、logNotice 関数は何も情報を表示しません。それ以外の場合は、logNotice 関数は引数として渡された情報を表示します。この変数は、出力メッセージをニーズに合うように変更するときに使用します。デフォルトではこの変数は値を持たないため、logNotice 関数は通常どおり動作します。

JASS_LOG_SUCCESS

この変数は、logSuccess 関数の動作を制御します。logSuccess 関数は、接頭辞 [PASS] が付いたメッセージを生成する関数です。この変数が 0 に設定されている場合、logSuccess 関数は何も情報を表示しません。それ以外の場合は、logSuccess 関数は引数として渡された情報を表示します。この変数は、出力メッセージをよりニーズに合うように変更するときに使用します。デフォルトではこの変数は値を持たないため、logSuccess 関数は通常どおり動作します。

JASS_LOG_SUMMARY

この変数は、logSummary 関数の動作を制御します。logSummary 関数は、接頭辞 [SUMMARY] が付いたメッセージを生成する関数です。この変数が 0 に設定されている場合、logSummary 関数は何も情報を表示しません。それ以外の場合は、logSummary 関数は引数として渡された情報を表示します。この変数は、出力メッセージをよりニーズに合うように変更するときに使用します。デフォルトではこの変数は値を持たないため、logSummary 関数は通常どおり動作します。

JASS_LOG_WARNING

この変数は、logWarning 関数の動作を制御します。logWarning 関数は、接頭辞 [WARN] が付いたメッセージを生成する関数です。この変数が 0 に設定されている場合、logWarning 関数は何も情報を表示しません。それ以外の場合は、logWarning 関数は引数として渡された情報を表示します。この変数は、出力メッセージをよりニーズに合うように変更するときに使用します。デフォルトではこの変数は値を持たないため、logWarning 関数は通常どおり動作します。

JASS_MODE



caution icon

注意 - この変数は変更しないでください



この変数は、Solaris Security Toolkit の動作方法を定義します。この変数は次のいずれかの値を取ります。

スタンドアロンモードでは、jass-execute コマンドによってこの変数は APPLY に設定されています。JumpStart モードでは、デフォルトで APPLY に設定されています。この変数においては、APPLY はセキュリティー強化処理を意味します。

JASS_OS_REVISION



caution icon

注意 - この変数は自動的に設定されるので、変更しないでください



この変数は、Solaris Security Toolkit ソフトウェアが使用されているクライアントの OS バージョンを示すグローバル変数です。この変数は、uname -r コマンドにより driver.init スクリプト内で自動的に設定され、他のすべてのスクリプトがアクセスできるようにエクスポートされます。

JASS_OS_TYPE

この変数は、強化または監査が行われているシステムが Solaris OS システムであるかどうかを判定します。システムで Solaris OS の汎用バージョンが実行されている場合は Generic に設定されます。この変数は driver.init ファイルで設定されます。

JASS_PACKAGE_DIR



注 - 通常、この変数を変更する必要はありません



Solaris Security Toolkit ソフトウェアの規則では、インストールするソフトウェアパッケージはすべて Packages ディレクトリに格納されます。しかし、格納先に柔軟性をもたせるため、JASS_PACKAGE_DIR 変数を使用すれば、別の場所にパッケージを格納することができます。デフォルトでは、スタンドアロンモードで、この変数は JASS_HOME_DIR/Packages に設定されています。

ただし JumpStart モードでは、この変数は一時的なマウントポイント JASS_ROOT_DIR/tmp/jass-packages として定義されます。JumpStart インストール時に、JumpStart サーバーに格納されているパッケージディレクトリが、このクライアントでのパッケージディレクトリとしてマウントされます。

JASS_PATCH_DIR



注 - 通常、この変数を変更する必要はありません



Solaris Security Toolkit ソフトウェアの規則では、インストールするソフトウェアパッチはすべて Patches ディレクトリに格納されます。しかし、格納先に柔軟性をもたせるため、JASS_PATCH_DIR 変数を使用すれば、別の場所にパッチを格納することができます。デフォルトでは、スタンドアロンモードで、この変数は JASS_HOME_DIR/Patches に設定されています。

ただし、JumpStart モードでは、この変数は一時的なマウントポイント JASS_ROOT_DIR/tmp/jass-patches として定義されます。JumpStart インストール時に、JumpStart サーバーに格納されている実際のパッケージディレクトリが、このクライアントでのパッケージディレクトリとしてマウントされます。

JASS_PKG



caution icon

注意 - この変数は変更しないでください



この変数は、Solaris Security Toolkit ソフトウェアの Solaris OS パッケージ名を定義します。この変数には、SUNWjass という値が設定されています。

JASS_REPOSITORY



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログ機能と元に戻す機能の一部です。JASS_REPOSITORY で指定したパスによって、必要な実行情報を格納するディレクトリが定義されます。この機能により、実行される各スクリプトに関連する情報、各スクリプトの結果の出力、および実行中にインストール、変更、または削除されたファイルのリストを簡単に入手できます。

この変数は、ソフトウェアの実行中に動的に変更されます。いずれかの init ファイルでこの変数に割り当てられていた値は上書きされます。デフォルトでは、以下の値がこの変数に割り当てられています。

JASS_ROOT_DIR/var/opt/JASS_PKG/run/JASS_TIMESTAMP

JASS_ROOT_DIR



caution icon

注意 - この変数は自動的に設定されるので、変更しないでください。



この変数は、対象ファイルシステムのルートディレクトリを定義します。JumpStart モードでは、このディレクトリは常に /a です。スタンドアロンモードでは、この変数に / またはシステムのルートディレクトリを指定します。

Solaris Security Toolkit ソフトウェアバージョン 0.2 以降では、この変数の値は jass-execute スクリプトの中で自動的に設定されるので、手動で変更する必要はありません。

JASS_ROOT_HOME_DIR



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



デフォルトではこの変数は、Solaris 10 OS のルートホームディレクトリを /root に定義します。

JASS_RUN_AUDIT_LOG



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログの一部です。この変数は、監査処理中に生成された出力を格納するファイルの名前とそのファイルへの絶対パスを定義します。処理過程でテストされた各監査チェックの出力だけでなく、実行されたスクリプトについても記録するために、この情報が収集されます。

このファイルには、生成されたエラーや警告が格納されます。このファイルに格納される情報は、監査処理中に画面に表示される出力と同じです。デフォルトでは、この変数は JASS_REPOSITORY/jass-audit-log.txt に設定されています。

JASS_RUN_CHECKSUM



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログ機能と元に戻す機能の一部です。JASS_HOME_DIR に含まれている jass-check-sum プログラムでも、この変数は使用されます。この変数は、Solaris Security Toolkit ソフトウェアで使用されるチェックサム情報をすべて格納するファイルの名前とそのファイルへの絶対パスを定義します。この情報は、変更前後のファイルの状態を記録したものです。最後に Solaris Security Toolkit ソフトウェアによってファイルが変更されてから、ファイルが変更されたかどうかを判定するときに、この情報が使用されます。この情報は JASS_REPOSITORY ディレクトリ構造内に格納され、デフォルト値は次のとおりです。

JASS_REPOSITORY/jass-checksums.txt

JASS_RUN_CLEAN_LOG



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログの一部です。この変数は、クリーンアップ処理中に生成された出力を格納するファイルの名前とそのファイルへの絶対パスを定義します。実行中にインストール、変更、または削除されたファイルをリストするだけでなく、実行されたスクリプトについても記録するために、この情報が収集されます。

このファイルには、生成されたエラーや警告が格納されます。このファイルに格納される情報は、クリーンアップ処理中に画面に表示される出力と同じです。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-cleanup-log.txt

JASS_RUN_FINISH_LIST

この変数の名前は、Solaris Security Toolkit 4.0 ソフトウェアのリリース前に変更されました。JASS_RUN_SCRIPT_LISTを参照してください。

JASS_RUN_INSTALL_LOG



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログの一部です。この変数は、強化処理中に生成された出力を格納するファイルの名前とそのファイルへの絶対パスを定義します。実行中にインストール、変更、または削除されたファイルをリストするだけでなく、実行されたスクリプトについても記録するために、この情報が収集されます。

このファイルには、生成されたエラーや警告が格納されます。このファイルに格納される情報は、強化処理中に画面に表示される出力と同じです。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-install-log.txt

JASS_RUN_MANIFEST



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログ機能と元に戻す機能の一部です。この変数は、実行に関連するマニフェスト情報を格納するファイルの名前とそのファイルへの絶対パスを定義します。マニフェストファイルは、強化処理の一部として実行された操作を記録するファイルです。このファイルは元に戻す処理にも使用され、システムを復元するために、どのファイルをどのような順序で移動しなければならないか判定します。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-manifest.txt

JASS_RUN_SCRIPT_LIST



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログの一部です。この変数は、処理時に実行された終了スクリプトと監査スクリプトすべてのリストを格納するファイルの名前とそのファイルへの絶対パスを定義します。この情報は、情報提供とデバッグのために収集され、JASS_REPOSITORY ディレクトリ構造内に格納されます。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-script-list.txt

JASS_RUN_UNDO_LOG



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログの一部です。この変数は、元に戻す処理中に生成された出力を格納するファイルの名前とそのファイルへの絶対パスを定義します。実行中にインストール、変更、または削除されたファイルをリストするだけでなく、実行されたスクリプトについても記録するために、この情報が収集されます。

このファイルには、生成されたエラーや警告が格納されます。このファイルに格納される情報は、元に戻す処理中に画面に表示される出力と同じです。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-undo-log.txt

JASS_RUN_VALUES



caution icon

注意 - この変数は変更しないでください



この変数は、set/get_stored_keyword_val 関数を使用した処理中に保存される変数を保持するファイルの名前とそのファイルへの絶対パスを定義します。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-values.txt



注 - JASS_REPOSITORY/jass-values.txt ファイルは編集しないでください。



JASS_RUN_VERSION



caution icon

注意 - この変数は変更しないでください



この変数は、実行ログの一部です。この変数は、バージョンと実行関連の情報を格納するファイルの名前とそのファイルへの絶対パスを定義します。通常、このファイルには、実行中に Solaris Security Toolkit ソフトウェアで使用されるバージョン、モード、およびセキュリティープロファイルに関する情報が含まれます。この情報は、システムでソフトウェアが使用された方法を記録するために収集されます。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-version.txt

JASS_SAVE_BACKUP



caution icon

注意 - JASS_SAVE_BACKUPの値を 0に設定すると、Solaris Security Toolkit の元に戻す機能は使用できません。



この変数は、強化処理中のバックアップファイルの作成を制御します。デフォルトの値は 1 で、クライアントで変更されたファイルのバックアップコピーが作成されます。この値を 0 に変更すると、処理中に作成されたすべてのバックアップコピーが処理完了時に削除されます。

ファイルのバックアップコピーを作成したくない場合は、user.run スクリプトを変更してください。user.run スクリプトの値は、変数に設定された値よりも優先されます。

JASS_SCRIPT



caution icon

注意 - この変数は変更しないでください



この変数には、現在実行中の終了または監査スクリプトの名前が含まれています。

JASS_SCRIPT_ERROR_LOG



caution icon

注意 - この変数は変更しないでください



この変数には、処理実行中にエラーが発生したスクリプトのリストを保持するファイルのセットが含まれています。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-script-errors.txt

JASS_SCRIPT_FAIL_LOG



caution icon

注意 - この変数は変更しないでください



この変数には、処理実行中に失敗が発生したスクリプトのリストを保持するファイルのセットが含まれています。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-script-failures.txt

JASS_SCRIPT_NOTE_LOG



caution icon

注意 - この変数は変更しないでください



この変数には、処理実行中に注記 (NOTE) が発生したスクリプトのリストを保持するファイルのセットが含まれています。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-script-notes.txt

JASS_SCRIPT_WARN_LOG



caution icon

注意 - この変数は変更しないでください



この変数には、処理実行中に警告が発生したスクリプトのリストを保持するファイルのセットが含まれています。デフォルトでは、この変数は次の値に設定されています。

JASS_REPOSITORY/jass-script-warnings.txt

JASS_SCRIPTS

この変数は、特定のドライバを使用する場合に、対象システムで実行する終了スクリプトのリストを指定します。各エントリには、JASS_FINISH_DIR ディレクトリにある終了スクリプトと同じ名前の終了スクリプトを指定してください。

また、JASS_FINISH_DIR に格納されている各終了スクリプトに対応している監査スクリプトを JASS_AUDIT_DIR に格納してください。



注 - JASS_SCRIPTSuser.init ファイルには追加できません。この変数を変更するには、関連する .driver ファイルを新しい名前にコピーし、その新しいファイルを変更します。



JASS_SCRIPTS 変数を使用したファイルの指定

JASS_SCRIPTS 変数は、OS 固有の拡張子もサポートします。対象システムで特定のバージョンの Solaris OS が実行されているときにだけ実行する終了スクリプトのリストを指定するときに、この拡張子を使用します。バージョン固有リストは、JASS_SCRIPTS 変数の末尾にオペレーティングシステムのメジャーおよびマイナーバージョン番号を下線で区切って付加して作成します。Solaris Security Toolkit ソフトウェアでサポートしているオプションを、表 7-2に示します。


表 7-2 JASS_SCRIPTS 変数でサポートする OS バージョン

変数

OS バージョン

JASS_SCRIPTS

すべてのバージョンの Solaris OS に適用され、追加ではなく上書きする

JASS_SCRIPTS_5_5_1

Solaris 2.5.1 OS のみに適用

JASS_SCRIPTS_5_6

Solaris 2.6 OS のみに適用

JASS_SCRIPTS_5_7

Solaris 7 OS のみに適用

JASS_SCRIPTS_5_8

Solaris 8 OS のみに適用

JASS_SCRIPTS_5_9

Solaris 9 OS のみに適用

JASS_SCRIPTS_5_10

Solaris 10 OS のみに適用


 

たとえば、Solaris 9 OS でのみ disable-something.fin スクリプトを使用するには、次のコードをドライバに追加します。


JASS_SCRIPTS_5_9="disable-something.fin"

 

この例では、オペレーティングシステムを Solaris 9 OS と想定して、JASS_SCRIPTS の最後に disable-something.fin スクリプトを追加しています。



注 - OS 固有のファイルとスクリプトのリストは、常にファイルとスクリプトの汎用リストの最後に追加されます。結果的に、OS 固有のファイルとスクリプトは、一般的なファイルとスクリプトのあとで実行されることになります。たとえば、JASS_SCRIPTSa b で、JASS_SCRIPTS_5_9c d である場合、追加すると、JASS_SCRIPTSa b c d となり、JASS_SCRIPTS_5_9 は自動的に破棄されます。



JASS_SCRIPTS 変数のカスタマイズ

ドライバに対して終了スクリプトを追加または削除するには、必要に応じて JASS_SCRIPTS 変数を変更します。ドライバには、ファイルテンプレートとスクリプトを 1 つのセキュリティープロファイルにまとめるメカニズムがあります。これらのプロファイルを使用すると、論理的にカスタマイズする内容をグループ化することができます。たとえば、組織内のすべてのシステムに対して適用するベースラインを、1 つのプロファイルを使って定義することができます。あるいは、データベースサーバーとして動作しているセキュリティー保護されたシステムに対する変更も、1 つのプロファイルで定義することができます。これらのプロファイルは単独で使用することも、より複雑なプロファイルに組み込むこともできます。


JASS_SCRIPTS="print-jass-environment.fininstall-recommended-patches.fininstall-jass.finset-root-password.finset-term-type.fin"

 

この例では、driver.run 関数が実行されるときに、5 つの異なるスクリプトが構成されます。(driver.run についての詳細は、ドライバの関数と処理についてを参照してください。) これらの 5 つのスクリプトは、強化に直接関連していないシステム構成の変更を表しているので、config.driver にグループ化されています。

JASS_STANDALONE



注 - 通常、この変数を変更する必要はありません



この変数は、Solaris Security Toolkit ソフトウェアがスタンドアロンモードと JumpStart モードのどちらで実行されるか制御します。この変数は、JumpStart インストールの場合はデフォルトで 0 に設定され、jass-execute コマンドを使用して実行を開始した場合は 1 に設定されます。

JASS_SUFFIX



caution icon

注意 - この変数は変更しないでください



この変数は、ファイルのバックアップコピーに付加する必要がある接尾辞を決定します。デフォルトでは、この変数は次の値に設定されています。

JASS.JASS_TIMESTAMP

実行中に、タイムスタンプフィールドの値が、ファイルが作成された時間に合わせて変更されます。この処理により、すべてのバックアップファイル名が確実に一意のファイル名になります。

この変数は、実行中に動的に変更されます。この変数に init ファイルで割り当てられていた値は上書きされます。

JASS_TIMESTAMP



注 - 通常、この変数を変更する必要はありません



この変数により、次の JASS_REPOSITORY ディレクトリが作成されます。

/var/opt/SUNWjass/run/JASS_TIMESTAMP

すでに説明したように、このディレクトリには、Solaris Security Toolkit ソフトウェアの各処理に関するログとマニフェスト情報が含まれます。この変数には処理開始時のタイムスタンプが格納され、その値は処理中ずっと保持されます。結果として、各処理に対してその値は一意となります。この一意の値により、個々の処理に関する情報を、実行開始時刻に基づき、その他のすべての情報と明確に区別することができます。デフォルトでは、この変数は次の date に設定されています。

+%EY%m%d%OH%OM%S

このコマンドでは、YYYYMMDDHHMMSS という形式のタイムスタンプが作成されます。たとえば、2005 年 7 月 1 日午前 1 時 30 分に開始された処理は、20050701013000 という値で表されます。

JASS_UNAME

この変数は、Solaris Security Toolkit 4.0 リリースに先立ち、JASS_OS_REVISION に名前が変更されました。JASS_OS_REVISIONを参照してください。

JASS_UNDO_TYPE



caution icon

注意 - この変数は変更しないでください



この変数には、jass-execute command の起動に -b-f、または -k オプションのいずれが使用されたか、あるいはこれらのオプションがまったく使用されなかったかに関する情報が含まれています。取り得る値は次のとおりです。

JASS_USER_DIR

この変数は、構成ファイル user.inituser.run の場所を指定します。デフォルトでは、この 2 つのファイルは JASS_HOME_DIR/Drivers ディレクトリに格納されています。これらの構成ファイルは、組織のニーズに合うように Solaris Security Toolkit ソフトウェアをカスタマイズするときに使用します。

Solaris Security Toolkit ソフトウェアをカスタマイズする必要がある場合、今後の Solaris Security Toolkit ソフトウェアのアップグレードの影響を最小限に抑えるために、これらの構成ファイル内でカスタマイズを行うようにしてください。

グローバル変数は、user.init ファイルまたはドライバ内のいずれかで作成して割り当ててください。新しい関数や、既存の関数の優先指定は、user.run ファイルで実行してください。変数や関数の優先指定はすべて、Solaris Security Toolkit ソフトウェアで定義されている変数や関数の優先指定より優先されます。

JASS_VERBOSITY



caution icon

注意 - この変数は直接変更しないでください。その代わりに、-Vオプションを付けて jass-executeコマンドを実行してください。



この変数は、Solaris Security Toolkit ソフトウェアで監査処理の実行結果を表示する方法を制御します。現在、04 の 5 段階の詳細レベルがサポートされています。この変数に 0 〜 4 のいずれかの値を設定するには、-V オプションを付けて jass-execute コマンドを実行してください。



注 - 強化処理などのその他の操作では、この変数は 3 (完全モード) に設定されています。通常は、変更しないでください。



監査処理で使用される詳細レベルを、表 7-3 に示します。


表 7-3 監査処理の詳細レベル

レベル

説明

0

最終モード。このモードでは、検証全体の総合結果を示す 1 行のみの出力が生成されます。PASS または FAIL の結果だけが必要な場合に、このモードは便利です。

1

統合モード。このモードでは、各監査スクリプトごとに、その結果を示す 1 行の出力が生成されます。また、監査終了時にスコアの総合計が生成されるだけでなく、各スクリプトの終了時にもスコアの小計が生成されます。

2

要約モード。このモードは、統合詳細レベルの内容に、各監査スクリプト内の個々のチェックの結果を組み合わせたモードです。1 つの監査スクリプト内で成功したチェックと失敗したチェックを即座に判定する場合に、このモードは便利です。このモードの形式も、1 行に 1 つの結果が表示されます。

3

完全モード。初めての複数行詳細モードです。このモードでは、実行されているチェック、そのチェックの目的、および結果の判定方法がもっとよくわかるように、バナーとヘッダーが出力されます。このモードはデフォルトの詳細レベルで、Solaris Security Toolkit の検証機能を初めて使用するユーザーに適しています。

4

デバッグモード。このモードは、完全詳細モードを拡張したモードで、logDebug ログ関数によって生成される項目がすべて含まれます。現在、このモードは Solaris Security Toolkit 監査スクリプトでは使用されていませんが、完全を期すためと、管理者がコード内部にデバッグ文を埋めこめるように用意されています。


 

最低の詳細モードであるレベル 0 では、処理の全結果を表す 1 行だけが表示されます。このレベルでの出力は次のようになります。


# ./jass-execute -a secure.driver -V 0
secure.driver [PASS] Grand Total : 0 Error(s)

 

JASS_VERSION



caution icon

注意 - この変数は変更しないでください



この変数は、使用されているソフトウェアに関連付けられている Solaris Security Toolkit ソフトウェアのバージョンを定義します。この変数は、ソフトウェアのバージョンを記録して、ログ関数などの関数でそのバージョンを使用できるようにします。

JASS_ZONE_NAME



注 - Solaris OS バージョン 9 およびそれ以前のバージョンでは Solaris でゾーンを使用できないため、JASS_ZONE_NAME は自動的に global に設定されます。



ゾーンが使用できる Solaris 10 OS では、一部の Solaris Security Toolkit スクリプトはこの変数を使用して、スクリプトが global ゾーン内に存在しているかどうかをチェックします。ゾーンに対応する終了および監査スクリプトのリストを次に示します。

ゾーンに対応するスクリプトについての詳細は、表 1-4を参照してください。

スクリプトが global ゾーンでは実行されていない場合、スクリプトはその情報を logNotGlobalZone 関数を使用して記録し、終了します。

JASS_ZONE_NAME 変数は、/usr/bin/zonename を使用して、初期化時に Solaris Security Toolkit スクリプト内に設定されます。このコマンドが存在しない場合、変数は global に設定されます。

スクリプト動作変数を定義する

スクリプト動作変数は、終了スクリプトと監査スクリプトの動作に影響を与えるように、Solaris Security Toolkit ソフトウェアで定義および使用する変数です。Solaris Security Toolkit ソフトウェアでは、個々のサイトの要件に合わせて機能をカスタマイズするために、堅牢かつ柔軟性のあるフレームワークを提供しています。Toolkit ソフトウェアにより、ユーザーがサイト固有のカスタマイズを行うために変更しなければならないソースコード量が制限されます。スクリプト変数は、スクリプトのソースコードを変更せずにスクリプトの動作を変更できる、使いやすい方法を提供します。

これらの変数は、JASS_HOME_DIR/Drivers/finish.init ファイルで定義されます。これらはグローバル変数ですが、通常、その使用は終了スクリプトと監査スクリプトの小さなセットに制限されています。この章ですでに説明したように、これらの変数は、user.init ファイルまたは個々のドライバ内のいずれかで、静的、動的、複合的割り当てなどの方法でカスタマイズすることができます。

組織またはサイトのセキュリティーポリシーと要件に合うように、必要に応じてこれらの変数を調整してください。変数の調整を行うと、使用環境のセキュリティー状態を向上および維持するための最高の値が得られます。

ここでは、以下のスクリプト動作変数について説明します。

JASS_ACCT_DISABLE

この変数には、システムで無効にするユーザーアカウントのリストを指定します。強化処理では、disable-system-accounts.fin スクリプトによって、これらのアカウントが無効になります。監査処理では、disable-system-accounts.aud スクリプトによって、この変数で指定されているアカウントが無効になっているかどうかが検証されます。

デフォルトでは、次のアカウントが JASS_ACCT_DISABLE 変数に割り当てられています。

JASS_ACCT_REMOVE

この変数には、システムから削除するユーザーアカウントのリストを指定します。強化処理では、remove-unneeded-accounts.fin スクリプトによって指定したアカウントが削除されます。監査処理では、remove-unneeded-accounts.aud スクリプトによって、指定したアカウントがシステムに存在していないことが検証されます。

デフォルトでは、次のアカウントが JASS_ACCT_REMOVE 変数に割り当てられています。

JASS_AGING_MAXWEEKS

この変数には、ユーザーはパスワードを変更しなければならなくなるまでにパスワードが有効である最大週数を示す数値を指定します。この変数のデフォルト値は 8 (週) です。この変数は次のスクリプトにより使用されます。

JASS_AGING_MINWEEKS

この変数には、ユーザーがパスワードを変更できるまでに経過しなければならない最小週数を示す数値を指定します。この変数のデフォルト値は 1 (週) です。この変数は次のスクリプトにより使用されます。

JASS_AGING_WARNWEEKS

この変数には、パスワードの有効期限が切れて、ユーザーが警告を受けるまでの週数を示す数値を指定します。この警告は、警告期間中にユーザーがログインすると表示されます。この変数のデフォルト値は 1 (週) です。

この変数は次のスクリプトにより使用されます。

JASS_AT_ALLOW

この変数には、at 機能と batch 機能の使用を許可するユーザーアカウントのリストを指定します。強化処理では、install-at-allow.fin スクリプトによって、この変数で指定されている各ユーザーアカウントが JASS_ROOT_DIR/etc/cron.d/at.allow ファイルに追加されます (存在していない場合)。同様に、監査処理では、install-at-allow.aud スクリプトによって、この変数で指定されている各ユーザーアカウントが at.allow ファイルにリストされているかどうかが判定されます。



注 - 追加またはチェックを行うユーザーアカウントは、JASS_PASSWD にも存在していなければなりません。



デフォルトでは、この変数にはユーザーアカウントは指定されていません。

JASS_AT_DENY

この変数には、at 機能と batch 機能の使用を拒否するユーザーアカウントのリストを指定します。強化処理では、update-at-deny.fin スクリプトによって、この変数で指定されている各ユーザーアカウントが JASS_ROOT_DIR/etc/cron.d/at.deny ファイルに追加されます (存在していない場合)。同様に、監査処理では、update-at-deny.aud スクリプトによって、この変数で指定されている各ユーザーアカウントが at.deny ファイルにリストされているかどうかが判定されます。



注 - 追加またはチェックを行うユーザーアカウントは、JASS_PASSWD にも存在していなければなりません。



デフォルトでは、この変数には、JASS_PASSWD ファイルで定義されている、システム上のユーザーアカウントがすべて指定されています。



注 - JASS_AT_DENY 変数定義を、変更することなく finish.init ファイルから user.init ファイルにコピーする場合、終了スクリプトまたは監査スクリプトでこの変数を使用すると、入力を待機しているため Solaris Security Toolkit ソフトウェアはハングしているように見えます。このような事態を防止するには、user.init ファイル内で JASS_AT_DENY 変数の前で JASS_PASSWD 変数を定義するか、JASS_PASSWD への参照を削除します。



JASS_BANNER_DTLOGIN

この変数には、CDE へのログイン後にユーザーに表示するバナーメッセージが含まれているファイル名を表す文字列値を指定します。強化処理では、set-banner-dtlogin.fin スクリプトによって、このバナーがインストールされます。監査処理では、set-banner-dtlogin.aud スクリプトによって、このバナーの存在がチェックされます。この変数のデフォルト値は /etc/motd です。

JASS_BANNER_FTPD



注 - この変数は、Solaris OS バージョン 2.6 〜 8 を実行しているシステムにのみ使用されます。



この変数には、FTP サービスの認証前にユーザーに表示するバナーとして使用される文字列値を指定します。強化処理では、set-banner-ftpd.fin スクリプトによって、このバナーがインストールされます。監査処理では、set-banner-ftpd.aud スクリプトによって、このバナーの存在がチェックされます。この変数のデフォルト値は \"Authorized Use Only\" です。



注 - 引用符文字がコマンドシェルと解釈されないように、直前の文字列をバックスラッシュ文字で囲む必要があります。該当する FTP 構成ファイルにインストールされている場合には、この文字列は "Authorized Use Only" と表示されます。



JASS_BANNER_SENDMAIL

この変数には、sendmail サービスへの接続直後にクライアントに表示するバナーとして使用される文字列値を指定します。強化処理では、set-banner-sendmail.fin スクリプトによって、このバナーがインストールされます。監査処理では、set-banner-sendmail.aud スクリプトによって、このバナーの存在がチェックされます。この変数のデフォルト値は Mail Server Ready です。

JASS_BANNER_SSHD

この変数には、Secure Shell サービスの認証前にユーザーに表示するバナーメッセージが含まれているファイル名を表す文字列値を指定します。強化処理では、set-banner-sshd.fin スクリプトによって、このバナーがインストールされます。監査処理では、set-banner-sshd.aud スクリプトによって、このバナーの存在がチェックされます。この変数のデフォルト値は /etc/issue です。

JASS_BANNER_TELNETD

この変数には、Telnet サービスの認証前にユーザーに表示するバナーとして使用される文字列値を指定します。強化処理では、set-banner-telnetd.fin スクリプトによって、このバナーがインストールされます。監査処理では、set-banner-telnetd.aud スクリプトによって、このバナーの存在がチェックされます。この変数のデフォルト値は \"Authorized Use Only\" です。



注 - 引用符文字がコマンドシェルと解釈されないように、直前の文字列をバックスラッシュ文字で囲む必要があります。該当する Telnet 構成ファイルにインストールされている場合には、この文字列は "Authorized Use Only" と表示されます。



JASS_CORE_PATTERN

この変数には、coreadm 機能で使用されるパス名とコアファイルの命名パターンを表す文字列を指定します。システム上で生成されるコアファイルを、指定したディレクトリに制限するように coreadm を構成し、この変数で指定したファイルパターンに基づいて命名するときに、この変数が使用されます。強化処理では、enable-coreadm.fin スクリプトによって coreadm が構成されます。監査処理では、enable-coreadm.aud スクリプトによって coreadm 構成がチェックされます。この変数のデフォルト値は次のとおりです。

/var/core/core_%n_%f_%u_%g_%t_%p

ファイルの命名オプションについての詳細は、coreadm(1M) のマニュアルページを参照してください。

JASS_CPR_MGT_USER

この変数には、システム上でチェックポイント機能と再開機能の実行が許可されるユーザーを定義する文字列値を指定します。強化処理では、set-power-restrictions.fin スクリプトによってこの制限が実装されます。監査処理では、set-power-restrictions.aud スクリプトによってこの制限がチェックされます。デフォルト値は "-" で、これは、root アカウントだけにこれらの管理機能の実行が許可されることを示します。詳細は、第 3 章の「/etc/default/power」を参照してください。

JASS_CRON_ALLOW

この変数には、cron 機能の使用を許可するユーザーアカウントのリストを指定します。強化処理では、update-cron-allow.fin スクリプトによって、この変数で指定されている各ユーザーが JASS_ROOT_DIR/etc/cron.d/cron.allow ファイルに追加されます (存在していない場合)。同様に、監査処理では、update-cron-allow.aud スクリプトによって、この変数で指定されている各ユーザーが cron.allow ファイルにリストされているかどうかが判定されます。



注 - 追加またはチェックを行うユーザーアカウントは、JASS_PASSWD にも存在していなければなりません。



デフォルトでは、この変数には root アカウントのみ指定されています。

JASS_CRON_DENY

この変数には、cron 機能の使用を拒否するユーザーアカウントのリストを指定します。強化処理では、update-cron-deny.fin スクリプトによって、この変数で指定されている各ユーザーが JASS_ROOT_DIR/etc/cron.d/cron.deny ファイルに追加されます (存在していない場合)。同様に、監査処理では、update-cron-deny.aud スクリプトによって、この変数で指定されている各ユーザーが cron.deny ファイルにリストされているかどうかが判定されます。



注 - 追加またはチェックを行うユーザーアカウントは、JASS_PASSWD にも存在していなければなりません。



デフォルトでは、この変数には JASS_PASSWD ファイルで定義され、100 より小さく、かつ 60000 より大きいユーザー ID を持つユーザーアカウントがすべて指定されています。一般に、100 より小さく 60000 より大きい範囲は、管理アクセス用に予約されています。デフォルトでは、root アカウントは明示的にこのリストから除外されています。



注 - JASS_CRON_DENY 変数定義を、変更することなく finish.init ファイルから user.init ファイルにコピーする場合、終了スクリプトまたは監査スクリプトでこの変数を使用すると、入力を待機しているため Solaris Security Toolkit ソフトウェアはハングしているように見えます。このような事態を防止するには、user.init ファイル内で JASS_CRON_DENY 変数の前で JASS_PASSWD 変数を定義するか、JASS_PASSWD への参照を削除します。



JASS_CRON_LOG_SIZE

この変数には、ローテーション前の cron 機能のログファイルの最大サイズをブロックで表した数値を指定します。強化処理では、update-cron-log-size.fin スクリプトによってこの設定がインストールされます。監査処理では、update-cron-log-size.aud スクリプトによってこの設定がチェックされます。この変数のデフォルト値は 20480 (20 MB) です。このサイズは、デフォルトの Solaris OS 値 1024 (0.5 MB) よりも増加しています。

JASS_CRYPT_ALGORITHMS_ALLOW

この変数は、許可されたパスワード暗号化アルゴリズムを格納します。値は、次の中の 1 つまたは複数です。

JASS_CRYPT_DEFAULT

この変数には、システムに対して構成されているデフォルトの暗号アルゴリズムが含まれています。デフォルトの設定は 1 で、BSD MD5 に対応します。この変数は、CRYPT_DEFAULT 変数の /etc/security/crypt.conf ファイルで Solaris OS のデフォルトを変更するために、set-flexible-crypt.fin スクリプトで使用されます。

JASS_CRYPT_FORCE_EXPIRE

この変数は、暗号設定の変更のあと、すべてのパスワードの変更を強制するかどうかを Solaris Security Toolkit に通知します。1 に設定されている場合、set-flexible-crypt.fin スクリプトは passwd -f コマンドを使用して、次回ログイン時にパスワードを変更するようすべてのユーザーに強制します。デフォルトは次のとおりです。

JASS_FIXMODES_DIR

この変数には、FixModes ソフトウェアが存在する場合に、FixModes ソフトウェアへの絶対パスを表す文字列を指定します。FixModes ソフトウェアは、Solaris Security Toolkit によってソフトウェア配布からインストールされている場合は、この変数で指定されているディレクトリにインストールされます。強化処理では、FixModes ソフトウェアをインストールおよび実行するときに、install-fix-modes.fin スクリプトでこの変数が使用されます。監査処理では、install-fix-modes.aud スクリプトで FixModes ソフトウェアが実行されます。この変数のデフォルト値は /opt です。

JASS_FIXMODES_OPTIONS

この変数には、FixModes ソフトウェアが install-fix-modes.fin スクリプトから強化処理中に実行されるときに、FixModes ソフトウェアに渡されるオプションのリストを指定します。監査処理では、この変数は使用されません。デフォルトでは、この変数にはオプションは指定されていません。

JASS_FTPD_UMASK

この変数には、FTP サービスで使用されるファイル生成マスク (umask) を表す 8 進数の数値を指定します。強化処理では、set-ftpd-umask.fin スクリプトによってこの設定がインストールされます。監査処理では、set-ftpd-umask.aud スクリプトによってこの設定がチェックされます。この変数のデフォルト値は 022 です。

JASS_FTPUSERS

この変数には、FTP サービスの使用を拒否するユーザーアカウントのリストを指定します。強化処理では、install-ftpusers.fin スクリプトによって、この変数で指定されている各ユーザーが次のいずれかに追加されます。

Solaris 8 OS またはそれ以前では、JASS_ROOT_DIR/etc/ftpusers ファイル

Solaris 9 または 10 OS では、JASS_ROOT_DIR/etc/ftpd/ftpusers ファイル (まだ存在してない場合)

同様に、監査処理では、install-ftpusers.aud スクリプトによって、この変数で指定されている各ユーザーアカウントが ftpusers ファイルにリストされているかどうかが判定されます。デフォルトでは、この変数には JASS_PASSWD ファイルで定義され、100 より小さく、かつ 60000 より大きいユーザー ID を持つユーザーアカウントがすべて指定されています。一般に、100 より小さく 60000 より大きい範囲は、管理アクセス用に予約されています。



注 - JASS_FTPUSERS 変数定義を、変更することなく finish.init ファイルから user.init ファイルにコピーする場合、終了スクリプトまたは監査スクリプトでこの変数を使用すると、入力を待機しているため Solaris Security Toolkit ソフトウェアはハングしているように見えます。このような事態を防止するには、user.init ファイル内で JASS_FTPUSERS 変数の前で JASS_PASSWD 変数を定義するか、JASS_PASSWD への参照を削除します。



JASS_KILL_SCRIPT_DISABLE



注 - Solaris 10 OS では実行コントロールスクリプトがサービス管理機能 (SMF) により管理されるため、この変数は Solaris 10 OS を実行しているシステムでは使用されません。



この 変数には、サービスが無効のときに kill 実行コントロールスクリプトを無効にするか、そのままにしておくかを判定するブール型の値を指定します。start 実行コントロールスクリプトは常に無効です。手動で開始したサービスが、システムのシャットダウンまたはリ再起動時に正しく終了するように、kill スクリプトをそのままにしておくことを希望する管理者もいます。デフォルトでは、この変数は 1 に設定され、kill 実行コントロールスクリプトは無効になっています。この変数を 0 に設定すると、kill 実行コントロールスクリプトをそのままにしておく構成になります。

JASS_LOGIN_RETRIES

この変数には、ログインプロセスが失敗を記録して接続を終了するまでに繰り返すことができる、ログイン失敗回数を示す数値を指定します。また Solaris 10 OS を実行するシステムでは、これ以上のログイン試行を防止するため、アカウントをロックします。強化処理では、set-login-retries.fin スクリプトによってこの設定がインストールされます。監査処理では、set-login-retries.aud スクリプトによってこの設定がチェックされます。この変数のデフォルト値は 3 です。

JASS_MD5_DIR



注 - Solaris 10 OS では /usr/bin/digest コマンドが MD5 機能を提供するため、この変数は Solaris 10 OS を実行しているシステムでは使用されません。



この変数には、MD5 ソフトウェアが存在する場合に、MD5 ソフトウェアへの絶対パスを表す文字列を指定します。MD5 ソフトウェアは、Solaris Security Toolkit によってソフトウェア配布からインストールされている場合は、この変数で指定されているディレクトリにインストールされます。強化処理では、install-md5.fin スクリプトによって MD5 ソフトウェアをインストールするときにこの変数が使用されます。監査処理では、install-md5.aud スクリプトによって、この変数で指定されている場所に MD5 ソフトウェアが存在するかどうかがチェックされます。この変数のデフォルト値は /opt です。

JASS_NOVICE_USER

この変数は、Solaris Security Toolkit を初めて使用するユーザーに対する情報の表示を制御します。この変数を使用すると、経験の浅い管理者に追加ガイダンスを表示できます。デフォルトは 1 で、初心者ユーザーであることを意味します。JASS_HOME_DIR/Drivers/user.init ファイルの JASS_NOVICE_USER 変数を 0 (ゼロ) に設定すれば、この機能を無効にできます。

JASS_PASSWD 環境変数

特別に指定されていない限り、この節の JASS_PASS_ 環境変数は set-strict-password-checks.[fin|aud] スクリプトにより使用されます。これらの変数は Solaris Security Toolkit ソフトウェアにより使用され、Solaris 10 OS の JASS_PASS_ 接頭辞のない対応する変数の /etc/default/passwd ファイルにある値を監査します。(JASS_PASS_ 接頭辞のない) 基本的な変数の詳細については、passwd(1) のマニュアルページを参照してください。

JASS_PASS_DICTIONDBDIR



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、生成された辞書データベースが存在するディレクトリが含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_DICTIONLIST



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、JASS_PASS_DICTIONLIST=file1,file2,file3 のように、コンマで区切った辞書ファイルのリストを含めることができます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_HISTORY



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には特定のドライバ用の HISTORY 値が含まれ、enable-password-history.fin および enable-password-history.aud スクリプトによりドライバ上のパスワード履歴をチェックするために使用されます。デフォルトは次のとおりです。

JASS_PASS_LENGTH

この変数には、ユーザーパスワードの最小文字数を示す数値を指定します。この変数のデフォルト値は 8 (文字) です。この変数は、set-user-password-reqs.[fin|aud] スクリプトで使用されます。

JASS_PASS_MAXREPEATS



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、パスワード内で許容される連続する繰り返し文字の最大数が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_MINALPHA



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、パスワード内で必要なアルファベット文字の最小数が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_MINDIFF



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、古いパスワードと新しいパスワードの間で必要な最低限の差異が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_MINDIGIT



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、パスワードに必要な数字の最小数が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)



注 - JASS_PASS_MINNONALPHA が設定されている場合、Solaris Security Toolkit はその値を使用し、JASS_PASS_MINDIGITJASS_PASS_MINSPECIAL を無視します。



JASS_PASS_MINLOWER



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、必要な小文字の最小数が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_MINNONALPHA



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、パスワードに必要な (数字と特殊文字を含む) アルファベット以外の文字の最小数が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)



注 - JASS_PASS_MINNONALPHA が設定されている場合、Solaris Security Toolkit はその値を使用し、JASS_PASS_MINDIGITJASS_PASS_MINSPECIAL を無視します。



JASS_PASS_MINSPECIAL



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、パスワードに必要な (アルファベットや数字以外の) 特殊文字の最小数が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)



注 - JASS_PASS_MINNONALPHA が設定されている場合、Solaris Security Toolkit はその値を使用し、JASS_PASS_MINDIGITJASS_PASS_MINSPECIAL を無視します。



JASS_PASS_MINUPPER



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数には、パスワードに必要な大文字の最小数が含まれます。デフォルトは次のとおりです。

(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_NAMECHECK



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数は、パスワードとログイン名の照合を有効/無効にするために使用されます。すべてのドライバでデフォルト値は YES で、照合が有効であることを意味します。(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASS_WHITESPACE



注 - この変数は、Solaris 10 OS を実行しているシステムでのみ使用します。



この変数は、パスワード内で空白文字を許可するかどうかを決定するために使用されます。すべてのドライバでデフォルト値は YES で、空白文字が使用できることを意味します。(詳細は、JASS_PASSWD 環境変数を参照してください。)

JASS_PASSWD



注 - この変数を変更する必要はありません



この変数には、対象システムでのパスワードファイルの場所を示す文字列を指定します。この変数は、多くのスクリプトで使用されるだけでなく、多数の変数を動的に割り当てる場合にも使用されます。この変数のデフォルト値は、次のとおりです。

JASS_ROOT_DIR/etc/passwd

JASS_POWER_MGT_USER

この変数には、システム上で電源管理機能の実行が許可されるユーザーを定義する文字列値を指定します。強化処理では、set-power-restrictions.fin スクリプトによってこの制限が実装されます。監査処理では、set-power-restrictions.aud スクリプトによってこの制限がチェックされます。デフォルト値は "-" で、これは、root アカウントだけにこれらの管理機能の実行が許可されることを示します。詳細は、第 3 章の「/etc/default/power」を参照してください。

JASS_REC_PATCH_OPTIONS

この変数には、Solaris 推奨およびセキュリティパッチクラスタをシステムにインストールするときに、patchadd コマンドまたは installpatch コマンドに渡されるオプションを示す文字列を指定します。使用可能なオプションについては、patchadd(1M) マニュアルページまたは installpatch プログラムコードを参照してください。強化処理では、パッチクラスタをシステムにインストールするときに、install-recommended-patches.fin スクリプトでこの変数が使用されます。監査処理では、この変数は使用されません。デフォルトでは、この変数にはオプションは割り当てられていません。

JASS_RHOSTS_FILE

この変数には、システム上にある .rhosts ファイルまたは hosts.equiv ファイルのリストが格納されているファイルを示す文字列値を指定します。強化処理では、print-rhosts.fin スクリプトでこの変数が使用されます。監査処理では、この変数は使用されません。デフォルトでは、この変数にはファイル名は割り当てられていません。その結果、print-rhosts.fin スクリプトの出力が画面に表示されます。

JASS_ROOT_GROUP

この変数には、root ユーザーの一次グループ識別子の値として使用される数値を指定します。強化処理では、set-root-group.fin スクリプトによってこの設定がインストールされます。監査処理では、set-ftpd-umask.aud スクリプトによってこの設定がチェックされます。デフォルトでは、この変数は 0 (つまり root) に設定されています。この値は、Solaris OS のデフォルト値 1 (つまり other) よりも優先されます。

JASS_ROOT_PASSWORD



caution icon

注意 - この文字列の値は、Solaris Security Toolkit ソフトウェア出荷時のデフォルトの値から変更してください。変更しない場合、デフォルトのパスワードは一般に知られているため、システムが攻撃を受ける可能性があります。





注 - このスクリプトは、システムが JumpStart インストール時に miniroot から実行された場合にのみ動作し、root パスワードが一般によく知られた値で不用意に上書きされるのを防止します。



この変数には、root アカウントの暗号化パスワードとして使用される文字列値を指定します。強化処理では、set-root-password.fin スクリプトによってこの設定がインストールされます。監査処理では、set-root-password.aud スクリプトによってこの設定がチェックされます。デフォルトでは、この変数は次の値に設定されています。

JdqZ5HrSDYM.o

この暗号化文字列は、クリアテキスト文字列 t00lk1t と同じです。

JASS_SADMIND_OPTIONS

この変数には、inetd プロセスから実行される sadmind デーモンで使用するオプションを示す文字列値を指定します。強化処理では、install-sadmind-options.fin スクリプトによってこの設定がインストールされます。監査処理では、install-sadmind-options.aud スクリプトによってこの設定がチェックされます。この変数のデフォルト値は -S 2 で、これは sadmind デーモンに、クライアントとの通信に強力な認証 (AUTH_DES) を使用するように指示します。

JASS_SENDMAIL_MODE



注 - sendmail のバージョンと構成が変更されたため、この変数は Solaris 8 OS にのみ使用されます。Solaris 8 OS バージョン以外で同じ処理を実行するときは、他のメカニズムが使用されます。詳細は、disable-sendmail.finを参照してください。



この変数には、sendmail デーモンで操作を決定するときに使用されるオプションを示す文字列値を指定します。強化処理では、disable-sendmail.fin スクリプトによって、この変数で指定されている操作を行うようにデーモンが構成されます。監査処理では、disable-sendmail.aud スクリプトによって、sendmail デーモンが正しい操作を行うように構成されているかチェックが行われます。この変数のデフォルト値は \"\" です。この値は、sendmail デーモンがキュー処理モードでのみ動作することを示します。この値は、sendmail デーモンがデーモンとして動作し、着信メールを受信するように構成されているデフォルト値よりも優先されます。



注 - 引用符文字がコマンドシェルと解釈されないように、直前の文字列をバックスラッシュ文字で囲む必要があります。該当する sendmail 構成ファイルでインストールされるときには、この文字列は "" として表示されます。



JASS_SGID_FILE

この変数には、システム上にある set-group-id ファイルのリストが格納されているファイルを示す文字列値を指定します。強化処理では、print-sgid-files.fin スクリプトでこの変数が使用されます。監査処理では、この変数は使用されません。デフォルトでは、この変数にはファイル名は割り当てられていません。その結果、print-sgid-files.fin スクリプトの出力が画面に表示されます。

JASS_SHELLS

この変数には、JASS_ROOT_DIR/etc/shells ファイルに追加するシェルのリストを指定します。強化処理では、install-shells.fin スクリプトによって、この変数で指定されている各シェルが JASS_ROOT_DIR/etc/shells ファイルに追加されます (存在していない場合)。同様に、監査処理では、install-shells.aud スクリプトによって、この変数で指定されている各シェルが shells ファイルにリストされているかどうかが判定されます。

この変数のデフォルト値は次のとおりです。

Solaris OS 8 以降では、次のシェルがデフォルト値に追加されています。

JASS_SUID_FILE

この変数には、システム上にある set-user-id ファイルのリストが格納されているファイルを示す文字列値を指定します。強化処理では、print-suid-files.fin スクリプトでこの変数が使用されます。監査処理では、この変数は使用されません。デフォルトでは、この変数にはファイル名は割り当てられていません。その結果、print-suid-files.fin スクリプトの出力が画面に表示されます。

JASS_SUSPEND_PERMS

この変数には、システムの中断または再開機能の実行が許可されるユーザーを定義する文字列値を指定します。強化処理では、set-sys-suspend-restrictions.fin スクリプトによってこの制限が実装されます。監査処理では、set-sys-suspend-restrictions.aud スクリプトによってこの制限がチェックされます。デフォルト値は "-" で、これは、root アカウントだけにこれらの管理機能の実行が許可されることを示します。詳細は、/etc/default/sys-suspend ファイルを参照してください。

JASS_SVCS_DISABLE



caution icon

注意 - サービスのデフォルトのリストを使用する場合には、Telnet、RSH、および RLOGIN サーバーは Solaris Security Toolkit に含まれる大半のドライバですべて無効になっているため、システムへのコンソールによるアクセス、Secure Shell アクセス (Solaris 9 または 10 OS の場合)、あるいはデフォルトでない遠隔アクセスのいずれかの機能を確保してください。



Solaris 10 OS では、この変数には無効にする inetd の制御下にある SMF 対応サービスのリストが含まれています。JASS_SVCS_DISABLE スクリプトは、リスト上の SMF 対応でシステムにインストールされているすべてのサービスを無効にします。このリスト上のエントリは、第 1 章表 1-1 にリストされている FMRI の形式である必要があります。このリストには、レガシーの SMF 以外のサービスを含めることもできます。これらが有効であるためには、サービスを JASS_ROOT_DIR/etc/inet/inetd.conf ファイルで定義する必要があります。定義されていない場合、エントリは無視されます。

バージョン 10 よりも前の Solaris OS では、この変数は、JASS_ROOT_DIR/etc/inet/inetd.conf ファイルからさまざまなサービスを簡単に削除できるようにします。強化処理では、そのサービスが JASS_SVCS_ENABLE 変数にもリストされていない限り、この変数で指定されている各 inetd サービスが update-inetd-conf.fin スクリプトによって無効になります。同様に、監査処理では、update-inetd-conf.aud スクリプトによって、正しい inetd サービスがシステムで無効になっているか判定されます。デフォルトでは、この変数によって無効にされるサービスのリストには、Solaris OS からデフォルトで提供されているエントリがすべて含まれています。

JASS_SVCS_DISABLE 変数と JASS_SVCS_ENABLE 変数は、スクリプトそのものを変更する必要なしに update-inetd-conf.fin のデフォルトの動作を変更する、簡単かつ使いやすいメカニズムを提供します。これらの変数を変更する場合は、次の 4 種類の構成パターンが考えられます。

例 1 :

JASS_SVCS_DISABLE (定義されている)

JASS_SVCS_ENABLE (定義されていない)

この例は、Solaris Security Toolkit ソフトウェアの旧バージョンとの下位互換性を保つためのデフォルトのケースです。このケースでは、update-inetd-conf.fin スクリプトが実行されているときは、JASS_SVCS_DISABLE にリストされているサービスは無効になっています。

例 2 :

JASS_SVCS_DISABLE (定義されていない)

JASS_SVCS_ENABLE (定義されている)

JASS_SVCS_ENABLE にリストされているサービスだけが有効になります。Sun 固有でないサービスも含め、その他のサービスはすべて無効になります。この例では、「明示的に許可されていないものはすべて拒否する」という原則を実行できます。

例 3 :

JASS_SVCS_DISABLE (定義されている)

JASS_SVCS_ENABLE (定義されている)

JASS_SVCS_DISABLE のサービスは無効になり、JASS_SVCS_ENABLE のサービスは有効のままです。リストに含まれていないサービスは影響を受けません。サービスが JASS_SVCS_ENABLEJASS_SVCS_DISABLE の両方にリストされている場合は、JASS_SVCS_ENABLE が優先されるので、そのサービスは有効になります。

例 4 :

JASS_SVCS_DISABLE (定義されていない)

JASS_SVCS_ENABLE (定義されていない)

この例では、明示的に定義されている指示はないので、どのサービスの状態も変更されません。

JASS_SVCS_ENABLE

Solaris 10 OS では、この変数には有効にする inetd の制御下にある SMF 対応サービスのリストが含まれています。このリスト上のエントリは、第 1 章表 1-1 にリストされている FMRI の形式である必要があります。コード例 7-2 に、Solaris 10 OS を実行するシステムの rlogin を有効にするために user.init ファイルに追加するコード例を示します。このリストには、レガシーの SMF 以外のサービスを含めることもできます。これらが有効であるためには、サービスを JASS_ROOT_DIR/etc/inet/inetd.conf ファイルで定義する必要があります。定義されていない場合、エントリは無視されます。


コード例 7-2 rlogin JASS_SVCS_ENABLE リストへの追加
if [ -z "${JASS_SVCS_ENABLE}" ];then
   if [ -f${JASS_HOME_DIR}/Drivers/finish.init ];then
      ./${JASS_HOME_DIR}/Drivers/finish.init
   fi
   JASS_SVCS_ENABLE="${JASS_SVCS_ENABLE} svc:/network/login:rlogin "
   export JASS_SVCS_ENABLE
fi

 

バージョン 10 よりも前の Solaris OS では、この変数には、システムで有効にする inetd サービスのリストを指定します。強化処理では、update-inetd-conf.fin 終了スクリプトによって、この変数で指定されている現在無効のサービスが有効になります。サービスがすでに有効になっている場合は、何も処理は行われません。同様に、監査処理では、update-inetd-conf.aud スクリプトによって、この変数で指定されているサービスがシステムで有効になっているか判定されます。デフォルトでは、この変数にはサービスは指定されていません。結果として、update-inetd-conf.fin スクリプトと update-inetd-conf.aud スクリプトの動作は、JASS_SVCS_DISABLE 変数の内容によってのみ制御されます。

JASS_TMPFS_SIZE



注 - システムの機能とシステムで実行されているアプリケーションに対して、現在および今後予想される /tmp ファイルシステムのニーズを満たすだけの十分な空間容量を確保するように、この変数を調整してください。



この変数には、/tmp (tmpfs) ファイルシステムに割り当てる空間容量を表す文字列値を指定します。強化処理では、set-tmpfs-limit.fin スクリプトによってこの設定がインストールされます。監査処理では、set-tmpfs-limit.aud スクリプトによってこの設定がチェックされます。この変数のデフォルト値は、512 MB です。

JASS_UMASK

この変数には、ファイル生成マスク (umask) を表す 8 進数の数値を指定します。強化処理では、set-system-umask.fin スクリプトと set-user-umask.fin スクリプトによってこの設定が使用されます。監査処理では、set-system-umask.aud スクリプトと set-user-umask.aud スクリプトによってこの設定がチェックされます。この変数のデフォルト値は 022 です。

JASS_UNOWNED_FILE

この変数には、システム上にある所有者のいないファイルのリストが格納されているファイルを示す文字列値を指定します。ファイルのユーザーまたはグループ割り当てが、システム上の有効なユーザーやグループと一致していない場合には、そのファイルは所有者がいないものと見なされます。強化処理では、print-unowned-objects.fin スクリプトでこの変数が使用されます。監査処理では、この変数は使用されません。デフォルトでは、この変数にはファイル名は割り当てられていません。その結果、print-unowned-objects.fin スクリプトの出力が画面に表示されます。

JASS_WRITABLE_FILE

この変数には、システム上にある world-writable ファイルのリストが格納されているファイルを示す文字列値を指定します。強化処理では、print-world-writable-objects.fin スクリプトでこの変数が使用されます。監査処理では、この変数は使用されません。デフォルトでは、この変数にはファイル名は割り当てられていません。その結果、print-world-writable-objects.fin スクリプトの出力が画面に表示されます。

JumpStart モード変数を定義する

JumpStart モード変数とは、Solaris Security Toolkit ソフトウェアが JumpStart モードで実行されているときにのみ、Solaris Security Toolkit ソフトウェアで定義および使用される変数のことです。この変数を使用すると、Solaris Security Toolkit ソフトウェアを JumpStart フレームワークとして使用することも、より大規模なビルド環境の中に組み込むことも容易になります。この JumpStart モード変数は JumpStart インストール時にのみ関連するため、この節で別途説明します。

JumpStart モード変数は、JASS_HOME_DIR/Drivers/user.init ファイルで定義されます。これらの変数は、変更せずに使用することができる他の大部分の変数とは異なり、通常は変更が必要となるため、user.init ファイルに置かれています。



注 - 場合によっては、マルチホーム JumpStart サーバーでのように、特別なカスタマイズが必要となることもあります。



Solaris Security Toolkit ソフトウェアを使用する環境に最も適するように、必要に応じてこれらの変数を調整してください。

ここでは、以下の JumpStart モード変数について説明します。

JASS_PACKAGE_MOUNT

この変数は、クライアントへのインストールが必要なソフトウェアパッケージが検索される名前付きリソースまたは場所を定義します。このリソースは、host name:/path/to/software という形式の NFS パスで定義されます。このリソースは、driver.run スクリプトの実行時に、mount_filesystems 関数によって JASS_PACKAGE_DIR にマウントされます。

このリソースの場所はホスト名または IP アドレスで指定する必要があり、実行中にディレクトリをマウントするのに必要な情報を NFS デーモンに提供するために、絶対パスがリストされていなければなりません。ホスト名や IP アドレスは環境変数の値に指定されることがあるため、頻繁に変更が必要となります。

Solaris Security Toolkit ソフトウェアでは、正しいホスト名とディレクトリパスの構成を自動的に試みます。ただし、この自動構成は使用環境に適用できない場合もあります。デフォルトでは、この変数は次の値に設定されています。

HOSTNAME:/jumpstart/Packages

HOSTNAME 変数は、クライアントがマウントした /cdrom ファイルシステムが格納されている NFS サーバーのアドレスに動的に割り当てられます。

JASS_PATCH_MOUNT

この変数は、クライアントへのインストールが必要なソフトウェアパッチが検索される名前付きリソースまたは場所を定義します。このリソースは、host name:/path/to/patches という形式の NFS パスで定義されます。このリソースは、driver.run スクリプトの実行時に、mount_filesystems 関数によって JASS_PATCH_DIR にマウントされます。

このリソースの場所はホスト名または IP アドレスで指定する必要があり、Toolkit 実行中にディレクトリをマウントするのに必要な情報を NFS デーモンに提供するために、絶対パスがリストされていなければなりません。ホスト名や IP アドレスは環境変数の値に指定されることがあるため、頻繁に変更が必要となります。

Solaris Security Toolkit ソフトウェアでは、正しいホスト名とディレクトリパスの構成を自動的に試みます。ただし、この自動構成は使用環境に適用できない場合もあります。デフォルトでは、この変数は次の値に設定されています。

HOSTNAME:/jumpstart/Patches

HOSTNAME 変数は、クライアントがマウントした /cdrom ファイルシステムが格納されている NFS サーバーのアドレスに動的に割り当てられます。