Go to main content

Oracle® Solaris 11.4 でのシステムおよび接続されたデバイスのセキュリティー保護

印刷ビューの終了

更新: 2018 年 8 月
 
 

コンピュータシステムへのアクセスを制御する

ワークスペースでは、サーバーに接続されたすべてのコンピュータを 1 つの大規模多重システムと見なすことができます。システム管理者は、この大規模なシステムのセキュリティー管理に責任があります。システム管理者は、ネットワークの外部からの侵入を防ぐ必要があります。また、ネットワーク内部のコンピュータ上のデータの完全性を確保する必要もあります。

ファイルレベルにおいて、Oracle Solaris には標準セキュリティー機能が組み込まれており、ファイル、ディレクトリ、および接続されたデバイスを保護するために使用できます。システムレベルとネットワークレベルでは、セキュリティーの内容はほぼ同じです。以降のセクションで説明されているように、セキュリティー防御の第一線はシステムへのアクセスを制御することです。

物理的なセキュリティーの管理

システムへのアクセスを制御するには、コンピュータ環境の物理的なセキュリティーを管理する必要があります。たとえば、システムにログインしたままこれを放置することは未承認アクセスを招く原因になります。侵入者がオペレーティングシステムやネットワークにアクセスしないとも限らないからです。コンピュータの周辺環境やコンピュータハードウェアは、不当なアクセスから物理的に保護される必要があります。

ハードウェア設定に対する未承認アクセスから SPARC システムを保護できます。eeprom コマンドを使って、パスワードがないと PROM にアクセスできないようにしてください。詳細は、SPARC ハードウェアへのアクセスにパスワードを必要にする方法を参照してください。x86 ハードウェアを保護するには、ベンダーのドキュメントを参照してください。

ブートプロセスへのアクセスの制御

    Oracle Solaris では、ブートプロセスへのアクセスを制御する 2 つのテクノロジが提供されています。

  • ベリファイドブート – 署名付きのブートおよびカーネルソフトウェアのみにシステムでの実行を許可します。

    boot_policy プロパティーの値がベリファイドブートを制御します。このポリシーには、bootblk のチェックと、すべてのカーネルモジュール (unix および genunix を含む) のロードが含まれています。

    ポリシー設定は、Oracle ILOM、Fujitsu SPARC M12、Fujitsu M10 XSC などのサービスプロセッサ (SP) に格納されます。SP がハードウェアプラットフォームを管理します。セキュリティー上の理由から、ポリシー設定は意図的に、ブートされる Oracle Solaris 環境の外部に格納されます。

    詳細は、ベリファイドブートのポリシーを参照してください。

  • Trusted Platform Module (TPM) – システムをセキュリティー保護するための暗号化機能を提供する専用マイクロコントローラ。TPM は、暗号化キーストアを提供し、システムのブートに使用されるファームウェアおよびソフトウェアのハッシュを記録します。

USB ポートへのアクセスの制御

SPARC T7 プラットフォームなど、一部の Oracle プラットフォームには外部 USB ポートがあります。システムコントローラ、配電盤 (PDU)、ネットワークスイッチなどのデバイスが、このような USB 接続を使用することがあります。システム管理者は、USB 接続を悪用した攻撃からシステムを保護する必要があります。Oracle Integrated Lights Out Manager (ILOM) では、外部 USB ポートを介したシステムアクセスを拒否または制限できます。

詳細は、ILOM を使用した、USB ポートへのアクセスの防止を参照してください。

ログインの制御

パスワード割り当てとログイン制御によって、システムやネットワークへの未承認のログインを防止できます。パスワードはシンプルな認証メカニズムです。システム上のすべてのアカウントには、パスワードが必要です。アカウントにパスワードを設定しないと、ユーザー名を推測できる侵入者であれば誰でもネットワーク全体にアクセスできることになります。力ずくの野蛮な攻撃を許さないためには、強力なパスワードアルゴリズムが必要です。

    ユーザーがシステムにログインすると、login コマンドはネームスイッチサービス svc:/system/name-service/switch 内の情報に従って、該当するネームサービスまたはディレクトリサービスデータベースを確認します。ネームサービスデータベースの値を変更するには、SMF コマンドを使用します。ネームサービスは、ログインに影響を与えるデータベースの場所を示します。

  • files – ローカルシステムの /etc ファイルを指定します

  • ldap – LDAP サーバーの LDAP ディレクトリサービスを指定します

  • nis – NIS マスターサーバーの NIS データベースを指定します

  • dns – ネットワーク上のドメインネームサービスを指定します。

ネームサービスの説明は、nscd(8) のマニュアルページを参照してください。ネームサービスおよびディレクトリサービスについては、Oracle Solaris 12 ディレクトリサービスとネームサービスでの作業: DNS と NISおよびOracle Solaris 12 ディレクトリサービスとネームサービスでの作業: LDAPを参照してください。

login コマンドは、ユーザーによって指定されたユーザー名とパスワードを検証します。ユーザー名がパスワードデータベース内に存在しない場合、login コマンドはシステムへのアクセスを拒否します。あるいは、指定されたユーザー名に対するパスワードが正しくないと、login コマンドはシステムへのアクセスを拒否します。有効なユーザー名とそれに対応するパスワードが入力されれば、システムはシステムへのアクセスをユーザーに認可します。

PAM モジュールには、システムへのログインが正常に完了したあとのアプリケーションへのログインを効率化できます。詳細は、Managing Authentication in Oracle Solaris 11.4 の 第 1 章, Using Pluggable Authentication Modulesを参照してください。

Oracle Solaris システムには、精巧な認証メカニズムと承認メカニズムが備わっています。ネットワークレベルでの認証メカニズムや承認メカニズムについては、リモートアクセスの認証と承認を参照してください。

パスワード情報の管理

ユーザーはシステムにログインするときに、ユーザー名とパスワードの両方を入力する必要があります。ログイン名は公開されていますが、パスワードは秘密にしなければなりません。ユーザーは、自分のパスワードを他人に知られてはいけません。

組織は業界標準に従ったパスワードポリシーを持つべきです。ユーザーは、自分のパスワードを慎重に選択し、サイトのパスワードポリシーに従う必要があります。

ローカルパスワード

ネットワークでローカルファイルを使用してユーザーを認証している場合、パスワード情報はシステムの /etc/passwd ファイルと /etc/shadow ファイルに保持されます。ユーザー名などの情報は、/etc/passwd ファイルに保持されます。暗号化されたパスワード自体は、個別のシャドウファイル (/etc/shadow) に保持されます。このセキュリティー方式によって、暗号化されたパスワードにアクセスされることを防ぎます。/etc/passwd ファイルは、システムにログインできるすべてのユーザーが使用できますが、/etc/shadow ファイルを読み取ることができるのは root アカウントだけです。passwd コマンドを使用すると、ローカルシステム上のユーザーのパスワードを変更できます。

NIS パスワード

ネットワークで NIS を使用してユーザーを認証している場合、パスワード情報は NIS パスワードマップに保持されます。NIS では、パスワードの有効期間を指定できません。NIS パスワードマップに保持されているユーザーのパスワードを変更するには、コマンド passwd -r nis を使用します。

LDAP パスワード

Oracle Solaris の LDAP ネームサービスは、パスワード情報とシャドウ情報を LDAP ディレクトリツリーの ou=people コンテナに格納します。Oracle Solaris LDAP ネームサービスクライアントでユーザーのパスワードを変更するには、passwd -r ldap コマンドを使用します。LDAP ネームサービスは、パスワードを LDAP リポジトリに格納します。

パスワードポリシーは Oracle Directory Server Enterprise Edition で適用されます。具体的には、クライアントの pam_ldap モジュールは Oracle Directory Server Enterprise Edition で適用されているパスワードポリシー制御に従います。詳細は、Working With Oracle Solaris 11.4 Directory and Naming Services: LDAP の LDAP Naming Service Security Modelを参照してください。

パスワードパラメータ

Oracle Solaris 11.4 リリースでは、デフォルトのパスワード長およびサポートされるパスワードハッシュが変更され、期間のパラメータが追加されています。ファイル内のパスワードパラメータ情報を表示して変更する従来の方法は、SMF サービス account-policy で置き換えられています。


注 -  account-policy SMF ステンシルを使用している場合で、config/etc_default_passwd プロパティーが有効になっているときは、Securing Users and Processes in Oracle Solaris 11.4 の Modifying Rights System-Wide As SMF Propertiesを確認してください。account-policy(8S) のマニュアルページも参照してください。

次に示す account-policy SMF ステンシル内のパスワード属性のリストは、構成可能なパスワードパラメータを示しています。

password/history count
password/value_authorization astring solaris.account.setpolicy
password/aging_defaults/max_days count
password/aging_defaults/min_days count
password/aging_defaults/warn_days count
password/complexity/max_repeats count
password/complexity/min_alpha count
password/complexity/min_diff count
password/complexity/min_digit count
password/complexity/min_lower count
password/complexity/min_nonalpha count
password/complexity/min_special count
password/complexity/min_upper count
password/complexity/namecheck boolean
password/complexity/passlength count
password/complexity/whitespace boolean
password/crypt/algorithms_allow astring 2a 5 6
password/crypt/algorithms_deprecate astring
password/crypt/default astring 5
password/dictionary/db_dir astring
password/dictionary/min_word_length count
password/dictionary/word_list astring

パスワードの長さを 8 文字未満にすることはできなくなりました。ユーザーのパスワード長は変更できます。

パスワードハッシュ

パスワードの強力な暗号化は攻撃に対する最初の防壁になります。Oracle Solaris ソフトウェアには 6 つのパスワード暗号化アルゴリズムが用意されています。SHA アルゴリズムは、強力なパスワード暗号化を提供します。


注 -  FIPS 140-2 承認にするには、SHA アルゴリズムを使用します。詳細は、Oracle Solaris 12 での FIPS 140 対応システムの使用 の passwd Command as a FIPS 140-2 Consumerを参照してください。
パスワードアルゴリズムの識別子

account-policy SMF ステンシルの config/etc_default_passwd プロパティーを有効にすることにより、サイトのアルゴリズム構成を指定できます。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Modifying Rights System-Wide As SMF Propertiesを確認してください。account-policy(8S) のマニュアルページも参照してください。

次の表に示すように、アルゴリズムを識別子で指定します。識別子とアルゴリズムのマッピングについては、/etc/security/crypt.conf ファイルを参照してください。


注 -  可能な場合は、FIPS 140-2 承認アルゴリズムを使用してください。FIPS 140-2 承認アルゴリズムのリストについては、Oracle Solaris 12 での FIPS 140 対応システムの使用 の FIPS 140-2 Algorithm Lists and Certificate References for Oracle Solaris Systemsを参照してください。
表 1  パスワードハッシュアルゴリズム
識別子
説明
アルゴリズムのマニュアルページ
1
BSD システムや Linux システムの MD5 アルゴリズムと互換性のある MD5 アルゴリズム。
crypt_bsdmd5(7)
2a
BSD システムの Blowfish アルゴリズムと互換性のある Blowfish アルゴリズム。

注 -  FIPS 140-2 セキュリティーを向上させるには、password/crypt/algorithms_allow から Blowfish アルゴリズム (2a) を削除します。

crypt_bsdbf(7)
md5
BSD バージョンや Linux バージョンの MD5 よりも強力とされている Sun MD5 アルゴリズム。
crypt_sunmd5(7)
5
SHA256 アルゴリズム。SHA は、Secure Hash Algorithm (セキュアハッシュアルゴリズム) を表します。このアルゴリズムは、SHA-2 ファミリのメンバーです。SHA256 では 255 文字のパスワードがサポートされます。このアルゴリズムがデフォルトです (CRYPT_DEFAULT)
crypt_sha256(7)
6
SHA512 アルゴリズム。
crypt_sha512(7)
__unix__
非推奨。従来の UNIX 暗号化アルゴリズム。このアルゴリズムは、古いシステムに接続するときに使用できます。
crypt_unix(7)

注 -  そのユーザーの新しいパスワードを生成する際は、ユーザーの初期パスワードに使用されたアルゴリズムが引き続き使用されます (ユーザーの新しいパスワードを生成する前に、別のデフォルトアルゴリズムが選択された場合でも)。このメカニズムは、次の条件で適用されます。
  • アルゴリズムがパスワード暗号化で使用することが許可されているアルゴリズムのリストに含まれている。

  • 識別子が _unix_ 以外である。

パスワード暗号化のアルゴリズムを切り替える方法については、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。


パスワードハッシュ構成

注 -  account-policy SMF ステンシルを使用している場合で、config/etc_default_passwd プロパティーが有効になっているときは、SMF でパスワード構成を変更できます。詳細は、Securing Users and Processes in Oracle Solaris 11.4 の Modifying Rights System-Wide As SMF Propertiesを参照してください。account-policy(8S) のマニュアルページも参照してください。

account-policy サービスには、パスワードハッシュに影響を与えるパラメータが 3 つあります。

password/crypt/algorithms_allow astring 2a 5 6
password/crypt/algorithms_deprecate astring
password/crypt/default astring 5

password/crypt/default の値を変更すると、新規ユーザーのパスワードは、新しい値に関連付けられたアルゴリズムで暗号化されます。

既存のユーザーがパスワードを変更したときに新しいパスワードがどのアルゴリズムで暗号化されるかは、古いパスワードがどのように暗号化されているかによって異なります。たとえば、管理者がパスワードパラメータを CRYPT_ALGORITHMS_ALLOW=1,2a,md5,5,6 および password/crypt/default=6 に変更したとします。次の表は、パスワードの暗号化にどのアルゴリズムが使用されるかを示します。パスワードは「識別子=アルゴリズム」で構成されます。

元のパスワード
変更後のパスワード
説明
1 = crypt_bsdmd5
同じアルゴリズムを使用します。
1 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。ユーザーのパスワードは引き続き crypt_bsdmd5 アルゴリズムで暗号化されます。
2a = crypt_bsdbf
同じアルゴリズムを使用します。
2a 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。このため、新しいパスワードは crypt_bsbdf アルゴリズムで暗号化されます。
md5 = crypt_md5
同じアルゴリズムを使用します。
md5 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。このため、新しいパスワードは crypt_md5 アルゴリズムで暗号化されます。
5 = crypt_sha256
同じアルゴリズムを使用します。
5 識別子は CRYPT_ALGORITHMS_ALLOW リストにあります。このため、新しいパスワードは引き続き crypt_sha256 アルゴリズムで暗号化されます。
6 = crypt_sha512
同じアルゴリズムを使用します。
6 識別子は CRYPT_DEFAULT の値です。このため、新しいパスワードは引き続き crypt_sha512 アルゴリズムで暗号化されます。
__unix__ = crypt_unix
crypt_sha512 アルゴリズムを使用します。
__unix__ 識別子は CRYPT_ALGORITHMS_ALLOW リストにありません。このため、crypt_unix アルゴリズムを使用することはできません。新しいパスワードは CRYPT_DEFAULT アルゴリズムで暗号化されます。

選択したアルゴリズムの構成の詳細については、account-policy(8S) のマニュアルページを参照してください。パスワード暗号化アルゴリズムを指定する場合は、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。

特殊なシステムアカウント

root アカウントは特殊なシステムアカウントの 1 つです。これらのアカウントのうち、root アカウントにのみパスワードが割り当てられ、ログインできます。nuucp アカウントはファイル転送用にログインできます。他のシステムアカウントは、ファイルを保護したり、または root の完全な権限を使用せずに管理プロセスを実行したりします。


Caution

注意  -  システムアカウントのパスワード設定は決して変更しないでください。Oracle Solaris からのシステムアカウントは、安全かつ確実な状態で配布されます。UID が 101 以下のシステムファイルは修正したり、作成したりしないでください。


次の表に、一部のシステムアカウントとその使用方法の一覧を示します。システムアカウントは特殊な機能を実行します。この一覧の各アカウントは、100 より小さい UID を持ちます。システムファイルの完全なリストを表示するには、logins –s コマンドを使用します。

表 2  選択されたシステムアカウントとその使用
システムアカウント
UID
用途
root
0
ほぼ無制限です。他の保護および許可をオーバーライドできます。root アカウントはシステム全体へのアクセス権を持ちます。root アカウントのパスワードは、非常に注意深く保護するようにしてください。root アカウントは、ほとんどの Oracle Solaris コマンドを所有しています。
daemon
1
バックグラウンド処理を制御します。
bin
2
一部の Oracle Solaris コマンドを所有します。
sys
3
多数のシステムファイルを所有します。
adm
4
一部のシステム管理ファイルを所有します。
lp
71
プリンタ用のオブジェクトデータファイルとスプールデータファイルを所有します。
uucp
5
UNIX 間のコピープログラム、UUCP 用のオブジェクトデータファイルとスプールデータファイルを所有します。
nuucp
9
システムにログインしてファイル転送を開始するためにリモートシステムで使用されます。

OTP とスマートカードによる 2 要素認証

Oracle Solaris はスマートカードとワンタイムパスワード (OTP) をサポートしています。これらのテクノロジでは、ユーザーは識別情報を 2 つの形式で提供する必要があります。最初の形式は、UNIX ユーザー名とパスワードです。2 つ目は、スマートカードと PIN か、またはモバイルオーセンティケータと OTP です。Managing Authentication in Oracle Solaris 11.4 の 第 3 章, Using Smart Cards for Multifactor Authentication in Oracle SolarisおよびManaging Authentication in Oracle Solaris 11.4 の 第 4 章, Using One-Time Passwords for Multifactor Authentication in Oracle Solarisを参照してください。

リモートログイン

侵入者にとって、リモートログインは魅力的な手段です。Oracle Solaris は、リモートログインをモニター、制限、および無効にする、いくつかのコマンドを提供します。手順については、図 4, 表 4, ログインとパスワードの保護タスクマップを参照してください。

デフォルトでは、システムのマウスやキーボード、フレームバッファー、オーディオデバイスなど、ある種のシステムデバイスについては、リモートログインを通して制御したり読み取ったりすることはできません。詳細は、logindevperm(5) のマニュアルページを参照してください。