Soumettre la recherche
Mettre en ligne
第1回 松本勉強会 2012 05 11 - 公開版
•
4 j'aime
•
4,508 vues
Ryosuke MATSUMOTO
Suivre
自分のこれまでの研究成果とmod_process_securityについての復習。
Lire moins
Lire la suite
Signaler
Partager
Signaler
Partager
1 sur 23
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ
スレッド単位で権限分離を行うWebサーバのアクセス制御アーキテクチャ
Ryosuke MATSUMOTO
Apache Geode で始めるSpring Data Gemfire
Apache Geode で始めるSpring Data Gemfire
Akihiro Kitada
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Akihiro Kuwano
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Moot2013 moca ver0.3
Moot2013 moca ver0.3
科 黄
Clouderaの品質保証・CDHのテスト工程について by Andrew bayer
Clouderaの品質保証・CDHのテスト工程について by Andrew bayer
Cloudera Japan
Windows Server 2012 で管理をもっと自動化する
Windows Server 2012 で管理をもっと自動化する
junichi anno
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
BigDataを迎え撃つ! PostgreSQL並列分散ミドルウェア「Stado」の紹介と検証報告
Uptime Technologies LLC (JP)
Contenu connexe
Tendances
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する
junichi anno
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
Trainocate Japan, Ltd.
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
Etsuji Nakai
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
Akihiro Kitada
Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013
Cloudera Japan
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
junichi anno
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
Takekazu Omi
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
Nobuyuki Sasaki
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
Suguru Ito
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
Trainocate Japan, Ltd.
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Uptime Technologies LLC (JP)
Db2 Warehouse セッション資料 db tech showcase
Db2 Warehouse セッション資料 db tech showcase
IBM Analytics Japan
Interact2019 ws2019 s2d_IN05
Interact2019 ws2019 s2d_IN05
Hiroshi Matsumoto
MySQLバックアップの基本
MySQLバックアップの基本
yoyamasaki
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
LINE Corporation
書くべきは手順書ではなくスクリプトです。定型業務をスクリプトで自動化して楽をしよう
書くべきは手順書ではなくスクリプトです。定型業務をスクリプトで自動化して楽をしよう
Nobuyuki Sasaki
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
Uptime Technologies LLC (JP)
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
Takeshi Kuramochi
PostgreSQLセキュリティ総復習
PostgreSQLセキュリティ総復習
Uptime Technologies LLC (JP)
Tendances
(20)
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
30分でRHEL6 High Availability Add-Onを超絶的に理解しよう!
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
〜Apache Geode 入門 gfsh によるクラスター構築・管理
〜Apache Geode 入門 gfsh によるクラスター構築・管理
Cloudera Impala Seminar Jan. 8 2013
Cloudera Impala Seminar Jan. 8 2013
System Center Operations Managerによる仮想環境の高度な管理
System Center Operations Managerによる仮想環境の高度な管理
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
これからLDAPを始めるなら 「389-ds」を使ってみよう
これからLDAPを始めるなら 「389-ds」を使ってみよう
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
Db2 Warehouse セッション資料 db tech showcase
Db2 Warehouse セッション資料 db tech showcase
Interact2019 ws2019 s2d_IN05
Interact2019 ws2019 s2d_IN05
MySQLバックアップの基本
MySQLバックアップの基本
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
書くべきは手順書ではなくスクリプトです。定型業務をスクリプトで自動化して楽をしよう
書くべきは手順書ではなくスクリプトです。定型業務をスクリプトで自動化して楽をしよう
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
OpenStack を 拡張する NetApp Unified Driver の使い方 Vol.001
PostgreSQLセキュリティ総復習
PostgreSQLセキュリティ総復習
En vedette
20120525 mt websocket
20120525 mt websocket
Ryosuke MATSUMOTO
Saint2012 mod process security
Saint2012 mod process security
Ryosuke MATSUMOTO
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Ryosuke MATSUMOTO
Mod lua
Mod lua
do_aki
Mod mrubyについて
Mod mrubyについて
Ryosuke MATSUMOTO
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Ryosuke MATSUMOTO
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
Tsuyoshi Yamada
軽量Ruby『mruby』について
軽量Ruby『mruby』について
Ryosuke MATSUMOTO
UXdesign_schoo2/2
UXdesign_schoo2/2
Ryosuke Matsumoto
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
Shunsuke Michii
若手インフラエンジニア現状確認会 @hfm #wakateinfra
若手インフラエンジニア現状確認会 @hfm #wakateinfra
Takahiro Okumura
En vedette
(11)
20120525 mt websocket
20120525 mt websocket
Saint2012 mod process security
Saint2012 mod process security
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
組み込みスクリプト言語Mrubyを利用したwebサーバの機能拡張支援機構
Mod lua
Mod lua
Mod mrubyについて
Mod mrubyについて
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
"Bits from the Apache Maintainers / Upcoming apache2 2.4 transition" を読んでみた
軽量Ruby『mruby』について
軽量Ruby『mruby』について
UXdesign_schoo2/2
UXdesign_schoo2/2
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
若手インフラエンジニア現状確認会 @hfm #wakateinfra
若手インフラエンジニア現状確認会 @hfm #wakateinfra
Similaire à 第1回 松本勉強会 2012 05 11 - 公開版
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
Ryosuke MATSUMOTO
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
junichi anno
JiraとConfluenceのTips集
JiraとConfluenceのTips集
Hiroshi Ohnuki
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
RoR周辺知識15項目
RoR周辺知識15項目
saiwaki
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox Edition
Kazuki Takai
BPStudy20121221
BPStudy20121221
Shinichiro Takezaki
20140927 azure pack_slideshare
20140927 azure pack_slideshare
Osamu Takazoe
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
GoAzure
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
Tetsurou Yano
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
Kodai Terashima
Nginx
Nginx
Soichi Takamura
Open stack reference architecture v1 2
Open stack reference architecture v1 2
Dell TechCenter Japan
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Takamasa Maejima
Ajn24
Ajn24
Katsuyuki Seino
Sql azure入門
Sql azure入門
貴仁 大和屋
SQL Server 2022 New Features Explain Japanese
SQL Server 2022 New Features Explain Japanese
Microsoft
PHP on Cloud
PHP on Cloud
Akio Katayama
20181120 HowtoFlow
20181120 HowtoFlow
Tomoyuki Obi
Similaire à 第1回 松本勉強会 2012 05 11 - 公開版
(20)
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
JiraとConfluenceのTips集
JiraとConfluenceのTips集
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
RoR周辺知識15項目
RoR周辺知識15項目
Azure Arc Jumpstart Update - HCIBox Edition
Azure Arc Jumpstart Update - HCIBox Edition
BPStudy20121221
BPStudy20121221
20140927 azure pack_slideshare
20140927 azure pack_slideshare
Performance and Scalability of Web Service
Performance and Scalability of Web Service
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースカンファレンス OSC 2014 エンタープライズ 東京 ownCloud 法人向けオンラインストレージ マルチデバイスファイル共有ソリューション
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
オープンソースでシステム監視!Zabbix 1.8の機能と簡単インストール手順の紹介
Nginx
Nginx
Open stack reference architecture v1 2
Open stack reference architecture v1 2
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Ajn24
Ajn24
Sql azure入門
Sql azure入門
SQL Server 2022 New Features Explain Japanese
SQL Server 2022 New Features Explain Japanese
PHP on Cloud
PHP on Cloud
20181120 HowtoFlow
20181120 HowtoFlow
第1回 松本勉強会 2012 05 11 - 公開版
1.
Webサービスの高度化に耐えうる 基盤設計に関する研究(前半)
第1回 松本勉強会 5月11日 京都大学 情報学研究科 松本 亮介 @matsumotory
2.
今日の発表 1. これまでの研究成果 –
2011年12月(FSとして発表) – 2012年03月(京大として発表) 2. 3月の発表内容を説明 – mod_process_security 適宜、質問・指摘・アドバイス下さい!
3.
1. これまでの研究成果
4.
研究の背景 • Webサービスを介したシステムが普及 –
ホスティングサービス(レンタルサーバ) • 低価格化 • 高機能 – Webサービスの高度化(Twitter、Facebook等) • Webアプリケーションで情報の共有 • HTTPを介したプログラムの実行(Web API) – インシデントも増加 • Webサーバの高負荷 • アプリケーションの脆弱性からWebサーバの権限奪取 Webサービスの高度化に耐えうる基盤が必要
5.
研究概要 • Webサーバと関連するOSのアーキテクチャを研究 –
セキュリティ • Webアプリケーションの脆弱性の被害を最小限にする – Webサーバ上の任意アクセス制御 – 大規模(高集積) • 物理サーバにどれだけユーザ領域を積み込めるか 今日の発表 – プロセス数やfork()に注目 – パフォーマンス • アクセス集中時もパフォーマンス劣化を少なくする – ソケットI/OやファイルI/Oに注目(C10k問題) – 運用性 • 大規模Webサーバを効率良く運用する手法 – リソース割当のチューニング • Webサーバに簡単に機能追加する手法 次回の発表 – mod_luaやmod_mruby
6.
Goodにしたい
7.
これまでの研究成果(去年の12月) 大規模共有型Webバーチャルホスティング基盤の設計[1]
1. 高集積 2. セキュア Webサーバ群 他の顧客領域やシステ 1サーバで2,000仮想ホスト ム領域を覗き見できない (単一のサーバプロセス方式) アクセス制御手法 クライアント 顧客領域 の追加 ロードバランサ ストレージ 3. 高い運用性 Ⅰ. 高負荷時 Ⅱ. リソース不足時 Ⅲ. 新規契約時 細やかな高負荷原 サーバ追加で 顧客領域追加で 因の調査と柔軟な 即時リソース増強 サービス即時反映 リソース制限手法 効率良く負荷分散 [1] 松本亮介, 川原将司, 松岡輝夫, 汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善, インター ネットと運用技術シンポジウム2011論文集, 2011,31-38 (2011-11-24). ※1 特許出願中. 7
8.
これまでの研究成果(今年の3月) • セキュリティとパフォーマンス向上
– 12月のシステムはパフォーマンスを重視していない – 高速かつ安全にWebサービスのプログラムを処理する設計 • 前提は高集積 • スレッド単位で権限分離を行うアーキテクチャを提案※1 ─ Webサーバ上の動的コンテンツを高速に処理可能 ─ スレッドを利用することで性能劣化を少なくかつセキュアに動作 ─ これまではプロセス単位で権限を分離 ─ 複数あるアクセス制御手法を統一的に扱うアーキテクチャ 川原さんに謝辞しています ※1 • IEEE/IPSJ International Symposium on Applications and the Internet SAINT2012 で発表予定 • IA/IOT/SITE/ISMS合同研究会で発表済み 8
9.
2. 3月の発表内容
10.
Webサーバ上の動的コンテンツの扱い CGI実行方式は性能が低い –
高速に動作するDSO実行方式を使いたい – DSO実行方式とは? CGI実行方式 DSO実行方式 ボトルネック Server Process Server Process CGI Process Program Program インタプリタを組み込んでおく マルチテナント環境でもDSO実行方式を使って高速に処理したい
11.
動的コンテンツに関する問題 従来のアクセス制御手法は不完全 – 従来のDSO実行方式のためのアクセス制御の問題
• プロセスの中で疑似的に権限を分離するアーキテクチャ • 不完全な仕様(性能劣化が大きい・セキュリティが弱い等) – CGI実行方式のためのアクセス制御の特徴 • プロセス単位で権限を分離するアーキテクチャ • アクセス制御とは関係なくCGI実行方式そのものの性能が低い – 実行方式毎にアクセス制御が存在していて煩雑 • 設定も複雑で開発者の敷居が高い マルチテナント環境で動的コンテンツを扱うには・・・ – CGI実行方式を使わざるを得ない – DSOを使うためには個別にデーモンやOSを起動して分離 ⇒ オーバースペックでリソース効率が悪い
12.
親サーバプロセス
CGI実行方式 (owner : root) suEXECアーキテクチャ 子サーバプロセス (owner : apache) fork() execve() suexec-program ボトルネック CGI用 プロセス (owner : root) setuid(), setgid() execve() CGI用 プロセス (owner : user1) index.php terminate process (owner: user1)
13.
親サーバプロセス
DSO実行方式 (owner : root) mod_ruid2アーキテクチャ Set cap(Linux capability) 子サーバプロセス (owner : apache) ボトルネック Set capability setuid(), setgid() Unset cap × 子サーバプロセス execve() (owner : user1) Set capability index.php setuid(), setgid() terminate process (owner: user1) × Index.php経由で 権限変更が可能
14.
提案するアクセス制御アーキテクチャ
- mod_process_security - • スレッドを利用してボトルネックを低減 – 制御用スレッド単位で権限分離するアーキテクチャ • 動的コンテンツのリクエスト時にスレッド生成 • プロセスの生成・破棄は不要 • スレッドの生成・破棄により処理効率が上昇 – 実行方式で区別しない統一的アーキテクチャ • CGIやDSOに個別のソフトウェアを組み込む必要無し – Apacheモジュールで簡単に組み込み・設定可能 • 開発者が扱いやすい仕様
15.
親サーバプロセス
CGI実行方式 (owner : root) mod_process_security 子サーバプロセス (owner : apache) Create thread, set cap 制御用スレッド (owner : apache) setuid・setgid, unset cap CGIの仕様 制御用スレッド (owner : user1) execve() CGI用プロセス (owner : user1) index.php terminate process destroy thread (owner: user1)
16.
親サーバプロセス
FCGI実行方式 (owner : root) mod_process_security 子サーバプロセス (owner : apache) Create thread, set cap 制御用スレッド (owner : apache) setuid・setgid, unset cap FCGIの仕様 制御用スレッド (owner : user1) execve() FCGI用プロセス (owner : user1) index.php destroy thread (owner: user1) 再利用
17.
親サーバプロセス
DSO実行方式 (owner : root) mod_process_security 子サーバプロセス (owner : apache) Create thread, set cap 制御用スレッド (owner : apache) DSOの仕様 setuid・setgid, unset cap phpを直接実行 制御用スレッド (owner : user1) index.php (owner: user1) destroy thread
18.
実験 • 1秒間に処理可能なレスポンス数を計測(response/sec)
• クライアントからWebサーバに対して1秒間に複数リクエストを生成 • リクエスト数を変動させて、スループットが低下するか評価 • アクセス制御の適応有無でスループットに差がでるか評価 • phpinfo()を表示するプログラム(54KB)ベンチマークソフト(httperf 0.9.0) クライアント CPU Intel Core2Duo E8400 3.00GHz Memory 4GB NIC Realtek RTL8111/8168B 1Gbps OS CentOS 5.6 Webサーバ CPU Intel Xeon X5355 2.66GHz Memory 8GB NIC Broadcom BCM5708 1Gbps OS CentOS 5.6 Middle Ware Apache 2.2
19.
導入方法 $ sudo cp
mod_process_security.so /etc/httpd/modules/. $ cat /etc/httpd/conf.d/ps.conf LoadModule process_security_module modules/mod_process_security.so PSExtensions .php .cgi .py .pl .rb # 静的コンテンツも動的コンテンツも適応したい場合は以下 # PSExAll On $ sudo /etc/init.d/httpd restart
20.
スループット比較
3000 DSO(mod_process_security)は DSO(アクセス制御無し)と比較 2500 してスループット劣化は微小 DSO実行方式 Responses/sec 2000 CGIのアクセス制御のス 1500 ループット劣化は微小 1000 CGI実行方式 DSO(mod_ruid2)は全てのRequestに対し 500 (次スライドで拡大) て、5前後のResponse/secでありスルー プット劣化が大きい 0 Requests/sec DSO(mod_process_security) DSO(アクセス制御無し) DSO(mod_ruid2) CGI(アクセス制御無し) CGI(suEXEC) CGI(mod_process_security)
21.
CGIに関するスループット比較
200 180 Responses/sec 160 140 アクセス制御無し、 mod_process_secuiry、 120 suEXECの順に性能が高い。 100 100 200 300 400 500 600 700 800 900 1000 Requests/sec CGI(アクセス制御無し) CGI(suexec) CGI(mod_process_security)
22.
考察 • mod_process_security採用によるスループット劣化は少ない
– アクセス制御を組み込まない場合と比較 • CGI実行方式の場合はsuEXECよりもスループット劣化が少ない • DSO実行方式の場合はmod_ruid2よりもスループット劣化が少ない アクセス制御無しと 実行方式 アクセス制御手法 比較したスループット 低下率(平均) suEXEC 2.13% CGI mod_process_security 1.48% mod_ruid2やmod_suid2 99.9% DSO mod_process_security 0.19%
23.
ご清聴ありがとうございました
Télécharger maintenant