SELinux

提供: セキュリティ
2013年4月30日 (火) 23:53時点におけるDaemon (トーク | 投稿記録)による版

移動: 案内検索
スポンサーリンク

SELinux は、Linux カーネル強制アクセス制御 (MAC) 機能を付加するモジュールです。

読み方

SELinux
えすぃーりなっくす
Security-Enhanced Linux
せきゅりてぃ えんはんすど りなっくす

概要

SELinux は、Linux カーネル強制アクセス制御 (MAC) 機能を付加するモジュールです。

Unix のシステムは、ディレクトリやファイルなどのリソースに対するアクセス制御は、パーミッションで行われます。 パーミッションは、オーナー、グループ、その他に対して、rwx(読み、書き、実行) を設定します。 root ユーザは、パーミッションの制限を受けることなく、あらゆるリソースにアクセスできるため、 Linux を含む Unix 系の OS では、 root ユーザに権限が集中し過ぎているといえます。 root ユーザのパスワードの漏えいは、致命的な被害を及ぼす可能性をもたらします。

SELinux では、以下の制限を設け、root ユーザの権限の集中を防ぎ、堅牢なシステム構築を目指しています。

Teyp Enforcement (TE)
プロセスごとのアクセス制御
ロールベースアクセス制御(RBAC)
rootユーザを含むすべてのユーザに制限をかける

インストール

SELinux は、OSに組み込まれています。

使い方

SELinux の動作状況を確認する

% getenforce

getenforce で表示されるモードの意味は、下記の通りです。

SELinux の動作状況
モード 説明
Enforcing SELinux機能は有効でアクセス制御も有効です。
Permissive SElinuxはwarningを出すが、アクセス制限は行われません。
disabled SElinux機能・アクセス制御ともに無効です

sestatus は、 SELinux ステータスツールです。

$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          error (Success)
Policy version:                 24
Policy from config file:        targeted

SELinux を有効化する

% sudo setenforce 1

SELinux を無効化する

% sudo setenforce 0

SELinux の設定ファイル

SELinux の設定ファイルは、 /etc/selinux/config です。 /etc/sysconfig/selinux は、 /etc/selinux/config へのシンボリックリンクです。

SELinux の設定

SELinux の設定は、 /etc/selinux/config で行います。

SELinux を有効にする。

SELINUX=enforcing

SELinux を無効にする。

SELINUX=disable

ファイルやディレクトリのセキュリティコンテキストの確認方法

$ ls -Z /etc/hosts.allow
-rw-r--r--. root root system_u:object_r:etc_t:s0       /etc/hosts.allow

プロセスのコンテキスト。

$ ps axZ |fgrep auditd
system_u:system_r:kernel_t:s0     467 ?        S      0:01 [kauditd]
unconfined_u:system_r:auditd_t:s0 16834 ?      S<sl   0:00 auditd
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 17377 pts/7 S+   0:00 fgrep auditd

コマンド

関連項目




スポンサーリンク