「SELinux」の版間の差分

提供: セキュリティ
移動: 案内検索
行13: 行13:
 
[[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。
 
[[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。
  
[[Unix]] のシステムは、ディレクトリやファイルなどのリソースに対するアクセス制御は、パーミッションで行われます。
+
[[Unix]] のシステムは、ディレクトリやファイルなどのリソースに対するアクセス制御は、[[パーミッション]]で行われます。[[パーミッション]]は、[[任意アクセス制御]] (DAC) と呼ばれます。
パーミッションは、オーナー、グループ、その他に対して、rwx(読み、書き、実行) を設定します。
+
[[パーミッション]]は、オーナー、グループ、その他に対して、rwx(読み、書き、実行) を設定します。
[[root]] ユーザは、パーミッションの制限を受けることなく、あらゆるリソースにアクセスできるため、 [[Linux]] を含む [[Unix]] 系の OS では、 [[root]] ユーザに権限が集中し過ぎているといえます。
+
[[root]] ユーザは、[[パーミッション]]の制限を受けることなく、あらゆるリソースにアクセスできるため、 [[Linux]] を含む [[Unix]] 系の OS では、 [[root]] ユーザに権限が集中し過ぎているといえます。
 
[[root]] ユーザのパスワードの漏えいは、致命的な被害を及ぼす可能性をもたらします。
 
[[root]] ユーザのパスワードの漏えいは、致命的な被害を及ぼす可能性をもたらします。
  
行23: 行23:
 
; [[ロールベースアクセス制御]](RBAC): [[root]]ユーザを含むすべてのユーザに制限をかける
 
; [[ロールベースアクセス制御]](RBAC): [[root]]ユーザを含むすべてのユーザに制限をかける
  
 +
 +
== SELinux の アクセス制御 ==
  
 
[[SELinux]] の [[アクセス制御]]
 
[[SELinux]] の [[アクセス制御]]
行32: 行34:
 
** [[ロールベースアクセス制御]] (RBAC, Role Base Access Control)
 
** [[ロールベースアクセス制御]] (RBAC, Role Base Access Control)
 
* [[監査ログ]] ( [[SELinuxの監査ログ]] )
 
* [[監査ログ]] ( [[SELinuxの監査ログ]] )
 +
 +
== SELinux では防げないもの ==
 +
 +
* 設定の不備
 +
* 付与された権限内での破壊活動
 +
* 過大な権限を付与したユーザによる不正行為
 +
* 脆弱なパスワードの設定による「なりすまし行為」
 +
* システムやアプリケーションの脆弱性への攻撃
 +
* [[DoS攻撃]]
  
 
== インストール ==
 
== インストール ==
行86: 行97:
 
* [[SELinuxのポリシーファイル]]
 
* [[SELinuxのポリシーファイル]]
 
* [[SELinuxのセキュリティコンテキスト]]
 
* [[SELinuxのセキュリティコンテキスト]]
 +
 +
== ラベル ==
 +
 +
* [[SELinux]] が無効のときに、作成されたファイルには、ラベルが設定されません。
 +
 +
== ラベルの再設定 ==
 +
 +
起動時にファイルシステム全体にラベルが設定されます。
 +
<syntaxhighlight lang="bash">
 +
sudo touch /.autorelabel
 +
sudo shutdown -r now
 +
</syntaxhighlight>
  
 
== 監査ログ ==
 
== 監査ログ ==
行118: 行141:
  
 
* [[setsebool]]
 
* [[setsebool]]
 +
 +
* [[sealert]]
 +
* [[semanage]]
  
 
== 関連項目 ==
 
== 関連項目 ==
行135: 行161:
  
 
* [[セキュアOS]]
 
* [[セキュアOS]]
 +
 +
* [[Multi Level Security]] (MLS)
 +
* [[Multi Category Security]] (MCS)

2013年8月11日 (日) 23:33時点における版

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アクセス制御

SELinux では防げないもの

  • 設定の不備
  • 付与された権限内での破壊活動
  • 過大な権限を付与したユーザによる不正行為
  • 脆弱なパスワードの設定による「なりすまし行為」
  • システムやアプリケーションの脆弱性への攻撃
  • DoS攻撃

インストール

SELinux は、あらかじめインストールされている場合があります。

OSとSELinux
ディストリビューション どのように入れるか
Red Hat Enterprise Linux (4+) デフォルト
CentOS デフォルト
Fedora (2+) デフォルト
Ubuntu インストール
Debian アドオン
Gentoo インストール

セキュリティコンテキストとファイルシステム

SELinuxセキュリティコンテキスト は、ファイルシステムの拡張属性(EXtended Attribute, xattr) に保存されます。

ext2, ext3, ext4, jff2 などの ファイルシステム が拡張属性をサポートしています。

SELinux のモード

SELinux の設定

ラベル

  • SELinux が無効のときに、作成されたファイルには、ラベルが設定されません。

ラベルの再設定

起動時にファイルシステム全体にラベルが設定されます。

sudo touch /.autorelabel
sudo shutdown -r now

監査ログ

使い方

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

$ 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

コマンド

関連項目