SELinuxの利用方法

Fedora Core2以降では、SELinuxの機能が標準でカーネルに組み込まれております。

SELinuxの制御
Fedora Coreを起動後(Fedora Core2以降)、SELinuxの有効/無効を制御するには /selinux/enforce ファイルに0(無効)または1(有効)にします。

# cat /selinux/enforce  ・・・・・・・SELinuxの有効/無効を確認
# echo 1 > /selinux/enforce  ・・・SELinuxを有効にする
# echo 0 > /selinux/enforce  ・・・SELinuxを無効にする
再起動後に有効/無効を制御する方法は以下の指定で制御します。
/etc/sysconfig/selinux で設定します。
「SELINUX= 」に続けて下記の設定項目を指定することにより反映できます。
enforcinfg ・・・SELinuxを有効にする
disabled ・・・・SELinuxを無効にする
permissive ・・・ログのみを出力するモード
# vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcinfg - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcinfg

:w
:q
SELinuxの特徴
SELinuxには通常のパーミッションとは別にアクセス制御機能として以下のような特徴があります。

MAC(Mandatory Access control:強制アクセス制御)
Linuxでは、アクセス制御としてDAC(Discretionary Access Control:任意アクセス制御)が用いられております。DACとはファイルの「所有者・所有グループ・その他」に基づくアクセス制御方法で、システム管理者がファイルに対してアクセス制限を強制したい場合でも、ファイルの所有者であれば当然ファイルにアクセスすることができ、「任意」にアクセス制限を変更することが可能でした。
それに対してMACは、ファイルの所有者が自分の所有するファイルにアクセスする場合でも,セキュリティ管理者が設定したアクセス制御のルール(セキュリティポリシー)に「強制的」に従わなければなりません。これはrootユーザも例外ではありません。強制アクセス制御を備えたLinux上では,従来のLinuxにおける特権ユーザの権限すら制限することが可能となります。

最小特権(プロセス単位でのアクセス制御)
「最小特権」とはプロセスに対して独自の権限を与えることができ、必要以上の権限を与えないようにできる仕組みになります。この仕組みを利用し各プロセスに必要最小限のアクセス権のみを与えることにより,アプリケーションの脆弱性を突く攻撃により、たとえ不正侵入の被害にあったとしても、その被害を最小限に止めることができます。
SELinuxはこのプロセス単位でのアクセス制御を「Type Enforcement」(TE)と呼ばれる機能によって実現しております。また、ユーザ単位でのアクセス制御を「Role-Based Access Control」(RBAC)機能によって実現しております。このTEとRBACの二つの機能を利用してSELinux独自のアクセス制御が行われております。

戻 る