SELinux†
- ドメイン単位でプロセスとユーザーに権限を割り当てる
SELinux の仕組み†
- Flask
- Flux Advanced Security Kernel
- セキュリティアーキテクチャ
- 柔軟な強制アクセス制御が可能
- 処理の流れ
- プロセスがリソースにアクセスする為にカーネルにアクセスを要求する
- カーネルは、ファイルの許可属性をチェックする
- SELinuxが、セキュリティポリシーファイルを参照してアクセスの可否を判断する
- プロセスがリソースにアクセスする
SELinux のセキュリティ機能†
- TE
- Type Enforcemtnt
- プロセスごとのリソースへのアクセス制御を行う
- プロセス(サブジェクト)←ドメインというラベルを付与する
- リソース(オブジェクト)←タイプというラベルを付与する
- 許可属性(アクセスベクタ)←ドメインとタイプの関係をセキュリティポリシーファイルに設定する
- ラベル名の命名ルール:末尾"_t"
- RBAC
- Role Based Access Control
- 役割別のアクセス制御
- ログイン時にユーザーごとにロール(役割)と呼ばれるアクセス権を与える
- ドメイン遷移
- プログラムを実行した際に、起動したプロセスのドメインとは別のドメインで動作するようにする
- 起動元プロセスのドメイン
- 実行ファイルのタイプ
- 起動されたプロセスが動作するドメイン
- Enforced
- 強制モード : セキュリティポリシーに違反するアクションをブロック(Yes)、ログに記録(Yes) ※本番運用向け
- Permissive
- 開発モード : セキュリティポリシーに違反するアクションをブロック(No)、ログに記録(Yes) ※開発・調査向け
- Disabled
- 無効 : セキュリティポリシーに違反するアクションをブロック(No)、ログに記録(No)
コマンド†
getenforce†
sestatus†
setenforce†
sesearch†
chcon†
semanage†
restorecon†
設定ファイル†
/etc/selinux/config†
設定状況の確認†
ls -Z
ls --context
ps -Z
ps -M
ps x --context
関連用語†