SELinuxでロールを作る(一部解決編) [Linux]
http://d.hatena.ne.jp/kaigai/20100424
SELinuxでロールを作るのがどうも意味がよくわからなかったが、やっとある程度見えてきた。自分の理解不足+元々のポリシーの不備?など理由はいろいろあった。
1.ロールを作るのは型やドメインを作るのと同じでrole xxx_rで終わり。
2.しかし、そのロールがどのUNIX/SELINUXユーザに属しているかは、インストール用ポリシーをつくるのでなければ、semanageで行う。さらに、semanageで行う際に既存ユーザに「追加」はできないので「-l」でユーザーを確認するのがよい。というか、組み込み型を壊すと面倒なので素直に新しいSELINUXユーザを作ってしまうのがよい。ポリシーファイルだけで行うのはインストール用のビルドパッケージを作るときだけでいいようだ。
3.前後したがUNIXユーザに1つのSELINUXユーザがあり、そのSELINUXユーザが取りうるロールが複数存在する。
4.特定のロールになったときにどのドメインになっているかは、default_contextで決められる
5.refpolicyのstaff_rには不具合があり、そのままだと/homeの下にアクセスできない。これはstaff_rが/rootにアクセスするアクセス権しかもっていない。しかし昨今のLinuxセキュリティではルートアカウントを使わないようにして、スーパーユーザが管理するようになっているので、refpolicyは問題あるのではないか。もしかしたらsesetboolで設定できるかもしれない。
6.sudoが動かない。Debianの場合はsudoがSELinuxに対応していないので、ソースをもってきて、./configure --with-selinuxしてビルドする必要がある。Permissiveでは、sudoで動かせるが、Enforceにすると動かせない。この問題の詳細は未調査。
sudoがまだ使えてないので、魅力は半減だが、SELINUXユーザとロールのペアが簡単に作れることがわかったので、そこからallowでルール追加してくことである程度思い通りになるようになった。
SELinuxでロールを作るのがどうも意味がよくわからなかったが、やっとある程度見えてきた。自分の理解不足+元々のポリシーの不備?など理由はいろいろあった。
1.ロールを作るのは型やドメインを作るのと同じでrole xxx_rで終わり。
2.しかし、そのロールがどのUNIX/SELINUXユーザに属しているかは、インストール用ポリシーをつくるのでなければ、semanageで行う。さらに、semanageで行う際に既存ユーザに「追加」はできないので「-l」でユーザーを確認するのがよい。というか、組み込み型を壊すと面倒なので素直に新しいSELINUXユーザを作ってしまうのがよい。ポリシーファイルだけで行うのはインストール用のビルドパッケージを作るときだけでいいようだ。
3.前後したがUNIXユーザに1つのSELINUXユーザがあり、そのSELINUXユーザが取りうるロールが複数存在する。
4.特定のロールになったときにどのドメインになっているかは、default_contextで決められる
5.refpolicyのstaff_rには不具合があり、そのままだと/homeの下にアクセスできない。これはstaff_rが/rootにアクセスするアクセス権しかもっていない。しかし昨今のLinuxセキュリティではルートアカウントを使わないようにして、スーパーユーザが管理するようになっているので、refpolicyは問題あるのではないか。もしかしたらsesetboolで設定できるかもしれない。
6.sudoが動かない。Debianの場合はsudoがSELinuxに対応していないので、ソースをもってきて、./configure --with-selinuxしてビルドする必要がある。Permissiveでは、sudoで動かせるが、Enforceにすると動かせない。この問題の詳細は未調査。
sudoがまだ使えてないので、魅力は半減だが、SELINUXユーザとロールのペアが簡単に作れることがわかったので、そこからallowでルール追加してくことである程度思い通りになるようになった。
コメント 0