「SELinux」の版間の差分
提供: セキュリティ
行13: | 行13: | ||
[[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。 | [[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。 | ||
− | [[Unix]] | + | [[Unix]] のシステムは、ディレクトリやファイルなどのリソースに対するアクセス制御は、[[パーミッション]]で行われます。[[パーミッション]]は、[[任意アクセス制御]] (DAC) と呼ばれます。 |
− | + | [[パーミッション]]は、オーナー、グループ、その他に対して、rwx(読み、書き、実行) を設定します。 | |
− | [[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 の アクセス制御
- 強制アクセス制御 (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
監査ログ
使い方
ファイルやディレクトリのセキュリティコンテキストの確認方法
$ 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)