大学内のISTセミナーで、自分の研究について英語で発表してきました。
Search Results for: mod_process_security
Design and Implementation of Infrastructure Software for More Sophisticated Web Services(mod_mruby and mod_process_security)
IA/IOT/SITE/ISME 合同研究会の発表資料(mod_process_security)
mod_process_security – Apache上でスレッド単位で権限分離を行うファイルのアクセス制御アーキテクチャ(後半編)
mod_process_security – Apache上でスレッド単位で権限分離を行うファイルのアクセス制御アーキテクチャ(前半編)の続き。
前半編では、Apacheにおける従来のファイルのアクセス制御の問題をパフォーマンスやセキュリティの観点から説明した。簡単にまとめておくと、
- 従来はCGI実行方式やDSO実行方式毎にアクセス制御が存在していた煩雑
- CGIはそもそもアクセス制御有無に関わらず性能が低いしプロセスの生成も大規模に適していない
- FastCGIはプロセスを複数起動させておかなければならないので、大規模に適していない
- DSOのアクセス制御は性能を優先した場合はセキュリティが弱い
- DSOのアクセス制御はセキュリティを優先した場合は性能がCGIよりも低い
- DSOをマルチテナント環境で使う場合はユーザー毎のサーバプロセスや仮想マシン等での権限分離が必要でリソース効率が悪い
- 仮想ホスト環境で大規模を想定した効率のよいDSO実行方式を考慮したアクセス制御が欲しい
DSO使って高速にプログラム実行させて、かつ、仮想ホスト使ってサーバリソース節約して大規模で高速なシステム構築したい。(そのためにはセキュリティも担保しないといけない)
これらの問題を解決したのが、mod_process_securityなのである。LinuxのApache2系のpreforkに対応している。(2.4系は試していません^^;)
では、アーキテクチャを説明していく。(詳しくは論文を参照)
mod_process_security – Apache上でスレッド単位で権限分離を行うファイルのアクセス制御アーキテクチャ(前半編)
「スレッド単位で権限分離を行うWebサーバ上のアクセス制御アーキテクチャ」として、3月15日16日に開催されたIA/IOT/SITE/ISMS合同研究会で発表してきた。概ね、好評だったように思う。ただ、やらないといけないことはいくつかあるので、そこはこれから大学で適宜やっていこうと思う。
まずは、この論文の概要としては、
- 大規模Webサーバ上で大多数のユーザー(仮想ホスト)を一つのサーバで処理するようなマルチテナント環境において、ユーザー間のセキュリティを担保するためのアクセス制御を行う技術
である。(これまではsuEXECが使われていた)
これは、Webサービスが高度化していく時代において、低価格化がより望まれてきており、以前に増してマルチテナントで少ないサーバで多くのユーザー領域(仮想ホスト等)を共有して、かつ、セキュアな仕組みにしておきたいという背景がある。
実際のユースケースとしては、以下のような状況で使えるように思う。
- モジュール版PHPやPerl等(DSO版)を安全かつ高速に仮想ホスト環境で実行可能
- CGIやDSOのアクセス制御を統一的に扱うことが可能(suEXECとかいらない)
- FastCGIももちろんアクセス制御された状態で動作可能
結局何ができるかというと、CGIやDSO及びFastCGI等の実行方式に関わらず、仮想ホスト環境においてsuEXECのような動的コンテンツをファイルのユーザー権限で実行することが可能であるということ。さらに、DSOを実行させた場合でも性能劣化が非常に少なくなっている。
では、具体的にどういう処理をしているのかを簡単に説明する。(詳しくは論文で)
2013年に取り組んだ研究まとめ
2013年ももうすぐ終わってしまいますね。今日も非常に寒く、年の終わりを肌で感じております。
とりあえずの区切りということで、2013年に取り組んできた研究を簡単にまとめておこうと思います。
最近のコメント