「スレッド単位で権限分離を行うWebサーバ上のアクセス制御アーキテクチャ」として、3月15日16日に開催されたIA/IOT/SITE/ISMS合同研究会で発表してきた。概ね、好評だったように思う。ただ、やらないといけないことはいくつかあるので、そこはこれから大学で適宜やっていこうと思う。
まずは、この論文の概要としては、
- 大規模Webサーバ上で大多数のユーザー(仮想ホスト)を一つのサーバで処理するようなマルチテナント環境において、ユーザー間のセキュリティを担保するためのアクセス制御を行う技術
である。(これまではsuEXECが使われていた)
これは、Webサービスが高度化していく時代において、低価格化がより望まれてきており、以前に増してマルチテナントで少ないサーバで多くのユーザー領域(仮想ホスト等)を共有して、かつ、セキュアな仕組みにしておきたいという背景がある。
実際のユースケースとしては、以下のような状況で使えるように思う。
- モジュール版PHPやPerl等(DSO版)を安全かつ高速に仮想ホスト環境で実行可能
- CGIやDSOのアクセス制御を統一的に扱うことが可能(suEXECとかいらない)
- FastCGIももちろんアクセス制御された状態で動作可能
結局何ができるかというと、CGIやDSO及びFastCGI等の実行方式に関わらず、仮想ホスト環境においてsuEXECのような動的コンテンツをファイルのユーザー権限で実行することが可能であるということ。さらに、DSOを実行させた場合でも性能劣化が非常に少なくなっている。
では、具体的にどういう処理をしているのかを簡単に説明する。(詳しくは論文で)