2


ファイルテンプレート

この章では、Solaris Security Toolkit ソフトウェアに含まれているファイルテンプレートを使用、変更、およびカスタマイズする方法について説明します。また、ドライバが関数を処理する方法と、ファイルテンプレートに格納されているその他の情報を処理する方法についても説明します。

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


ファイルテンプレートのカスタマイズ

ファイルテンプレートは、Solaris Security Toolkit ソフトウェアの重要な構成要素です。テンプレートファイルは、環境変数、OS バージョン番号、およびクライアントホスト名を使用して、ユーザーがスクリプトを簡単にカスタマイズおよび配布するためのメカニズムを提供します。Files ディレクトリ内のファイルを終了スクリプトと組み合わせて使用すると、利用するセキュリティープロファイル (ドライバ) の設計に応じて、必要な変更を特定することができます。

この節では、Files ディレクトリでのファイルの新規作成方法を含む、ファイルテンプレートのカスタマイズ方法と推奨事項について説明します。

ドライバ、終了スクリプト、および監査スクリプトのカスタマイズについては、以下の章を参照してください。



注 - カスタマイズしたファイルをより多くのユーザーのために役立てたいときは、拡張機能要求を提出することをご検討ください。Solaris Security Toolkit 開発チームは、ユーザーに役立つようソフトウェアを改善する方法を常に求めております。




procedure icon  ファイルテンプレートをカスタマイズするには

ファイルテンプレート (ファイル) をカスタマイズするには、次の手順を実行します。このカスタマイズでは、Solaris Security Toolkit ソフトウェアのカスタムバージョンを使用可能にするとともに、リリースされたソフトウェアの新バージョンがシステムにインストールされたときに、そのカスタムバージョンが上書きされないようにします。

1. カスタマイズするファイルとその関連ファイルをコピーします。

2. コピーしたファイルを、カスタムファイルとして識別される名前に変更します。

推奨事項については、『Solaris Security Toolkit 4.1 管理マニュアル』の第 1 章「Solaris Security Toolkit ソフトウェアの構成およびカスタマイズ」を参照してください。

3. この一意の名前が付いたファイルが適切に呼び出されるように、カスタムドライバを変更します (該当する場合)。

次のサンプルコードでは、JASS_FILES 環境変数を変更して、特定のホストにコピーするファイルをカスタマイズしています。

JASS_FILES="
[...]
       /etc/init.d/nddconfig
       /etc/rc2.d/S70nddconfig
[...]
"

このサンプルコードでは、カスタマイズされたセキュリティー強化用のドライバ abccorp-starfire_ssp-hardening.driver が、カスタムの nddconfig ファイルを使用します。Solaris Security Toolkit ソフトウェアが更新されたら新バージョンで上書きされる可能性のある、元の nddconfig ファイルを変更する代わりに、コピー先システムのホスト名を Files ディレクトリにあるファイル名の最後に付加して、カスタムの nddconfig スクリプトを作成します。次の例では、スクリプトファイル名にコピー先システムのホスト名が付いた、カスタムの nddconfig スクリプトを示しています。

# pwd
/opt/jass-n.n
# find Files -name "*nddconfig*"
Files/etc/init.d/nddconfig
Files/etc/init.d/nddconfig.ssp-db-serv
Files/etc/rc2.d/S70nddconfig -> ../init.d/nddconfig



注 - 場合によっては、ソフトウェアで特定の名前が必要となるために、スクリプト名を変更できないことがあります。その場合には、この章の説明にあるように、接尾辞を使用してください。あるいは、コピーを作成して、そのコピーファイルの名前を該当する場合に変更する終了スクリプトを作成します。後者の方法を選択した場合は、コピー操作とファイル名変更操作が、元に戻す処理を行ったときに確実に復元されることを確認してください。変更が復元されるように、ファイル、ドライバ、およびスクリプトをカスタマイズする方法についての詳細は、『Solaris Security Toolkit 4.1 管理マニュアル』の第 4 章を参照してください。




ファイルのコピー方法について

ファイルは、JASS_FILES 環境変数と JASS_FILE_OS version 環境変数で定義した方法に基づいて、自動的に JASS_HOME_DIR/Files ディレクトリからコピーされます。これらの環境変数についての詳細は、第 6 章を参照してください。

Solaris Security Toolkit ソフトウェアは、JASS_HOME_DIR/Files ディレクトリ内の複数のファイルを見分けるとともに、JASS_FILES 環境変数と JASS_FILE_OS version 環境変数の定義についても識別します。

copy_files 関数でコピーされるファイルは、次の基準で選択されます。

このオプションでは、対象プラットフォームの名前と ${HOST} で指定した値が一致する場合にのみ、オブジェクトがコピーされます。この HOST 環境変数には、JASS_HOSTNAME 環境変数と同じネーミング形式を使用します。

例 : /etc/issue.jordan

このファイルが検出されなかった場合は、続いて一般ファイルの検索が行われます (次に記載されているオプション)。

このオプションでは、対象プラットフォームの OS バージョンと ${OS} で指定した値が一致する場合にのみ、オブジェクトがコピーされます。OS パラメータには、JASS_OS_REVISION 環境変数と同じネーミング形式を使用します。したがって、Solaris 8 OS 専用のファイルは "filename+5.8" と表記します。

例 : /etc/issue+5.9

このファイルが検出できなかった場合には、ホスト名に関連するファイルの検索が行われます (次に記載されているオプション)。

このオプションでは、ファイルが対象システムにコピーされます。

例 : /etc/issue



注 - ファイルの長さまたはサイズがゼロの場合、そのファイルはシステムにコピーされません。



上記の基準は、ファイルの照合に使用する優先度順にリストされています。たとえば、ホスト固有ファイルと一般ファイルの両方が存在し、対象システムの名前がホスト固有ファイルで定義されているホスト名と一致する場合には、ホスト固有ファイルが使用されます。


構成ファイルの使用

環境変数を参照する構成ファイルを編集することによって、Solaris Security Toolkit ソフトウェアを構成することができます。この機能を使用すると、終了スクリプトや監査スクリプトを直接変更することなく、さまざまな環境で Solaris Security Toolkit ソフトウェアドライバを使用できるようになります。

Solaris Security Toolkit 環境変数はすべて、構成ファイルで維持管理されています。これらの構成ファイルはドライバによってインポートされ、ドライバから呼び出されたときに、終了スクリプトと監査スクリプトで変数を使用できるようになります。

Solaris Security Toolkit ソフトウェアには、以下の 3 つの主要構成ファイルがあり、すべて Drivers ディレクトリに格納されています。

driver.init

このファイルには、Solaris Security Toolkit ソフトウェアのフレームワークとすべての操作を定義する環境変数が含まれています。



注 - driver.init ファイルは、Solaris Security Toolkit ソフトウェアを新しいバージョンにアップグレードするときに上書きされるため、変更しないでください。



driver.init スクリプトには、JASS_VERSIONJASS_ROOT_DIR などのコアの環境変数が含まれます。

このスクリプトは user.init スクリプトを読み込むことにより、ユーザー変数や環境変数の優先指定を組み込みます。また、このスクリプトは finish.init ファイルの内容を読み込んで、定義されていない可能性のある終了スクリプト変数を設定します。このスクリプトは、ドライバで使用されるパブリックインタフェースとしての役割を果たし、Solaris Security Toolkit ソフトウェアで使用されるすべての変数を読み込みます。これ以外の初期設定関数は、ドライバ、終了スクリプト、または監査スクリプトのいずれかにより直接アクセスするようには設計されていません。

このファイルには、以下の環境変数が含まれています。

上記の各環境変数については、第 6 章で説明します。

finish.init

このファイルには、個々の終了スクリプトの動作を定義する環境変数が含まれています。システムのセキュリティー強化方法に影響を与えるのは、以下の 2 つの要素です。



注 - finish.init ファイルは、Solaris Security Toolkit ソフトウェアを新しいバージョンにアップグレードするときに上書きされるため、変更しないでください。



このファイルには、以下の環境変数が含まれています。

上記の各環境変数については、第 6 章で説明します。

user.init.SAMPLE

このファイルは、ユーザー定義変数を追加するためのファイルです。user.init ファイルで変数を定義すると、この変数を driver.init ファイルと finish.init ファイルで定義した変数より優先させることができます。管理者はこの機能を使用すると、実際の使用環境のニーズと要件に合わせて Solaris Security Toolkit ソフトウェアをカスタマイズできます。

user.init.SAMPLE は、Solaris Security Toolkit ソフトウェアが正常に機能するために定義しなければならない項目を示すサンプルファイルです。user.init.SAMPLE ファイルをコピーし、実際の環境に合うように変更してから、ファイル名を user.init に変更してください。user.init ファイルは Solaris Security Toolkit ソフトウェアには含まれていないため、このファイルを作成してカスタマイズしても、このソフトウェアを新しいバージョンにアップグレードする際に上書きされることはありません。

user.init ファイルでは、以下の環境変数のデフォルト値を提供しています。

この 2 つの変数のデフォルト値は、それぞれ JumpStart-server-IP address/jumpstart/PackagesJumpStart-server-IP address/jumpstart/Patches です。これらのデフォルト値は、『Solaris Security Toolkit 4.1 管理マニュアル』の第 5 章と、Sun BluePrints マニュアル『JumpStart Technology: Effective Use in the Solaris Operating Environment』で推奨されている値です。これらの資料に記載されている推奨値を使用する場合は、user.init.SAMPLE ファイルで変更する必要はありません。このファイルをそのまま user.init にコピーしてください。

ただし、JumpStart 環境を別の使用環境に移行する場合は、使用している JumpStart サーバーとディレクトリパスを参照するように変更できるので、これらの変数を確認してください。上記の各環境変数については、第 6 章で説明します。

user.init ファイルを使用すると、JASS_SVCS_ENABLEJASS_SVCS_DISABLE などのその他の環境変数を変更することもできます。しかし、変数が特定のドライバですでに使用されている場合もあるので、Solaris Security Toolkit ソフトウェアの動作を変更するときは慎重に行う必要があります。

たとえば、suncluster3x-secure.driverJASS_SVCS_ENABLE を使用して、/etc/inetd.conf ファイルの特定のサービスを有効にしています。他のサービスを有効にしたい場合は、suncluster3x ドライバファイルをコピーして、そのコピーファイルをカスタマイズし、JASS_SVCS_ENABLE の定義をコメントアウトして、新しい JASS_SVCS_ENABLE の定義を user.init ファイルに追加します。

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

新しい変数 JASS_ACCT_DISABLEuser.init ファイルに追加して、ユーザーアカウントリストを無効にするコードを、コード例 2-1 に示します。終了スクリプトの実行時に、アカウントが無効になります。

コード例 2-1 ユーザー定義変数の追加

if [ -z "${JASS_ACCT_DISABLE}" ]; then
   if [ -f ${JASS_HOME_DIR}/Drivers/finish.init ]; then
      . ${JASS_HOME_DIR}/Drivers/finish.init
   fi
 
   JASS_ACCT_DISABLE="${JASS_ACCT_DISABLE} newuser"
   export JASS_ACCT_DISABLE
fi



注 - pkgrm コマンドを使って SUNWjass を削除すると、user.init および user.run ファイルが作成されている場合、これらのファイルは削除されません。ただし、Files ディレクトリと sysidcfg ファイルは現在の Solaris Security Toolkit ソフトウェアに含まれているので、これらは削除されます。




ファイルテンプレートの使用

Solaris Security Toolkit ソフトウェアは、JASS_FILES 環境変数と copy_files 関数が含まれた Files ディレクトリを使用します。このディレクトリにはファイルテンプレートが格納されており、このテンプレートは、セキュリティー強化実行時に JumpStart クライアントにコピーされます。

以下のファイルテンプレートが Files ディレクトリに格納されています。

これらの各ファイルについて、以下の項で説明します。

.cshrc

この構成ファイルは、サンプルとして用意されています。ファイルの完了や履歴など、いくつかの共通 csh 変数を設定して、csh ユーザーに基本的な構成を提供します。また、現在の作業ディレクトリへのパスを含むコマンド行プロンプトだけでなく、端末の終了および消去オプションも設定します。このファイルは、ソフトウェアが正常に動作しているときは必要ありません。また、環境に合わせて変更したり交換することができます。

デフォルトでは、このファイルは config.driver によって、強化するシステムにコピーされます。

.profile

この構成ファイルは、サンプルとして用意されています。この構成ファイルは、Solaris Security Toolkit ソフトウェアとともに配布される際に、開始された root sh シェルに対して、UMASKPATH、および MANPATH の定義のみを行います。

このファイルは、ソフトウェアが正常に動作しているときは必要ありません。また、環境に合わせて変更したり交換することができます。

デフォルトでは、このファイルは config.driver によって、強化するシステムにコピーされます。

etc/default/sendmail

Solaris 8 OS では、キュー処理モードのみで sendmail を実行するために、sendmail 構成ファイルを使用することができました。このファイルがコピーされるのは、disable-sendmail.fin スクリプトでセキュリティー強化された Solaris 8 OS システムだけです。

disable-sendmail.fin スクリプトは OS のバージョンに対応しており、セキュリティー強化される OS に応じて sendmail の動作を変更します。詳細については、Sun BluePrints OnLine 掲載記事『Solaris Operating Environment Security: Updated for Solaris 9 OE』を参照してください。

デフォルトでは、このファイルは disable-sendmail.fin によって、セキュリティー強化するシステムにコピーされます。

etc/dt/config/Xaccess

このファイルは、システム上で稼動している X サーバーへの遠隔アクセスを、直接またはブロードキャストにかかわらず、すべて無効にします。X のサポート要件と、Solaris Security Toolkit ソフトウェアの使用環境によっては、このファイルが適していない場合もあります。

デフォルトでは、このファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。

etc/hosts.allowetc/hosts.deny

この 2 つのファイルは、enable-tcpwrappers.fin 終了スクリプトによって Solaris 9 OS システムにインストールされます。hosts.allow ファイルと hosts.deny ファイルをインストールした後、終了スクリプトで /etc/default/inetd 構成ファイルを変更すると、トランスミッションコントロールプロトコル (TCP) ラッパーが有効になります。

hosts.allow ファイルと hosts.deny ファイルは、ローカルポリシー、手順、および要件に基づいて、セキュリティープロファイルをカスタマイズするためのサンプルファイルです。hosts.allow のデフォルト構成では、許可される Solaris Secure Shell (SSH) アクセスを LOCAL と定義しています。これは、システムが接続されているサブネットからのみ SSH 接続が許可されることを意味します。hosts.deny ファイルのデフォルト構成では、hosts.allow で許可されていない接続を試みてもすべて拒否されます。

デフォルトでは、このファイルは enable-tcpwrappers.fin によって、セキュリティー強化するシステムにコピーされます。

etc/init.d/klmmodetc/rc2.d/S77klmmod

この 2 つのファイルは、Sun Fire ハイエンドシステムドメインで misc/klmmod カーネルモジュールが読み込まれたことを確認するときに使用します。詳細については、Sun BluePrints OnLine 掲載記事『Securing the Sun Fire 12K and 15K Domains』を参照してください。

デフォルトでは、これらのファイルは、s15K-install-klmmod-loader.fin によって、セキュリティー強化するドメインにコピーされます。

etc/init.d/nddconfig

このファイルはネットワーク設定の実装に必要な nddconfig 起動スクリプトをコピーし、セキュリティーを向上させます。セキュリティーに関するネットワーク設定については、Sun BluePrints OnLine 掲載記事『Solaris Operating Environment Network Settings for Security: Updated for the Solaris 9 Operating Environment』を参照してください。

デフォルトでは、このファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。

etc/init.d/set-tmp-permissions

このファイルは、システムの再起動時に、/tmp ディレクトリと /var/tmp ディレクトリに対する正しいアクセス権を設定します。矛盾が検出された場合は、その内容が標準出力先に出力されて、SYSLOG によって記録されます。S01MOUNTFSYS からの mountall コマンドの実行前と実行後にチェックが実行されるように、このファイルは /etc/rc2.d に 2 回インストールされます。このチェックを行うことにより、マウントポイントとマウントされるファイルシステムの双方で、正しいアクセス権と所有権を持つことができます。

デフォルトでは、このファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。

etc/init.d/sms_arpconfig

このファイルは、/etc/rc2.d/S73sms_arpconfig/etc/sms_domain_arp、および /etc/sms_sc_arp と組み合わせて Sun Firetrademark ハイエンドシステムで使用します。内部の IP ベース管理ネットワーク上に静的なアドレス解決プロトコル (ARP) を実装して、セキュリティーを向上させます。これらの機能の使用方法の詳細については、Sun BluePrints OnLine 掲載記事『Securing the Sun Fire 12K and 15K System Controllers』と『Securing the Sun Fire 12K and 15K Domains』を参照してください。

デフォルトでは、このファイルは s15k-static-arp.fin によって、セキュリティー強化するシステムにコピーされます。

etc/issue/etc/motd

この 2 つのファイルは、アメリカ合衆国 (U.S.) 政府の勧告に基づいたもので、ユーザーの活動がモニターされる可能性があるという法律上の通知を表示します。組織独自の法律上のバナーを表示する場合は、そのバナーをこの 2 つのファイルに組み込みます。

この 2 つのファイルはデフォルトのテンプレートとして提供されています。組織に適用する通知については、弁護士に作成や検討を依頼するようにしてください。

デフォルトでは、このファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。

etc/notrouter

このファイルは、/etc/notrouter ファイルを作成することにより、システム上のインタフェース間での IP 転送を無効にします。ネットワークインタフェースの数にかかわらず、クライアントはルーターとして機能しなくなります。

デフォルトでは、このファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。

etc/rc2.d/S00set-tmp-permissionsetc/rc2.d/S07set-tmp-permissions



注 - この 2 つのファイルは、/etc/init.d/set-tmp-permissions へのシンボリックリンクです。



これらのファイルは、システムの再起動時に、/tmp ディレクトリと /var/tmp ディレクトリに対する正しいアクセス権を設定します。矛盾が検出された場合は、その内容が標準出力に出力されて、SYSLOG によって記録されます。S01MOUNTFSYS からの mountall コマンドの実行前と実行後にチェックが実行されるように、このスクリプトは /etc/rc2.d に 2 回インストールされます。このチェックを行うことにより、マウントポイントとマウントされるファイルシステムの双方で、正しいアクセス権と所有権を持つことができます。

デフォルトでは、これらのファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。

etc/rc2.d/S70nddconfig



注 - このファイルは、/etc/init.d/nddconfig へのシンボリックリンクです。



このファイルは、ネットワーク設定の実装に必要な S70nddconfig 起動スクリプトをコピーして、セキュリティーを向上させます。Sun BluePrints OnLine 掲載記事『Solaris Operating Environment Network Settings for Security: Updated for Solaris 9 Operating Environment』を参照してください。

デフォルトでは、このファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。

etc/rc2.d/S73sms_arpconfig



注 - このファイルは、/etc/init.d/sms_arpconfig へのシンボリックリンクです。



このファイルは、/etc/init.d/sms_arpconfig/etc/sms_domain_arp、および /etc/sms_sc_arp とともに Sun Fire ハイエンドシステムで使用します。内部の IP ベース管理ネットワーク上に静的なアドレス解決プロトコル (ARP) を実装して、セキュリティーを向上させます。これらの機能の使用方法の詳細については、Sun BluePrints OnLine 掲載記事『Securing the Sun Fire 12K and 15K System Controllers』と『Securing the Sun Fire 12K and 15K Domains』を参照してください。

デフォルトでは、このファイルは s15k-static-arp.fin によって、セキュリティー強化するシステムにコピーされます。

etc/rc2.d/S77swapadd

このファイルは、disable-nfs-client.fin の実行時にインストールされます。通常、disable-nfs-client.fin でスワップ空間が開始されるときに、このタスクを実行するために、Solaris Security Toolkit ソフトウェアによってこの実行コントロールスクリプトが追加されます。

etc/security/audit_classetc/security/audit_control、および etc/security/audit_event

この 3 つのファイルは、2001 年 2 月にリリースされた Solaris OS 監査サブシステム用の構成ファイルで、Solaris 基本セキュリティーモジュールとも呼ばれます。これらのファイルを Solaris 8 OS システムに追加すると、監査サブシステムが構成されます。

これらのファイルは Solaris Security Toolkit ソフトウェアによってのみ、Solaris 8 OS システムにインストールされます。詳細については、Sun BluePrints OnLine 掲載記事『Auditing in the Solaris 8 Operating Environment』を参照してください。

デフォルトでは、これらのファイルは enable-bsm.fin によって、セキュリティー強化するシステムにコピーされます。

etc/sms_domain_arp/etc/sms_sc_arp

この 2 つのファイルは、/etc/init.d/sms_arpconfig ファイルと /etc/S70sms_arpconfig ファイルとともに Sun Fire ハイエンドシステムで使用します。内部の IP ベース管理ネットワーク上に静的なアドレス解決プロトコル (ARP) を実装して、セキュリティーを向上させます。これらの機能の使用方法の詳細については、Sun BluePrints OnLine 掲載記事『Securing the Sun Fire 12K and 15K System Controllers』と『Securing the Sun Fire 12K and 15K Domains』を参照してください。

デフォルトでは、これらのファイルは s15k-static-arp.fin によって、セキュリティー強化するシステムにコピーされます。

etc/syslog.conf

このファイルは、詳細な記録を行います。独自の中央ログサーバー (または複数のサーバー) を追加する組織にとっては、プレースホルダとしての役割を果たすため、事前のログ分析を実行できます。

デフォルトでは、このファイルは hardening.driver によって、セキュリティー強化するシステムにコピーされます。