「SELinux」の版間の差分
提供: セキュリティ
行1: | 行1: | ||
− | |||
− | |||
− | |||
[[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。[[SELinux]] は、[[セキュアOS]]です。 | [[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。[[SELinux]] は、[[セキュアOS]]です。 | ||
行10: | 行7: | ||
== 概要 == | == 概要 == | ||
− | |||
[[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。 | [[SELinux]] は、[[Linuxカーネル]] に [[強制アクセス制御]] (MAC) 機能を付加するモジュールです。 | ||
行22: | 行18: | ||
;Teyp Enforcement (TE): プロセスごとのアクセス制御 | ;Teyp Enforcement (TE): プロセスごとのアクセス制御 | ||
; [[ロールベースアクセス制御]](RBAC): [[root]]ユーザを含むすべてのユーザに制限をかける | ; [[ロールベースアクセス制御]](RBAC): [[root]]ユーザを含むすべてのユーザに制限をかける | ||
− | |||
== SELinux の アクセス制御 == | == SELinux の アクセス制御 == | ||
− | |||
[[SELinux]] の [[アクセス制御]] | [[SELinux]] の [[アクセス制御]] | ||
行36: | 行30: | ||
== SELinux では防げないもの == | == SELinux では防げないもの == | ||
− | |||
* 設定の不備 | * 設定の不備 | ||
* 付与された権限内での破壊活動 | * 付与された権限内での破壊活動 | ||
行45: | 行38: | ||
== インストール == | == インストール == | ||
− | |||
[[SELinux]] は、あらかじめインストールされている場合があります。 | [[SELinux]] は、あらかじめインストールされている場合があります。 | ||
* [[SELinux を Ubuntu にインストールする]] | * [[SELinux を Ubuntu にインストールする]] | ||
行74: | 行66: | ||
== セキュリティコンテキストとファイルシステム == | == セキュリティコンテキストとファイルシステム == | ||
− | |||
[[SELinux]] の [[SELinuxのセキュリティコンテキスト|セキュリティコンテキスト]] は、ファイルシステムの拡張属性(EXtended Attribute, xattr) に保存されます。 | [[SELinux]] の [[SELinuxのセキュリティコンテキスト|セキュリティコンテキスト]] は、ファイルシステムの拡張属性(EXtended Attribute, xattr) に保存されます。 | ||
行80: | 行71: | ||
== SELinux のモード == | == SELinux のモード == | ||
− | |||
* [[SELinuxのモード]] | * [[SELinuxのモード]] | ||
** [[sestatus]] | ** [[sestatus]] | ||
行92: | 行82: | ||
== SELinux の設定 == | == SELinux の設定 == | ||
− | |||
* [[SELinuxの設定ファイル]] | * [[SELinuxの設定ファイル]] | ||
** [[/etc/selinux/config]] | ** [[/etc/selinux/config]] | ||
行99: | 行88: | ||
== ラベル == | == ラベル == | ||
− | |||
* [[SELinux]] が無効のときに、作成されたファイルには、ラベルが設定されません。 | * [[SELinux]] が無効のときに、作成されたファイルには、ラベルが設定されません。 | ||
== ラベルの再設定 == | == ラベルの再設定 == | ||
− | |||
起動時にファイルシステム全体にラベルが設定されます。 | 起動時にファイルシステム全体にラベルが設定されます。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行110: | 行97: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | == SELinuxのログ == |
+ | SELinuxには、拒否ログと監査ログの2つがあります。 | ||
+ | ;拒否ログ:SELinuxの設定で許可されていないアクセスに対して、出力されるログです。 | ||
+ | ;[[SELinuxの監査ログ]]:SELinuxの設定で「アクセスの証跡を残す」設定がされているアクセスに対して、出力されるログです。 | ||
− | + | 拒否ログは、不正なアクセスの検知に利用できます。 | |
== 使い方 == | == 使い方 == | ||
− | |||
=== ファイルやディレクトリのセキュリティコンテキストの確認方法 === | === ファイルやディレクトリのセキュリティコンテキストの確認方法 === | ||
− | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
$ ls -Z /etc/hosts.allow | $ ls -Z /etc/hosts.allow | ||
行132: | 行120: | ||
=== コマンド === | === コマンド === | ||
− | |||
* [[selinuxconlist]] | * [[selinuxconlist]] | ||
* [[secon]] | * [[secon]] | ||
行152: | 行139: | ||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[SELinuxのモード]] | * [[SELinuxのモード]] | ||
* [[Linux]] | * [[Linux]] | ||
行170: | 行156: | ||
* [[Multi Level Security]] (MLS) | * [[Multi Level Security]] (MLS) | ||
* [[Multi Category Security]] (MCS) | * [[Multi Category Security]] (MCS) | ||
+ | <!-- vim: filetype=mediawiki | ||
+ | --> |
2014年4月27日 (日) 17:20時点における版
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)