SELinuxの研究ノート

1、SELinuxのsealert semanger 2つの強力なツールは、

2、TEモデル(タイプEforcement)

すべてのプロセスの中心ルール・リポジトリによるSELinuxのMACの実装、(policy.Xバイナリデータファイル)として、すべてのファイルは、カーネルデータ構造は、独自のセキュリティID(ラベル、ラベル/タイプ)、サポートされるアクセスされているオブジェクトの明確な定義を定義しますアクセス方法、およびプロセスタブにアクセスしているオブジェクトにアクセスする正当な方法を提供します。全体のファイルシステム上のすべてのファイルの設定]タブシステムの起動時に、SELinuxを設定し、カーネルへのインタフェースを介してinitプロセスのselinuxfsがユーザーモードでpolicy.Xスペース、カーネルのセキュリティサーバのリアルタイムクエリ処理をロードされたときのシステムコール( )ここでのセキュリティサーバは、それは、SELinuxのカーネルドライバは、そのようなsidtab、policydb、AVCキャッシュ、およびドキュメント内のさまざまな定義で定義されている様々なデータ構造は関数の先頭に「security_を」services.cしている、注意してください。

2.1型強制コンセプト

SELinuxのポリシーの施行規則の多くは、デフォルトの変換フラグ、監査のほとんどを使用する権利を制御することが許可されているこれらのルールを構成し、固定部分をチェックし、複数種類で構成されています。

SELinuxポリシーは、それらのほとんどがキャスト(TE:タイプ施行)であることを断言し、ポリシーを定義したルールで、明確に定義され、厳格なTE TE戦略は、ルールの数千人を含むことができ、ルールのTE膨大な数は驚くべきことではありませんそれらはすべて我々が今について慎重に考えるならば、各プロセスは、各リソースのアクセスの試みが、少なくとも一つのTEが、カーネルによって公開されたアクセスルールを許可していなければならないことを意味し、リソースへのアクセスを可能に表現するため、政策におけるTEルールのなぜこれほど多くのを理解するのLinuxオペレーティングシステムのプロセスとリソースの数、。

2.2 TEの分類規則比較的小さい、すべてのルールは、基本的に2つのカテゴリに分類されています:

  • アクセスベクトル(AV)規則
  • タイプ規則

我々は2つのタイプのアクセスを許可するようにAVや監査規則を使用して、我々は、特定の状況では、デフォルトのタイプのルールを制御するためのマークを使用することにしました。

2.3 SELinuxのアクセス制御規格は、プログラムの種類ではなく、ドメインユーザーの権限に基づいて、フォーカスは、アクセスプログラムへのアクセスではなく、ユーザにあります。

2.4型のTEルールを構成最小単位であり、SELinuxはときに許可されているものをアクセス決定するために使用の主なタイプは、プロパティおよびエイリアスが管理とポリシー習慣の特殊なタイプの使用を低減する際に、我々は、のグループを参照するために単一の識別子を使用してプロパティを使用しますタイプ。一般的には、ポリシー言語は、私たちは場所の種類にTEルールでプロパティを使用することができ、およびエイリアスは、私たちは別の名前の種類、別名識別子とタイプ識別子を定義することができます同じステータス処理を行います。

3型宣言

    Typeステートメントは、明示的に型識別子を宣言タイプを使用する前に使用する必要があり、SELinuxの無定義済みの型は、我々は自分自身を宣言する必要があります。

   例如:タイプhttpd_t; http_user_content_tを入力します。

    タイプを宣言した後、あなたは、セキュリティコンテキスト、TEのルールやその他のポリシーステートメントでそれらを使用することができます。

   宣言構文を入力します。

    タイプタイプ名[エイリアスエイリアス設定] [、属性セット];

    1)別名{aliasa_tのaliasb_t}

    2間のカンマ)は、型bin_t、FILE_TYPE、exec_typeなどの属性、複数の。

    戦略全体に型宣言と同様に、ベースロード可能なモジュールとベースロード可能なモジュールが有効です。しかし、ない条件文インチ

4つのプロパティ

    、プロパティ)性質またはプロパティのタイプ、またはその両方として理解することができるタイプの両方2)基を有し

    我々は、すべてのファイルにアクセスすることができ、バックアッププログラムは、我々が最初にバックアップ・ドメイン・タイプのアプリケーション(backup_t)を作成したいと、それは任意のファイルタイプの関連付けにアクセスすることを可能にします。

    型backup_t。

    backup_t httpd_user_content_t許可:ファイルが読み込ま。

    backup_t shadow_tを許可:ファイルが読み込ま。

    ......

    私たちは、バックアッププログラムの多くを必要と頻繁に退屈でエラープロセスである、(それぞれのタイプは、Aなければならない)ルールが十分なアクセス権を付与することができ、より簡単に指定された、このプロパティ「へのグループアクセス」を作ります。プロパティに関連付けられたトップ定義ファイルのすべてのタイプにアクセスすることで、そのプロパティを与えるので、私たちは、アクセス権を持っているbackup_t許可するルールを使用することができます。

    FILE_TYPE属性。

    backup_t FILE_TYPEを許可:ファイルが読み込ま。

    type属性4.1に関連した二つの方法

    1)httpd_user_content_t、FILE_TYPE、httpdcontentを入力します。

    2)httpd_user_content_tを入力し、 

          typeattribuite httpd_user_content_t FILE_TYPE、httpdcontent。

5つのアクセスベクタルール

   ユニバーサルAV文法規則は、各ルールは、次の5つの要素を含んでいなければなりません

  • [ルール名]:許可、dontaudit、auditallow、nerverallow
  • ソースタイプ
  • ターゲットタイプ
  • オブジェクトタイプ
  • 許します

   たとえば:user_t bin_tを許可:ファイルが実行され、

5.1キーAVルール(ハッシュキー)

    カーネルでは、全てのAVルールはポリシー・キャッシュ・データ構造に使用されるハッシュテーブル、ルールとして、全体の第三の再構築が鍵と呼ばれるターゲット・タイプ+カテゴリ固有の識別にソースタイプ[+]によって設定されますこのキーは、ストレージおよび検索、アクセス要求が生成されるプロセスに依存することで、SELinuxのLSMモジュールは、このキーに基づいてアクセスを許可する必要があります。

図6に示すように、型ルール

    ルール名:type_transitionまたはtype_change

    ソースの種類:作成、またはプロセスの種類があり

    ターゲット・タイプ:トピックは、新規または再マーキングトピックの種類が含まれます

    Objectクラス:新しく作成されたか、オブジェクトスタイルの再マーキング

    デフォルトタイプ:オブジェクトの新規または再マーキングのための単一のデフォルトタイプを作成します。

おすすめ

転載: www.cnblogs.com/open1024/p/11699707.html