サーバセキュリティ(3)
Trusted OS
Trusted OS
セキュリティの強化を図ったセキュアOSの中で、米国防総省が定めた規格により一定の基準を満たすことが認定された、高い信頼性や耐攻撃性を備えたOS製品のこと
1985年に米国防総省は「TCSEC」(Trusted Computer System Evaluation Criteria)と呼ばれる軍用のシステム設計に関する信頼性の規格を定め、米軍や関連機関が情報システムを調達する際の基準に利用している。この中でOSのセキュリティ強度に関して「A1」から「D」までの8段階を規定しており、上から4番目の「B1」以上の強度を有していると認定されたOSがトラステッドOSと呼ばれる
米国国防総省によって1983年に策定された、セキュリティ評価基準のこと。コンピュータシステムの信頼性を図るための指標として用いられている。通称、オレンジブック
TCSECでは、セキュリティを「A1」から「D」までの各レベルに分類している(高い順に「A1」「A」「B3」「B2」「B1」「C2」「C1」「C」「D」となっている)。もともとは軍事システム向けに規定されたものであったが、現在ではコンピュータシステムのセキュリティ性を計るための標準的指標として広く用いられている
- TCSECにおけるセキュリティ要求レベル
区分 | クラス |
---|---|
A:検証された保護 | A1:検証された設計 |
B:強制(的)保護 | B1:ラベル付きセキュリティ保護 |
B2:構造化保護 | |
B3:セキュリティドメイン | |
C:任意(自由裁量的)保護 | C1:任意(自由裁量的)セキュリティ保護 |
C2:制御付きアクセス保護 | |
D:最小保護 | ――― |
- TCSECで要求される規約項目一覧表

なおTCSECはスタンドアロンシステムとしての堅牢さを評価しているだけであるが、TCSECの規格をネットワークや暗号化などの機能を適応した規格としては、1987年に発行されたTNI(Trusted Network Interpretation of the TCSEC):通称「レッドブック」がある。
他にも、
Green Book | パスワードマネジメント |
Tan Book | 高信頼性システムの監査 |
Bright Blue Book | 高信頼性製品の評価 |
Neon Orange Book | 高信頼性システムにおける随意アクセス制御 |
Teal Green Book | コンピュータセキュリティ用語集 |
Amber Book | 高信頼性システムにおける構成管理 |
Light Blue Book | 高信頼システムにおける認証と識別 |
などがある。
これらのNCSC文書類はレインボーシリーズと呼ばれている。
SELinuxとは
SELinux(Security-Enhanced Linux)は、米国家安全保障局(The National Security Agency:NSA)が中心となって開発しているLinuxベースのセキュアOS
最大の特徴は、従来のLinuxやUNIXでは絶対的な権限を持っていたroot(ルート)アカウントの特権を無くしてしまったこと。リソースへの権限をユーザやプロセスごとに細かく設定して、例外なくセキュリティポリシで制御する。必要最低限の権限しか与えないことで、クラッカーに侵入されてもシステムへの影響を最小限に抑えることを目指している
SELinuxにおけるセキュリティ機能
セキュリティコンテキストによる強制アクセスコントロール
スーパーユーザ(root)を含むすべてユーザに対してプロセスやファイルなどのオブジェクトに付与されたセキュリティラベルに応じた強力かつきめ細かなアクセスコントロールが行われる。このセキュリティラベルはセキュリティコンテキストと呼ばれている。
TE(Type Enforcement)
TEでは全てのプロセスに対して「ドメイン」と呼ばれるラベルを付加する。またリソースに対しても同じく「タイプ」と呼ばれるラベルを付与する。さらに各リソースには「アクセスベクタ」が割り当てられる。アクセスベクタとは「読み込み」、「書き込み」といったリソースに対して行える操作の種類のことである。これにより各ドメインとタイプに対して許可されるアクセスベクタを、セキュリティポリシとして設定可能にしている。
RBAC(Role-Based Access Control)
ロール(role)とはユーザごとのアクセス権限を細かく分割し、制御するためのセキュリティラベルであり、それに基づいてアクセスコントロールを行う仕組みをRBACと呼ぶ。ログイン時にはすべてのユーザに対して何らかのロール属性が必ず割り当てられている。この仕組みにより、全ての権限がスーパーユーザに集中するのを防ぐことができる。
セキュリティサーバ
セキュリティサーバとは、システムに設定されたパーミッション情報(セキュリティポリシ)を一元管理するコンポーネントであり、TEやRBACの制御情報もすべてセキュリティサーバによって管理されている。セキュリティサーバは起動時にセキュリティポリシを読込み、外部からパーミッションチェック要求があると、自身の保持しているセキュリティポリシに基づいたパーミッションチェックを実行し、その結果を通知する。また、システム稼働中にセキュリティポリシを動的に読込み、変更する機能も提供している。
パーミッション
「オーナー」、「グループ」、「その他のユーザ」に対してそれぞれ「読み込み」、「書き込み」、「実行」の許可を設定するもののこと。これらのパーミッションを「無視して」アクセス可能なユーザとしてroot(スーパーユーザ)がある。
TE(Type Enforcement)
サブジェクトとオブジェクトとの間の関係を規制することによるアクセス制御、アーキテクチャのことHTTP、FTPといったプロセスごとにアクセス制限をかける機能。
SELinuxの利点と課題
利点
- 非常非細かい粒度でアクセス制御が可能であり、最小特権を実現することが可能
課題
- セキュリティポリシ構築支援ツールなどの整備が不十分で、専門家レベルでしか扱うことが出来ない
- ポリシ集中管理ツールなどの整備が不十分で、大規模運用などの環境下に適応できていない
 

