Ubuntu 8.10に種ITを入れる(5)

パーミッションをサポートするための作業メモ。
こういう作業をしていたら、ブラジルっぽい名前の人からUbuntu種ITうごかねーよというメールが来た。使おうとしてる人いるのね。


ちなみに、種ITで新パーミッションをサポートする場合はspdl.xmlというファイルに適当に追加すればいい。例外的に、allowprivの場合だけは、converter.confにも追加が必要(converterの書式チェックのため)。
作者ですら忘れかけていたのでメモ。。。。

[    5.804103] SELinux:  class memprotect not defined in policy
-> added allowpriv mmap_zero;

[    5.804126] SELinux:  class capability2 not defined in policy
-> capability2 is dead permission  in SELinux.

[    5.804197] SELinux:  permission open in class dir not defined in policy
[    5.804231] SELinux:  permission open in class file not defined in policy
[    5.804241] SELinux:  permission open in class chr_file not defined in policy
[    5.804247] SELinux:  permission open in class blk_file not defined in policy
[    5.804254] SELinux:  permission open in class fifo_file not defined in policy
-> Integrated open in file permission such as r. So, open can not be configured individually.
[    5.804273] SELinux:  permission recvfrom in class node not defined in policy
[    5.804279] SELinux:  permission sendto in class node not defined in policy
-> Integrated to allownet node send,recv permission.

[    5.804120] SELinux:  class peer not defined in policy
->サポートしない(つまり全部allowする)ことにした。

[    5.804291] SELinux:  permission ingress in class netif not defined in policy
[    5.804297] SELinux:  permission egress in class netif not defined in policy

[    5.804367] SELinux:  permission setfcap in class capability not defined in policy
-> allowpriv setfcapを作った。converter.confにも追加する必要があるのに注意。

[    5.804391] SELinux:  permission flow_in in class packet not defined in polic
[    5.804397] SELinux:  permission flow_out in class packet not defined in policy
[    5.804404] SELinux:  permission forward_in in class packet not defined in policy
[    5.804410] SELinux:  permission forward_out in class packet not defined in policy
-> packet classはサポートしていない(つまり全部allowな状態)
  なので、labeled networkはサポートしてない。ニーズがあれば考えることにする。

Ubuntu 8.10に種ITを入れる(4)

作業メモ。途中まで日本語入力できなかったので無茶苦茶。

[    5.804103] SELinux:  class memprotect not defined in policy
-> added allowpriv mmap_zero;

[    5.804126] SELinux:  class capability2 not defined in policy
-> capability2 is dead permission  in SELinux.

[    5.804197] SELinux:  permission open in class dir not defined in policy
[    5.804231] SELinux:  permission open in class file not defined in policy
[    5.804241] SELinux:  permission open in class chr_file not defined in policy
[    5.804247] SELinux:  permission open in class blk_file not defined in policy
[    5.804254] SELinux:  permission open in class fifo_file not defined in policy
-> Integrated open in file permission such as r. So, open can not be configured individually.
[    5.804273] SELinux:  permission recvfrom in class node not defined in policy
[    5.804279] SELinux:  permission sendto in class node not defined in policy
-> Integrated to allownet node send,recv permission.


TODOs....
[    5.804120] SELinux:  class peer not defined in policy
[    5.804291] SELinux:  permission ingress in class netif not defined in policy
[    5.804297] SELinux:  permission egress in class netif not defined in policy
[    5.804367] SELinux:  permission setfcap in class capability not defined in policy
[    5.804391] SELinux:  permission flow_in in class packet not defined in polic
[    5.804397] SELinux:  permission flow_out in class packet not defined in policy
[    5.804404] SELinux:  permission forward_in in class packet not defined in policy
[    5.804410] SELinux:  permission forward_out in class packet not defined in policy

Ubuntu 8.10に種ITを入れる(3)

カーネルは2.6.27になっている。種ITは2.6.25までしか試しておらず、
その後大量にパーミッションが追加されたようでそれをサポートせねばならない。

dmesgを確認すると

[    5.804103] SELinux:  class memprotect not defined in policy
[    5.804120] SELinux:  class peer not defined in policy
[    5.804126] SELinux:  class capability2 not defined in policy
[    5.804197] SELinux:  permission open in class dir not defined in policy
[    5.804231] SELinux:  permission open in class file not defined in policy
[    5.804241] SELinux:  permission open in class chr_file not defined in policy
[    5.804247] SELinux:  permission open in class blk_file not defined in policy
[    5.804254] SELinux:  permission open in class fifo_file not defined in policy
[    5.804273] SELinux:  permission recvfrom in class node not defined in policy
[    5.804279] SELinux:  permission sendto in class node not defined in policy
[    5.804291] SELinux:  permission ingress in class netif not defined in policy
[    5.804297] SELinux:  permission egress in class netif not defined in policy
[    5.804367] SELinux:  permission setfcap in class capability not defined in policy
[    5.804391] SELinux:  permission flow_in in class packet not defined in polic
[    5.804397] SELinux:  permission flow_out in class packet not defined in policy
[    5.804404] SELinux:  permission forward_in in class packet not defined in policy
[    5.804410] SELinux:  permission forward_out in class packet not defined in policy
[    5.804596] SELinux: the above unknown classes and permissions will be denied

うわー色々あるな。

/selinux以下にも、知らない間にファイルが増えているみたい。うひゃー

$ ls /selinux/
access                compat_net    initial_contexts     policyvers
avc                   context       load                 reject_unknown
booleans              create        member               relabel
checkreqprot          deny_unknown  mls                  user
class                 disable       null
commit_pending_bools  enforce       policy_capabilities

今日はもう時間切れ orz
マターリとつぶしていくか。。。

Ubuntu 8.10に種ITを入れる(2)

昨日のつづき。

必要なもの

apt-get install libselinux1-dev
apt-get install auditd

種ITコンパイル

svn co https://seedit.svn.sourceforge.net/svnroot/seedit/trunk
で最新版をゲット。
cd trunk
export PYTHON_SITELIB=/usr/lib/python2.5/site-packages/
する。
flex/bisonのバージョンがUbuntuでは新しいらしく修正が必要だった。
core/lib/middle_lang.l
にて、
extern YYSTYPE yylval;
を削除。
で、
#include "y.tab.h"
の前に
#define YYSTYPE char *
とする。

あとは通常と同じようにして入った。
ポリシはとりあえずfc8のをいれてみた。

selinuxfsマウント

mount -t selinuxfs /selinux /selinux

初期化

seedit-load -v
touch /.autorelabel
reboot
で、ラベルは初期化される。
が、ブート時にSELinuxが有効にならない。。。
/sbin/load_policyがないとか言われる。
selinuxfsもマウントされない。
とりあえず
/usr/sbin/load_policyのリンクを/sbin/load_policy張ることで対処。
でリブート。
おお、種ITでちゃんとドメインが付与されていることを確認。

Ubuntuを入れてみた

最近本業回帰をしているため、ブログなどから姿を消してました。

趣味でUbuntuで遊んでみようと思い立った。
いつまで続くか分からないが、後の作業で役立つためにメモ。
目標は種ITを入れること。

今日の作業

まず、Ubuntu Serverなるものを入れる。あっさりと入った。
以下、sudoでコマンド入力している。

apt-get install ubuntu-desktop
でしばらく待っていたら、GUIが入った。

apt-get remove apparmor
でさようならAppArmor
apt-get install selinux
SELinuxが入った。だが、load_policyとか入ってないので、事実上使えてない。
/sbinにupdate-selinux-policy, update-selinux-configというシェルスクリプトが入ってた。
何だこれは。知らない間に変わっていたのだろうか。


さて、種ITコンパイルに必要なものを入れる。
gccは入ってた。
apt-get install flex
apt-get install bison
でlex/yaccをインストール。

今日はこれまで。apt-get軽い!

追記

apt-get install build-essential
apt-get install libncurses5-dev
も後々カーネルなどコンパイルするのに必要なので入れとく

魁! セキュアOS塾

日本セキュアOSユーザ会にて、第一回の勉強会が開催されます。
ふるってご参加ください。

■ 開催概要
主催:日本セキュアOSユーザ会
名称:セキュアOS塾 - 01
SELinuxのイロハとWebへの応用〜
日時:10月29日 18:45 〜 20:30
(懇親会は 22:00 頃までを予定)
場所:港区立 港勤労福祉会館
http://www.3710pic.com/mkf/index.html
- 都営地下鉄 三田駅より徒歩1分
- JR線 田町駅より徒歩3分

詳細につきましては、下記URLをご覧ください。
http://www.secureos.jp/index.php?events/jyuku#pf4919f5

■ タイムテーブル
18:30〜 開場
18:45 - 18:50 挨拶:日本セキュアOSユーザ会について(海外)
18:50 - 19:35 第1部:今だから始める SELinux 入門(講師:中村)
19:35 - 20:20 第2部:SELinuxで作るセキュア Web サービス(講師:海外)
20:20 - 20:30 ライトニングトーク
〜22:00 懇親会

■ 参加方法
おおよその参加人数を把握するため、事前に『宴会君』へのご登録をお願いします。
宴会君: http://utage.org/enkai/
(宴会コード:jsosug081029)

※ 会場使用料として、参加者お一人あたり \200 のご負担を願います。
※ 懇親会への参加を予定されている場合、『懇親会参加』の旨、併せて明記
していただくようお願いします。

■ 今だから始める SELinux入門(18:50 - 19:35)
講師:中村雄一
Fedora, CentOSなど、主要なLinuxディストリビューションSELinux
デフォルトで入っており、ユーザが見えないところで動作しています。
今回は、SELinuxは初めてという人を対象に、
SELinuxの効能と簡単に使いこなすコツを紹介します。

SELinuxで作る セキュアWebサービス(19:35 - 20:20)
講師:海外 浩平
インターネットを介した経済活動の拡大を背景に、Webアプリケーションの
脆弱性を狙った攻撃が急速に増加しています。
OSレベルのアクセス制御を担う SELinux にとっては、従来、Webアプリとい
うのは一つの"鬼門"でした。しかし、最新の SELinux の開発成果を利用す
る事で、Webアプリケーション基盤である "LAPPスタック" 全体を保護する
事が可能になりました。
今回は、これら最新の開発動向と、セキュアなWebアプリケーションを構築
する方法をご紹介します。

■ 懇親会について
セキュアOS塾のプログラム終了後、港勤労福祉会館の至近にて 〜22:00頃の
予定で懇親会を開催します。
詳細につきましては追ってご連絡させて頂きますが、予算については一人あ
たり \4,000 を越えない範囲で、できるだけ低額に抑えるよう調整します。

日本セキュアOSユーザ会

日本SELinuxユーザ会は、日本セキュアOSユーザ会として
再出発することになりました。
アナウンス:
http://lists.sourceforge.jp/mailman/archives/jsosug-users/2008-September/000013.html
新ホームページ:
http://www.secureos.jp/

SELinuxユーザ会を、準備委員会とかML立ち上げから含めると、
2003年ぐらいからやってきました。
勉強会も、時には外国のゲストを呼ぶなど盛り上がりました。
開発面でも本場コミュニティに認知されるなどの成果はありました。

ただ、最近設立メンバを取り巻く環境変化が目立ってきたりして、
ちょっと活動が滞ってきたので、ここらで再出発です。

代表も私から海外さんに変わります。
新代表の海外さん、よろしくお願いします。
#私が完全引退ってわけではないですが。

如號