OSS/Linux

PGACE/SE-PostgreSQLへの反応

昨日投げたPGACE/SE-PostgreSQLに対する反応http://archives.postgresql.org/pgsql-hackers/2007-04/msg00691.php Josh Berkus より: Column level? We don't currently support that, except through VIEWs. How is it implemented?列レベルのアクセス制御…

PostgreSQL Access Control Extension

pgsql-hackersのMLに、PGACEのRFCを投げてみた。http://archives.postgresql.org/pgsql-hackers/2007-04/msg00664.php As I announced alpha version of SE-PostgreSQL about one month ago,I'm working for development of a security facility integrated …

マニュアル執筆

遅々として進まないので、今更ながら方針転換。例外の無いよう慎重に抽象的な概念から書いていこうとすると、どうしても説明のイメージがわかりにくくなる。思い切って、Example & Explanationの繰り返しでマニュアルを書くことにした。あと、インストール関…

デバッグ (4/9)

眠いのでメモ書きのみ。XACEに関してはほぼ完成。これで何時でも pgsql-hackers に投稿できる。:) ↓こんな感じで大量のフックが…。 http://sepgsql.googlecode.com/svn/trunk/src/include/security/pgace.h SELECT INTO 構文で security_context を指定する…

PGACE -その2-

SELinux以外のセキュアOSサポートを入れるためのフレームワークPGACEを作って、その上にSE-PostgreSQLを乗っけるという作業をしている。 正直なところ、機能面で何かが変わるというワケではなく、単に Trusted Solaris のお兄ちゃん達を味方に引き込むための…

PGACE

3月5日にSE-PostgreSQL α版をリリースした際、PostgreSQLコミュニティからも反応があり、Sun.comの人がTrusted Solaris Extensionを利用して似たようなことをやりたいと言ってきた。(MLには出さず)直接メールをやり取りして議論してきたが、ひとまずの合意点…

さて、ボルチモアに行ってきますよ。

3/13-3/18にかけて、SELinux Symposium/Developer Summitに参加してくる。予定としては、成田 -(12.5H)-> JFK -(1.5H)-> ボルチモアで、3/13の15時くらいに到着になる。 東海岸は時差が10Hあるから、まるっきり昼夜逆転なんだよなぁ。 あと、やたら脂っこ…

動的オブジェクトクラス番号の割当て

http://marc.theaimsgroup.com/?t=117309835000001&r=1&w=2 SE-PostgreSQLをアナウンスしたスレッドでの話題。SE-PostgreSQLのように新しくオブジェクトクラスを追加した場合、 標準のセキュリティポリシーでは定義されていない → libselinux-develの提供す…

SE-PostgreSQL 8.2.3-1.0 alpha release

追記:ITproさんに取り上げて頂きました http://itpro.nikkeibp.co.jp/article/NEWS/20070305/263930/====================================================== Security Enhanced PostgreSQL 8.2.3-1.0 alpha release ====================================…

IPsec Labeled Networkingの設定

何気なく redhat-lspp で過去に流れたメールを見ていると、IBMのJoy Lattenが去年の11月に投稿した[redhat-lspp] IPSec Configuration docというメールが目に止まった。 http://www.redhat.com/archives/redhat-lspp/2006-November/msg00051.htmlNSAのSELinu…

もうすぐα版出します

SE-PostgreSQL用のRPMパッケージを作るべく、ゴニョゴニョやっていたらこんな時間に…。(現在4:08AM)ひとまず、RPMパッケージの形で提供できるモノを作った。 もう少しチェックを加えて、コミュニティにはα版としてリリースしたいと思う。ちょっと試してみた…

SEDiet? (typoじゃない

某himainu氏とSELinuxの組み込み対応についてやり取りしている間に思いついたネタ。リソースが限られた状況では、カーネルにロードされたポリシーが消費するメモリをできる限り節約したい。あまり知られていないが、attributeを利用することでポリシーの大き…

RPMのメモ

SE-PostgreSQLのαリリースに向けて、RPMのspecファイルを書かねばならん。オンラインのドキュメントから参照されている。公式ドキュメントっぽい。 http://www.rpm.org/max-rpm/Vine Projectのヤツだが、貴重な日本語情報源 http://vinelinux.org/manuals/ma…

いざ、ボルチモア!?

若干気が早い!?? とは言え、あと3週間ほど。私の発表する Works in Progress セッションの概要がアップデートされている。 Security Enhanced PostgreSQLSELinux activities for embedded area, in Japanどちらも10分程度でそんなに負担は大きくないとい…

Polyinstantiation

LSPP向けなど情報フロー制御をゴリゴリやっている人は、/tmpや/var/tmp等を経由して、機密レベルの高い区画から低い区画へとデータが流出するのを避けたいということで、ユーザのMLSレベルに応じて /tmp に別のディレクトリをマウントするという改造をやって…

BLOB機能のサポート

PostgreSQLには、データベースにファイルの内容をそのまま格納したい時に便利なBLOB(Binary Large Object)という機能がある。ネイティブPostgreSQLには、特にBLOBに対するアクセス制御機能が備わっていないために、重要なデータを保持する場合には注意が必要…

セキュリティコンテキストの格納

今更ながら、セキュリティコンテキストの格納方法を変更した。理由は、ビルド時にSE-PostgreSQLを無効化する場合と有効化した場合のどちらも正しく動作するようパッチを作ると、パッチ適用が必要な箇所が多くなり、いずれメンテナンスに必要な労力が多くなっ…

libselinux utilities applets - busybox

Okay. I applied your patch to svn and did some changes. Please review & test - I can't run-test it at the moment (my kernel and userspace is not selinux-enabled).Patch is attached for easy review. Thanks. - vdaというわけで、一連の SELinux'…

RECORD型

PostgreSQLの面白い構文の書き方を知った。 SELECT my_function(MY_TABLE) from MY_TABLE;と書くと、関数my_function()にはMY_TABLEのタプルがそっくりそのまま渡される。 (my_function()は入力値としてRECORD型をサポートする必要がある)RECORD型を入力で…

Foreign Key制約とcascade

PostgreSQLにはForeign Keyの機能が実装されている。これは実際には行トリガとして実装されており、テーブルのINSERT/UPDATE/DELETEが発生した際に、それらの操作で対象となったタプルが制約条件を満たすかどうかをチェックするため、個々のタプルに対して呼…

stackable LSM

LSMに複数のモジュールを追加したいと言う人が、最近、少しコミュニティのMLを賑わせているようだ。 一週間ほど前には「Current/Future Plans to Support Stacking LSM Modules」というサブジェクトでメールを投げてきた人がいた。 http://marc.theaimsgroup…

TRUNCATE文

PostgreSQLにはTRUNCATE文という構文がある。 これは、指定したテーブルを丸ごと消してしまうというSQL構文で、意味論的には無条件のDELETEと同一だが、メリットとして処理速度が高いことが挙げられている。セキュリティの側面から見た場合、PostgreSQLネイ…

TRUSTED PROCEDUREとドメイン遷移

SE-PostgreSQL向けのセキュリティポリシーを修正。問題があったのは、TRUSTED PROCEDUREと呼んでいるドメイン遷移を引き起こすプロシジャ呼び出し。今までは range_transition を使って sepgsql_trusted_proc_t を呼び出した時には SystemHigh-SystemLow に…

SE-PostgreSQLのロードマップ

昨日は未踏ソフト・千葉PMの打ち合わせ&進捗報告会ということで、定時退社日に定時に退社して出かけてきた。SE-PostgreSQLの開発について12月の採択から現在までの進捗について報告 - 独自AVCを共有メモリ上に実装 暗黙ラベリングをより厳密な形で再実装 SQ…

PREPARE/EXECUTE文

PostgreSQLではPREPARE/EXECUTE文の組み合わせで、効率的でセキュアなSQL処理を可能にしている。 通常、クライアントからSQL文が渡されると 1.字句解析 2.意味解析 3.リライター 4.オプティマイザ 5.エグゼキュータ 6.結果セットの返却 という処理手順を経て…

SELinux Developer Summit 2007

Stephen SmalleyからSELinux Developer Summitの案内が届いた。 昨年と同じく、SELinux Symposiumの翌日に行われるコア開発者のみのミーティングということだ。何々、特に議論したいトピックとして、、、 - improving pan-distribution support for SELinux,…

尻尾の _raw

busybox用 matchpathcon() を作成していて気が付いたのだが、libselinuxのセキュリティコンテキストを取得する関数に _raw 付きのバージョンが用意されている。 例えば、getcon()関数に対応するgetcon_raw()関数。 こやつを使うと、mcstransデーモンの状態に…

ALTER FUNCTION構文

本日の作業内容 ALTER FUNCTION構文サポート ポリシ修正監視プロセスのバグ修正 ALTER FUNCTON 構文に CONTEXT = 'xxxx'; オプションを拡張してみた。 ALTER FUNCTION selinux_getcon() CONTEXT = 'user_u:object_r:sepgsql_trusted_proc_t:s0';これを使うと…

共有メモリでAVCを実装

実は、SE-PostgreSQLはuserspace AVC相当のモノを自前で実装している。 エラーハンドリングの容易さとパフォーマンスが理由だが、これを共有メモリセグメント上に配置するように実装を変更した。今までは、PostgreSQLインスタンス毎にAVCを持っていた。しか…

シンポジウムに応募

Flank Mayerからアナウンスがあったように、SELinux Symposium 2007のレギュラーセッションの発表者が決まったようだ。 http://marc.theaimsgroup.com/?l=selinux&m=116584666910685&w=2 http://selinux-symposium.org/2007/agenda.php SE-PostgreSQLを開発…