猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

Linux

SELinuxの概要

投稿日:2013年3月20日 更新日:

SELinxの概要

プロセスがファイルなどのリソースにアクセスする際に、通常のLinuxのアクセス制御(パーミッション・チェック)に加え、必ずTEによるチェックをする仕組みです。
TEとは、「Type-Enforcement」と呼ばれるアクセス制御機能です。
通常のLinuxのパーミッションチェックは、はユーザー名に基づいてアクセス制御を行いますが、TEではポリシーファイルに設定されたドメインタイプを使ってアクセス制御を行います。

SELinuxはあくまでシステムに侵入された場合に、被害を最小限に抑えるための仕組みです。
そのため、SELinuxを有効にしているからと言って、ファイヤーウォールは不要というわけではありません。あしからず。

SELinxのチェックの流れ

①プロセスからのアクセス要求
プロセスには「ドメイン」と呼ばれるラベル(識別子)が付与されるます。
例)Webサーバーのプロセス(/usr/sbin/httpd)には「httpd_t」というドメイン

②SELinuxモジュールのアクセスチェック
ポリシーファイルには、プロセスに対応する「ドメイン」と、リソースに対応する「タイプ」がセットでアクセス設定されています。
TEがそれをチェックします。
例)Webページ(var/www内のファイル一式)には「httpd_sys_content_t」というタイプ

③ファイルへアクセス
アクセスが許可された場合、実際にファイルにアクセスを行います。
アクセスが拒否された場合は、アクセスが拒否されたことがログに記録されます。

確認

SELinuxが有効になっているかどうかは以下のコマンドで確認できます。

#  getenforce
Enforcing

enforcing:クセス制御が有効
permissive:警告を出力するが、アクセス制限は無効
disabled:アクセス制御が無効

SELnuxが原因でうまくファイルにアクセスできない場合は、permissiveモードに設定してログを確認しましょう。
setenforceコマンドで変更できます。

再起動後も設定の状態を保持するには、selinuxファイルを修正します。

# vi etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
##SELINUX=enforcing
SELINUX=disabled

ドメインの確認

ドメインの確認はpsコマンドで可能です。

# ps -eZ
LABEL                             PID TTY          TIME CMD
system_u:system_r:init_t            1 ?        00:00:00 init
system_u:system_r:kernel_t          2 ?        00:00:00 migration/0
system_u:system_r:kernel_t          3 ?        00:00:00 ksoftirqd/0
system_u:system_r:kernel_t          4 ?        00:00:00 watchdog/0
・・・

具体的な設定方法は別の機会に・・・

Gooleアドセンス用336

Gooleアドセンス用336

-Linux

執筆者:

関連記事

tracertで表示されるIPとは

ネットワークエンジニアでなくても ルートの確認に使用したことがあるだろう tracert(windows) traceroute(linux) のIPはどこのIPなのでしょうか。 ネットワークが変わる …

linux

samba(共有)の設定手順

INDEX1 (1)smbをyumでインストールする2 (2)linuxユーザーを追加する。3 (3)linxユーザーのパスワード4 (4)linuxユーザーをsmbaのユーザーに追加する5 (5)設 …

linux

LV(論理ボリューム)の拡張

マウントされているサイズ(/varなど)を拡張する場合には、論理ボリュームを拡張します。 以下の作業はオンラインで可能です。 INDEX1 マウントされている論理ボリュームを確認する2 論理ボリューム …

linux

LinuxでBase64を扱う

Base64は暗号化としてよりも、HTTPでスペースやら記号などやりとりできない文字を置き換えて送受信する場合によく利用されます。 Linuxで簡単に使用できるBase64のエンコードやデコードの方法 …

linux

viのカーソルを先頭や指定行に移動する

gg  先頭に移動 G  最終行へ移動 XG  X行へ移動 行移動する場合は :でコマンドモードに移行して行番号を表示すれば便利です。 :set nu  行番号を表示します :set nonu 行番号 …