ワークスペースでは、サーバーに接続されたすべてのコンピュータを 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 は、暗号化キーストアを提供し、システムのブートに使用されるファームウェアおよびソフトウェアのハッシュを記録します。
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 システムには、精巧な認証メカニズムと承認メカニズムが備わっています。ネットワークレベルでの認証メカニズムや承認メカニズムについては、リモートアクセスの認証と承認を参照してください。
ユーザーはシステムにログインするときに、ユーザー名とパスワードの両方を入力する必要があります。ログイン名は公開されていますが、パスワードは秘密にしなければなりません。ユーザーは、自分のパスワードを他人に知られてはいけません。
組織は業界標準に従ったパスワードポリシーを持つべきです。ユーザーは、自分のパスワードを慎重に選択し、サイトのパスワードポリシーに従う必要があります。
ユーザーの初期パスワードは、ユーザーのアカウントを設定するときに作成します。パスワードをロックすることでユーザーアカウントを無効にできます。詳細については、次をレビューしてください。
Oracle Solaris 11.4 Security and Hardening Guidelines の Passwords and Password Policy
ネットワークでローカルファイルを使用してユーザーを認証している場合、パスワード情報はシステムの /etc/passwd ファイルと /etc/shadow ファイルに保持されます。ユーザー名などの情報は、/etc/passwd ファイルに保持されます。暗号化されたパスワード自体は、個別のシャドウファイル (/etc/shadow) に保持されます。このセキュリティー方式によって、暗号化されたパスワードにアクセスされることを防ぎます。/etc/passwd ファイルは、システムにログインできるすべてのユーザーが使用できますが、/etc/shadow ファイルを読み取ることができるのは root アカウントだけです。passwd コマンドを使用すると、ローカルシステム上のユーザーのパスワードを変更できます。
ネットワークで NIS を使用してユーザーを認証している場合、パスワード情報は NIS パスワードマップに保持されます。NIS では、パスワードの有効期間を指定できません。NIS パスワードマップに保持されているユーザーのパスワードを変更するには、コマンド passwd -r nis を使用します。
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 ステンシル内のパスワード属性のリストは、構成可能なパスワードパラメータを示しています。
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 アルゴリズムは、強力なパスワード暗号化を提供します。
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 ファイルを参照してください。
アルゴリズムがパスワード暗号化で使用することが許可されているアルゴリズムのリストに含まれている。
識別子が _unix_ 以外である。
パスワード暗号化のアルゴリズムを切り替える方法については、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。
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 に変更したとします。次の表は、パスワードの暗号化にどのアルゴリズムが使用されるかを示します。パスワードは「識別子=アルゴリズム」で構成されます。
|
選択したアルゴリズムの構成の詳細については、account-policy(8S) のマニュアルページを参照してください。パスワード暗号化アルゴリズムを指定する場合は、パスワード暗号化のデフォルトアルゴリズムを変更するを参照してください。
root アカウントは特殊なシステムアカウントの 1 つです。これらのアカウントのうち、root アカウントにのみパスワードが割り当てられ、ログインできます。nuucp アカウントはファイル転送用にログインできます。他のシステムアカウントは、ファイルを保護したり、または root の完全な権限を使用せずに管理プロセスを実行したりします。
![]() | 注意 - システムアカウントのパスワード設定は決して変更しないでください。Oracle Solaris からのシステムアカウントは、安全かつ確実な状態で配布されます。UID が 101 以下のシステムファイルは修正したり、作成したりしないでください。 |
次の表に、一部のシステムアカウントとその使用方法の一覧を示します。システムアカウントは特殊な機能を実行します。この一覧の各アカウントは、100 より小さい UID を持ちます。システムファイルの完全なリストを表示するには、logins –s コマンドを使用します。
|
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) のマニュアルページを参照してください。