SELinux
提供: セキュリティ
スポンサーリンク
SELinux は、Linuxカーネル に 強制アクセス制御 (MAC) 機能を付加するモジュールです。SELinux は、セキュアOSです。
読み方
- SELinux
- えすぃーりなっくす
- Security-Enhanced Linux
- せきゅりてぃ えんはんすど りなっくす
目次
概要
SELinux は、Linuxカーネル に 強制アクセス制御 (MAC) 機能を付加するモジュールです。
Unix のシステムは、ディレクトリやファイルなどのリソースに対するアクセス制御は、パーミッションで行われます。パーミッションは、任意アクセス制御 (DAC) と呼ばれます。 パーミッションは、オーナー、グループ、その他に対して、rwx(読み、書き、実行) を設定します。 root ユーザは、パーミッションの制限を受けることなく、あらゆるリソースにアクセスできるため、 Linux を含む Unix 系の OS では、 root ユーザに権限が集中し過ぎているといえます。 root ユーザのパスワードの漏えいは、致命的な被害を及ぼす可能性をもたらします。
SELinux では、以下の制限を設け、root ユーザの権限の集中を防ぎ、堅牢なシステム構築を目指しています。
- Teyp Enforcement (TE)
- プロセスごとのアクセス制御
- ロールベースアクセス制御(RBAC)
- rootユーザを含むすべてのユーザに制限をかける
SELinux の アクセス制御
SELinux の アクセス制御
- 強制アクセス制御 (MAC, Mandatory Access Control)
- 最小特権
- TE (Type Enforcement)
- ドメイン遷移
- ロールベースアクセス制御 (RBAC, Role Base Access Control)
- 監査ログ ( SELinuxの監査ログ )
SELinux では防げないもの
- 設定の不備
- 付与された権限内での破壊活動
- 過大な権限を付与したユーザによる不正行為
- 脆弱なパスワードの設定による「なりすまし行為」
- システムやアプリケーションの脆弱性への攻撃
- DoS攻撃
インストール
SELinux は、あらかじめインストールされている場合があります。
ディストリビューション | どのように入れるか |
---|---|
Red Hat Enterprise Linux (4+) | デフォルト |
CentOS | デフォルト |
Fedora (2+) | デフォルト |
Ubuntu | インストール |
Debian | アドオン |
Gentoo | インストール |
セキュリティコンテキストとファイルシステム
SELinux の セキュリティコンテキスト は、ファイルシステムの拡張属性(EXtended Attribute, xattr) に保存されます。
ext2, ext3, ext4, jff2 などの ファイルシステム が拡張属性をサポートしています。
SELinux のモード
- SELinuxのモード
- sestatus
- SELinux のステータスの確認
- getenforce
- 動作モードの確認
- setenforce
- 動作モードの変更
- /etc/selinux/config
- 設定ファイル
- sestatus
SELinux の設定
ラベル
- SELinux が無効のときに、作成されたファイルには、ラベルが設定されません。
ラベルの再設定
起動時にファイルシステム全体にラベルが設定されます。
sudo touch /.autorelabel sudo shutdown -r now
SELinuxのログ
SELinuxには、拒否ログと監査ログの2つがあります。
- 拒否ログ
- SELinuxの設定で許可されていないアクセスに対して、出力されるログです。
- SELinuxの監査ログ
- SELinuxの設定で「アクセスの証跡を残す」設定がされているアクセスに対して、出力されるログです。
拒否ログは、不正なアクセスの検知に利用できます。
使い方
ファイルやディレクトリのセキュリティコンテキストの確認方法
$ 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
- auditd
- syslog
- Linux Security Modules (LSM)
- Access Vector Cache (AVC)
- Multi Level Security (MLS)
- Multi Category Security (MCS)
ツイート
スポンサーリンク