SELinux - ぷちWiki

最終更新日時:

概要



SELinux(Security-Enhanced Linux) は、Linuxのカーネル用のセキュリティ拡張機能です。
不正侵入を100%防ぐことは不可能という考えの元に、不正侵入されても被害を極力少なくするというコンセプトで開発されました。

SELinux を使用するとプロセスごとに使用できるリソースが限定され、root権限でも実行できる処理が限定されるので、セキュリティ的には非常に向上することが期待できます。
その反面、今まで行えた処理が全く動かなくなったりすることも多々ありますので、無用なトラブルも絶えません。

個人的には SELinux を導入することは非常にコストが高く付くと考えていますので、よほどセキュリティ的にシビアなサーバ以外では導入しない方が無難であると考えています。


操作一覧



SELinux の設定は、/etc/sysconfig/selinux で行います。
システムは起動時にこのファイルを参照して SELinux の挙動を設定します。
上記ファイルの SELINUX の項で指定します。
設定内容は以下の通りです。

設定値
内容
enforcing
SELinux機能は有効でアクセス制御も有効
permissive
SELinuxは警告を出すが、アクセス制限は行わない
disabled
SELinux機能、アクセス制御ともに無効

現在、サーバ内で SELinux が有効であるかどうかは以下のようにして確認可能です。

 # getenforce

返ってくる文字列は上記の設定ファイルの SELINUX の項目の設定値と同等です。

現在の設定を変更するには、設定ファイルを変更して reboot するのが基本ですが、reboot せず、即座に変更することもできます。
SELinux 機能を無効にするには以下のようにします。
※disabled にはできず、permissive となる。

 # setenforce 0

有効にするには以下のようにします。

 # setenforce 1