from electron 2 web

インターネットのリソースを無駄遣いして検索におけるUXを下げてごめんなさい

圧倒的文章力のNASAでゴミみたいなチラ裏のようなメモを量産してしまい全ての"Web開発者"にごめんなさい

慣れる!SE(linux)

はい。やります。

環境

kali linux on virtualbox

でやろうとしたらgetenfoceもsestatusもできなくてオワリ!w

なので久しぶりにvmwareつかうか。

と思ったらvmwareにまともなvmなかった・・・

ということで改めて環境

[oonuma@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

etc/issue...centos6.7

selinuxを確認する

getenforceまたはsestatusで確認できる。sestatusのほうが詳しい

setenforceは一時的に動作を変更する。

policyとselinux

policyとは設定ファイルのこと。policyとselinuxは分離して開発されている。つまりselinux var6でpolicy var3みたいなのもあるかも、

policyとは別に設定ファイルがある。policyの実態は/etc/selinux/target.d/policy/policy.20

自分の場合バージョンが上がっててpolicy.24だった。

んで設定ファイルの実態は/etc/selinux/config。

configでSELINUXのモードを変更できる。モードはなんかenforcingとdisableとpermissiveの3つがあるっぽい。

selinuxのpolicyの確認をするにはgetsebool -aでできる。もう一つほかのコマンドもあるけど自分の環境では使えなかった。なんか大きなバージョンアップがあったらしいのでそれで消えたか?

getsebooolに対してsetseboolで設定できる。

policyにも2つのモジュール?があって標準がtargetdポリシーで硬いのがstructpolicyっぽい

selinuxの動作

selinux既存のlinuxのセキュリティシステムがチェックした後にチェックが行われる

selinuxの動作を確認したい場合は大体既存のコマンドに-Zをつける。

e.g ls -Z

-rw-rw-r--. oonuma oonuma unconfined_u:object_r:user_home_t:s0 aaa

サブジェクト(動作主体)、オブジェクト(動作対象)、アクションの3つ組に対してそれを許可するかどうかを判断するのがSElinux

サブジェクトがプロセス。オブジェクトがファイルやファイルディスクリプタディレクトリ、プロセス等のリソース

アクションがそのまま。

なんとなくわかってきたぞ。

上で確認したのはオブジェクトの許可だな。サブジェクトの動作許可もps -Zでできた。

この-Zで出てくるやつはラベルっていうらしい。

TE tenani?

ドメイン<ラベルっぽい

プロセスにはドメインが付与される。XXX_tみたいな感じでプロセス名に_tが付く。

んでリソースにはドメインみたいな感じでタイプが要求される。

ドメインが必要とするタイプを制限するのがselinux

なんかprocとかほかにもいろいろあるけど基礎的なことがわかったのでオワリ!w

conclusion

SEとかけて、SElinuxと解きます。その心は・・・

どちらも"お(堅|固)い"

山田く~ん、座布団65565枚持ってきて~(オーバーフロー