_★
第0回LIDS勉強会
勉強会は
LIDS (Linux Intrusion Detection System)の概要から始まりユーザとして立場から使った時の話、組み込み機器に導入した場合の実験例の3セッショッン。
概要にてLIDSは「リッズ」と発音することを知る。
LIDSはその名前からsnort等のIDSと間違えられるらしい。
つか、LIDSを初めて知った当時、オレもそう思った。
実際にはSELinuxと同じ部類のセキュアOS。
さらに言えば、素のカーネルにパッチを当てて強制アクセス制御(MAC)と最小特権を提供するもの。
直感的に分わかるお手軽さが一番のウリ。
SELinuxは柔軟性があるけど設定がsendmail.cfをフルスクラッチで書く位分らん。
パッチ自体も6000行程度。
お手軽なため、いくつか制限がある
*1
。
概要を聞いただけでスグに導入したくなった。
LIDSは2.4系カーネルの1.2.x系と2.6系カーネルの2.2.x系があり提供されている機能に違いがあるので注意。
SELinuxと違い2.4系カーネルの方が面白い機能が盛り沢山らしい。
次のセッショッンでのユーザとして立場から導入した際の話は大いに役に立つものだった。
カーネルコンパイルをしたことあるレヴェルの人なら概ね、1日程度で設定出来るっぽい。
1.2.x系では怪しいバイナリを実行しない機能、chrootとかjailみたいな機能、想定外のパケットに印を付けてフィルタと連携して阻止する機能とかがあるらしい。
オレは2.6系カーネルユーザなので、これら面白機能が使えんのでちょっとガックシ。
最後のセッショッンは組み込み機器に導入した実験。
対象機器は、ぷらっとのOpneblokS266。
始めの方は組み込み機器の概要。これは本業で知っていることなので寝てしまった。<講師の方、申し訳ありません。
その中でも面白かったのはbusyboxへの対応。
LIDSはinodeでアクセス制御しているので、そのままでは駄目らしい。
通常busyboxはシンボリックリンクで各種コマンドを提供している。何らかの仕掛けをせんとアクセス制御が効かない。
そのためシンボリックリンクではなくバイナリでラッパーを作ったとのこと。
さらに組込機器という限られた資源を有効に使うためラッパをアセンブラで記述しバイナリサイズを小さくする工夫をしたとのこと。
結果、OpneblokS266の僅か8MBのFlashROM中にカーネルを始めbusyboxやらhttpサーヴァ、dhcpサーヴァ、さらに今回のプレゼン資料を入れてもFlash領域が余るくらいに収まったそうな。
スゲイ。
組み込みに関するセッショッンではLIDSだけでなく組込LINUXについても面白い示唆があった。
このOpneblokS266を無線LANから接続出来るデモがあったけど手持ちのZaurusからは何故か継がらんかった。(;_;)
これから2ヶ月間隔程度で勉強会を開くそうなので次回も参加したい。
*1: 例えば、SELinuxはrootユーザでも何種類かあるけどLIDSにはrootは1種類のみ。