2006年3月19日

[selinux-users:01473] refpolicyはじめました


藤原@花粉症 です。

題名がお店みたいですみません。
クライアントマシン(FC4)にrefpolicを入れてみました。
約1時間でこのメールの最後までできました。

リンクは、

http://serefpolicy.sourceforge.net/index.php
です。考え方を読むと、今勉強中のオブジェクト指向っぽい。
ソースがまる見えでは安全ではないと言っている。ですね。
モジュールにして、ロードしたり外したり柔軟性を持たせたいと。
FLASKアーキテクチャに則っていますな。
ポリシをどう書くかはまだわかりませんが、おそらく
テンプレートとかインターフェースとかあって、仮想関数になっているんでしょう。

すいません、また適当な事言っちゃいました。
じゃ、報告します(懐かしいな、人柱報告ってやつですネ)。
去年と大違いなのは、自作の分析ツールを使えることです。
ログをマクロ化してくれます。楽です。

checkpolicy-1.28-4.i386.rpm
libsepol-1.11.7-1.i386.rpm
をダウンロード、
-Uvhでインストール、
refpolicyをダウンロード
# tar -jxvf refpolicy-xxx.tar.bz2 -C /tmp
# cd /tmp/refpolicy
# make install-src
# cd /etc/selinux/refpolicy/src/policy
vi build.conf
項目の確認。とりあえずstrictになってればよし。
#make
#make install
#vi /etc/selinux/config
SELINUXTYPE=refpolicy
# touch /.autorelabel
vi /var/log/audit/audit.log
30000ddとかして、ログを全部消しちゃう。
# shutdown -r now

vi /etc/selinux/refpolicy/users/local.users
sysamd_rを特定のユーザに付与する。

以下、自作ツールのsegatexのGUIバージョンを使います。
sestatusボタンを押下

Your selinux policy root is
/etc/selinux/refpolicy
Your selinux default type path is
/etc/selinux/refpolicy/contexts/default_type
You are running SELinux in
Permissive.

audit-macroボタン押下

allow initrc_t canna_t:unix_stream_socket { connectto };
allow initrc_t canna_var_run_t:sock_file rw_file_perms;
allow initrc_t i18n_input_var_run_t:dir create_dir_perms;
allow initrc_t i18n_input_var_run_t:sock_file create_file_perms;
allow initrc_t initrc_t:capability { sys_admin };
allow initrc_t ramfs_t:dir rw_dir_perms;
allow initrc_t ramfs_t:fifo_file link_file_perms;
allow initrc_t ramfs_t:file link_file_perms;
allow initrc_t ramfs_t:sock_file link_file_perms;
allow initrc_t sysadm_home_t:file ra_file_perms;
allow pam_t xdm_t:fd { use };
allow pam_t xdm_t:fifo_file rw_file_perms;
allow staff_dbusd_t system_dbusd_exec_t:file { entrypoint };
allow staff_dbusd_t xdm_t:fd { use };
allow staff_dbusd_t xdm_t:fifo_file rw_file_perms;
allow staff_ssh_agent_t tmp_t:dir create_dir_perms;
allow staff_ssh_agent_t tmp_t:sock_file create_file_perms;
allow staff_ssh_agent_t tmp_t:unix_stream_socket { listen };
allow staff_ssh_agent_t xdm_t:fd { use };
allow staff_ssh_agent_t xdm_t:fifo_file rw_file_perms;
allow staff_t alsa_etc_rw_t:file r_file_perms;
allow staff_t auditd_log_t:dir { search };
allow staff_t auditd_log_t:file r_file_perms;
allow staff_t bin_t:file { entrypoint };
allow staff_t i18n_input_var_run_t:sock_file rw_file_perms;
allow staff_t ice_tmp_t:dir rw_dir_perms;
allow staff_t ice_tmp_t:sock_file create_file_perms;
allow staff_t ice_tmp_t:udp_socket create_socket_perms;
allow staff_t initrc_t:unix_stream_socket { connectto };
allow staff_t net_conf_t:file r_file_perms;
allow staff_t net_conf_t:tcp_socket rw_socket_perms;
allow staff_t sysadm_home_dir_t:dir rw_dir_perms;
allow staff_t sysadm_home_dir_t:file create_file_perms;
allow staff_t sysadm_home_t:dir rw_dir_perms;
allow staff_t sysadm_home_t:file create_file_perms;
allow staff_t sysadm_home_t:udp_socket { ioctl };
allow staff_t sysadm_iceauth_home_t:file rw_file_perms;
allow staff_t sysadm_xauth_home_t:file r_file_perms;
allow staff_t user_home_dir_t:dir rw_dir_perms;
allow staff_t user_home_dir_t:file create_file_perms;
allow staff_t user_home_t:dir rw_dir_perms;
allow staff_t user_home_t:file create_file_perms;
allow staff_t user_home_t:tcp_socket create_socket_perms;
allow staff_t user_iceauth_home_t:file rw_file_perms;
allow staff_t user_tmp_t:dir create_dir_perms;
allow staff_t user_tmp_t:file create_file_perms;
allow staff_t user_tmp_t:sock_file link_file_perms;
allow staff_t user_xauth_home_t:file r_file_perms;
allow staff_t var_t:dir ra_dir_perms;
allow staff_t var_t:file r_file_perms;
allow staff_t xdm_t:tcp_socket create_socket_perms;
allow staff_t xdm_var_run_t:file rw_file_perms;
allow staff_t xkb_var_lib_t:capability { setuid };
allow staff_t xkb_var_lib_t:file r_file_perms;
allow xdm_t sysadm_home_t:file r_file_perms;
allow xdm_t user_iceauth_home_t:file stat_file_perms;
allow xdm_t var_run_t:file create_file_perms;
allow xdm_t xdm_tmp_t:sock_file create_file_perms;
allow xdm_xserver_t memory_device_t:chr_file x_file_perms;
allow xdm_xserver_t mtrr_device_t:file rw_file_perms;
allow xdm_xserver_t sysadm_home_dir_t:dir { search };
allow xdm_xserver_t sysadm_home_t:dir { search };
allow xdm_xserver_t sysadm_home_t:file r_file_perms;

initrc_tからドメイン遷移できていないアプリを検索するために、solve_problemボタンを押下

Found SELinux problems.These should be domain-transed from initrc_t.

antivir::fullpath is:/root/Desktop/antivir-workstation-pers-2.1.5-24/bin/antivir
antivir::fullpath is unnkown.
You should find / -type f -name "antivir " on console...
iiimd::fullpath is unnkown.
You should find / -type f -name "iiimd " on console...
rhgb::fullpath is unnkown.
You should find / -type f -name "rhgb " on console...
rhgb-client::fullpath is unnkown.
You should find / -type f -name "rhgb-client " on console...

見慣れない文字列がちらほら...。
設定は、レガシーなSELinux(ポリシ19までをこう呼ばしてもらう)だと、
簡単(じゃないという人が多いけど)だけど、これからどうしようか?

my homepage
http://intrajp.no-ip.com/

p.s.
私のツール(GUIバージョン)を使う人は、refpolicyではmake reloadとmake relabelボタンは押下しないで下さい。
パスがstrictになってますので。その他のボタンは大丈夫です。そのうち直します...。

投稿者 xml-rpc : 2006年3月19日 22:52
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/33550
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。