2006-02-01から1ヶ月間の記事一覧

Symposium直前でとても忙しくなった。 やっと発表資料完成^^;) 我が家のlaptopでseeditを動かしてみた。 pcmcia回りで発見。 pcmciaサービス(cardmgr)は、/var/lib/pcmcia以下に動的にデバイスを作ったりするらしい。 いまのところ、/dev以外にデバイスを作…

これまで実装した内容のテスト。とりあえずdenyログが無くなったようだ。 CVSリポジトリとディレクトリ構造の大掃除。 「seedit」モジュールに全てを集約。 cvs co seedit で、全部取れます。ちなみに、sourceforgeでは、一度モジュール登録すると、簡単には…

デバイス保護機能のテスト tmpfsにデバイスを作ることがあることが判明。 /etc/rc.sysinitから起動するスクリプトがtmpfsにデバイスを作るらしい. denypriv文の追加 { domain global; .. allowpriv sys_admin; のようにglobalドメインで設定したとしても、 …

yumでSRPMをダウンロードする http://www.atmarkit.co.jp/flinux/rensai/linuxtips/853downsrpm.html 知らなかった…これは便利。

シンボリックリンク,ハードリンクの扱い

すっかり忘れてたので確かめる。 restorecon,setfilesは,シンボリックリンクを辿らない。いいかげんな例: (/etc/init.dは/etc/rc.d/init.dを辿ってる) /etc/init.d/yum system_u:object_r:file_t とfile_contextsの末尾に記述#restorecon -R /etc #fixfile…

SELinux vs AppArmor?

http://danwalsh.livejournal.com/424.html をのぞいてみた。 おお、TOMOYO Linuxの中の人が降臨してるな^^;) >I want SELinux to consider pathname-based approach to become more user friendly. ありがとう! > 書いてくれた人パス名ベースのアクセス制御…

getElementByIdしようとしたらうまくいかず。 ーXMLドキュメント内部にDTDがある場合 OK XMLドキュメント外部にDTDがある場合 NG だった。 pythonが処理する XMLを生成する際に,C言語のlibxml2で生成しているが、 XMLドキュメント内部にDTDを含める関数が見…

dir:searchサポートの実装

id:himainu:20060215 id:himainu:20060216で失敗した、dir:searchのサポートだが、 方法をかえて再チャレンジ。今度こそうまくいった? コンパイルフラグで -DDIRSEARCHとすると有効になる。 方針 allow/denyルールで出てくるディレクトリを親ディレクトリ含…

SELinux Policy Editorのパス名→ラベル変換のメカニズム

開発者ですら忘れそう(実際忘れてた…)なので、まとめ直す。 1) パス名からタイプを生成 allow /etc r,s; とあれば、 /etc -> etc_tというタイプを生成。 convert.c create_file_label_table(domain_hash_table); でそれをやってる。 2) type文を出力 conver…

dir:searchの扱い

昨日の方法でとりあえず実装できた。 が、出力されるポリシのサイズ(ルール数)が2倍に… コンパイルにも時間がかかるようになってしまった。うーむ。 make relabelにも異常に時間がかかる… こりゃ駄目かも? dir:searchサポートをなくす方法 いつでも戻せる…

statシステムコールのハマリ

ファイルがディレクトリか否かを確認するために、statを使う。正しい方法:S_ISDIRを使う S_ISDIR(buf.st_mode)間違った方法:S_IFDIRを使う buf.st_mode & S_IFDIR とすると、デバイスもマッチしちゃう。 S_IFDIRを使うなら ((buf.st_mode) & S_IFMT) == S_…

デザインパターン

せっかくオブジェクト指向やるので、デザインパターンも使ってみよう。 GUIの共通パラメータ(XMLドキュメント,GUIのステータス)を構造体として持たせて、こいつはグローバル変数にしたいのだが、オブジェクト指向的にやるとsingletonなるものを使うらしい。P…

dir:searchの扱いについて。

以前から気になっていたもの。改めて考え直し、実装。 dir:searchのチェックされる箇所 1) may_linkの中で dir:remove_name,dir:add_nameと一緒にチェックされる。 may_renameの中で、dir:remove_nameなどと一緒に。 2) ディレクトリに対するMAY_EXECの中で…

SylpheedがWindows対応

http://sylpheed.good-day.net/ja/news.html こりゃいい!会社に帰ったら使おう。 Gtkで実装されてるのかぁ。Gtkもクロスプラットフォームなんだなぁ。 pythonも、Windows用があるらしいので SELinux Policy EditorのWindows用GUIってのも案外あっさりできた…

ファイル選択ダイアログだが、FileSelectionではなくて、FileChooserを使うらしい。 http://www.pygtk.org/pygtk2tutorial/sec-FileChoosers.html

Smalley氏が、なにやら受賞したらしい。 http://www.dni.gov/release_letter_021006.html 研究費$200,000か! Smalley氏は、まさに、この研究費にふさわしい人だろう。

[開発日誌] デバイス関連のアクセス制御続き

端末デバイス調査 端末に関連したデバイスを見てみる。 普通の端末 man 4 tty /dev/tty(数字) これのいずれかをユーザの端末として使う。ロールに基づいたタイプが付与される。 /dev/tty0 現在の端末を表す。 /dev/tty 現在の端末を表す。加えて、これをioct…

ホームディレクトリのタイプ付与

/root以下のファイルにデフォルトと違うタイプを付与したいのだが、うまくいかない。semanageコマンドでも付与できない。 解決法1 原因は、ホームディレクトリのタイプはfile_contextファイルと別管理されていることにある。ホームディレクトリ関係は、/etc…

オープンソースで生きる道

selinux-usersに流れていた記事。 http://itpro.nikkeibp.co.jp/article/NEWS/20060213/229065/ 「あるある」と,つい思ってしまう。 (開発者が所属する)企業がオープンソース活動を仕事として認めてくれることは基本的にない」(ひが氏)。 そのとおり!or…

GUI

メニュー画面に使うWidgetの使い方がやっと分かった… こんな感じ。 http://seedit.sourceforge.net/test/seedit-gui.py python seedit-gui.pyで、実行可能。コンパイルいらないし、サクサク書けるし、クラスにできるし、 起動も早いしpygtkサイコー! ネイテ…

デバイスのセキュリティ強化

TOMOYO LinuxのSYAORANファイルシステムにインスパイアされ、新文法 allowdev -root ファイルシステム名>; を追加。 概要 allowdev -root ファイルシステム名>; は、<パス or ファイルシステム名>がデバイスを格納するディレクトリであることを指定する。(…

SELinux Policy Editorの新GUI

ようやくGUIに手を付けようと思い始める。 で、画面設計を開始。トップレベルの画面設計はこんな感じ。

Pygtkのチュートリアルでpygtkを勉強。 connect とconnect_object connectとconnect_objectの違いがよくわからん。 で、調べたら、以下のように出てきた。 http://www.kmc.gr.jp/~ranran/memo/gtk.1998-1.html より引用 gtk_signal_connect() と gtk_signal_…

デバイスファイルのアクセス制御見直し

さて、新SELinuxばっかやってたけどSELinux Policy Editorの研究も再開。 ファイルのアクセス制御の見直しポイント 通常ファイルのパーミッション(岡山大と共同) dir:searchの問題以外は大体まとまった デバイスファイル マウント特権の扱い この中でも,デ…

lxr

zchanさんによるRPMファイルが用意されている。 http://zchan.homeunix.net/pub/Fedora.APP/LXR/RPMS/ とりあえずポリシーのlxrが作れた!神です。ありがたい!手順メモ:FC4で。 lxrという名前のユーザを作る yum install postgresql-server vi /var/lib/pg…

パーミッションの問題

最近感じたアクセスベクタパーミッションの問題をメモしておこう。 TCP/UDP通信のプロセス間通信の制御できない ポート番号ベースではできるが 粒度の大きなパーミッション CAP_SYS_ADMIN(capability:sys_admin)で制限される権限のうち、SELinuxのパーミッシ…

昨日の日記のコメントへのレスの続き。

沢山コメントがあったので、こちらで失礼します。 kaigaiさん 代替手段を用意するためにLSMを作ったはずなのに、最近はSELinuxのためのフックみたいになって、ちょっと見ていてアレ?ってのはありますね。 SELinuxで不要になったから post_inode_XXXX() が大…

様々なセキュアOSが存在することについて

昨日の日記、朝起きたらすごいコメントがついてる… 少し釣ってみたつもりでしたが、びっくりです。 誤解のなきよう、コメントを見て思ったこと&私の考えを書いてみる まず注意点 昨日の日記は、Dan氏の個人ページに書いてあることを「私が勝手に意訳,要約…

Dan氏のAppArmorについての思い ★注意:誤解がなきよう、この日の内容の注意点をid:himainu:20060211に書いときました。★http://danwalsh.livejournal.com/ こりゃ面白い。 Dan WalshのAppArmorについての思い。 勝手に意訳を交え要約すると、 UNIXの世界の…

ひさびさに、「その他」トピックをここに。 せっかく学生の身分があるので&SELinux Symposium高過ぎなので、 SELinux Symposiumを学割で申し込んだのだが、事務局から、学生であることの証明を送れときた。学生証じゃダメらしい…意外とちゃんとしてやがる。 …