○ selinuxの調整 4 Router (参考)

・ソースインストールファイルへの対応
・CentOS 6.x ではpolicy-sourceファイルは配布されていません
・個々の設定はモデュールで組み込めるようになっています
・Permissiveでの動作を確認してからEnforcingに変更します

・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文 (英文) を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○参照ファイル

パッケージの追加
最初の設定 (Router)

○インストール環境

:OS CentOS 6.x
:selinux permissive
:インストール先
:作業
:言語 LANG=en_US.UTF-8
:ユーザー root

・メンテナンスの場合は一般ユーザから行います



○policycoreutils-pythonファイルのインストール

・audit2why、audit2allowはpolicycoreutils-pythonに含まれます
・audit-libs-python、libselinux-python、libsemanage-python
・setools-libs、setools-libs-python を同時にインストールします

[root@venus:~]
# yum install policycoreutils-python

○モデュールファイルの作成と組み込み

○configファイルの修正

:/etc/selinux/config

・permissiveモードで起動するようにします

SELINUX=permissive
SELINUXTYPE=targeted

○selinuxのリラベルを実行しておきます

[root@venus:~]
# fixfiles relabel

○audit.logを空にする

[root@venus:~]
# cat /dev/null >/var/log/audit/audit.log

○再起動します

[root@venus:~]
# shutdown -r now

○ audit警告の修正

・auditdデーモンが起動していると/var/log/auditにログが作られます
・auditdデーモンを止めているので/var/log/messagesにログが出されます

・messagesからselinuxの情報を集める

[root@venus:~]
# audit2why < /var/log/messages > se-error.txt

・audit.logとdmesgからTEファイルを作る

# audit2allow -a -m local > local.te

・audit.logからTEファイルを作る場合は

# audit2allow -i /var/log/audit/audit.log -m local > local.te

・dmesgからTEファイルを作る場合は

# audit2allow -d -v -m local > local.te

・messagesからTEファイルを作る

# audit2allow -i /var/log/messages -m local > local.te

・バイナリー形式のモデュールの作成

# checkmodule -M -m local.te -o local.mod

・モデュールパッケージ化

# semodule_package -o local.pp -m local.mod

・SELinuxに組み込む

# semodule -i local.pp

・組み込みモデュールの確認

# semodule -l | grep local

・組み込みモデュ−ルの解除

# semodule -r local

:参考 local.te (root root 600)


module local 1.0;

require {
	type sendmail_t;
	type kernel_t;
	type pppd_t;
	type pppd_exec_t;
	class system module_request;
	class file execmod;
}

#============= pppd_t ==============
allow pppd_t pppd_exec_t:file execmod;

#============= sendmail_t ==============
allow sendmail_t kernel_t:system module_request;

:booleansの変更で対処する場合

・sambaでhome_dirsにアクセスする場合

[root@venus:~]
# getsebool -a
・・・・・・・・・・・・・・・・・・
samba_enable_home_dirs --> off
・・・・・・・・・・・・・・・・・・
# setsebool -P samba_enable_home_dirs 1

# getsebool -a
・・・・・・・・・・・・・・・・・・
samba_enable_home_dirs --> on
・・・・・・・・・・・・・・・・・・

・offに変更

# setsebool -P samba_enable_home_dirs 0      

○モード変更

・再起動した場合、/etc/selinux/configの設定になります

・Enforcingモードにする

[root@venus:~]
# setenforce 1

・確認

# getenforce
Enforcing

○ Copyright(c) 528p.com All Rights Reserved.