SELinux
提供: セキュリティ
スポンサーリンク
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 で表示されるモードの意味は、下記の通りです。
モード | 説明 |
---|---|
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 をEnforcingモードにする
setenforce コマンドを使用します。
% sudo setenforce 1
SELinux を Permissive モードにする
setenforce コマンドを使用します。
% 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
コマンド
関連項目
- SELinux Policy Editor (SEEdit)
- SETroubleShoot
ツイート
スポンサーリンク