SlideShare a Scribd company logo
「へろくしー」の挫折


        Heroku-ja Meetup #1
              2011年7月7日
  @yebihara | 海老原 雄一郎
@yebiharaについて
• キャリア
  定職に就かず職を転々
  日本オラクル
  → ソニー
  → IPLocks
  → Preferred Infrastructure (Railsでサービスをいくつか開発)
  → SaaS/PaaS系の某ドットコム企業 (Heroku勉強中)

• 好きなもの
 – 巨人
 – ビール
 – SQL
    • 「NoSQL入門」
    http://www.slideshare.net/pfi/introductiontoonlysql
最近困ったこと
• 某SaaSアプリケーションの標準APIから取得できるユー
  ザー情報には、プライバシー情報が含まれる。
• 企業内ユースがメインなので通常は問題ないが、今
  回だけは隠したかった。

                                                            User
                                                      *id



                                   !                  *email




                                             標準 API
                                                      *name
           {                                           title
               id: 90053,                              address
               email: “yebihara@bou.com”,              phoneNumber
  モバイル端末       name: “海老原 雄一郎”,                        ...
               title: “データベーススペシャリスト”,
               address: “東京都品川区・・・”,
               phoneNumber: “090xxxxxxxx”,
               ...
           }
                                             某SaaSアプリケーション
最初の解決案
• カスタムAPIを作る。
• けど、標準APIがそのままだと意味ない。




                                            カスタムAPI
                                                            User
          {
                                                      *id
              id: 90053,
              name: “海老原 雄一郎”,                        *email
              title: “データベーススペシャリスト”,                 *name
 モバイル端末   }                                            title




                                     !
                                                       address




                                            標準API
                                                       phoneNumber
          {                                            ...
              id: 90053,
  攻撃者         email: “yebihara@bou.com”,
              name: “海老原 雄一郎”,
              title: “データベーススペシャリスト”,
              address: “東京都品川区・・・”,
              phoneNumber: “090xxxxxxxx”,
              ...                           某SaaSアプリケーション
          }
リバースプロクシー案
• 某SaaSアプリケーションは、アクセス可能なソースIPア
  ドレス範囲を制限する機能を持っている。
• 前段にリバースプロクシーを置いて、標準APIへのアク
  セスをブロックすればいい!




                                カスタムAPI
                                                User




                Reverse Proxy
                                          *id
                                          *email
                                          *name
  モバイル端末                                   title
                                           address




                                標準API
                                           phoneNumber
                                           ...

   攻撃者




                                某SaaSアプリケーション
どうやって実装しようか
• PaaS屋さんにとって大切なこと。
• サーバーの構築や運用などしたくない!
 – たとえAmazon EC2だとしてもイヤ
 – アプリケーションサーバーより上のレイヤーしか
   見たくない


• Herokuでリバースプロクシーを作ろう!
Herokuについておさらい
(誤)HerokuはRuby on RailsのためのPaaSである。

(正)HerokuはRackアプリケーションのための
   PaaSである。

  つまり、リバースプロクシーをRackアプリ
  ケーションとして構築すれば、Herokuの上で
  動かせる!
最初にしたこと
まずは名前決め
 よい名前があれば中身は後からついてくる!

Herokuで動くリバースプロクシー

「へろくしー」 !!
次にしたこと
開発。

・・・ではなく、Gemを探す。

首尾よく見つかる!
rack-reverse-proxy
https://github.com/jaswope/rack-reverse-proxy

プロトタイプの構築はあっさり完了!
・・・というか、へろくしーオリジナルな部分はほとん
どなし。
最後にしたこと
後は某SaaSアプリケーションにへろくしー経由でしかアクセス
できないようIPアドレスを登録するだけ!

へろくしーのIPアドレスを調べるか!

おや? 再起動するたびにIPアドレスが変わるぞ・・・

Heroku FAQ: Does my app have a static IP?
   http://devcenter.heroku.com/articles/does-my-app-have-a-static-ip

私のアプリは静的IPアドレスを持てますか?

                            No!
終了
まとめ
• HerokuはRailsじゃなくても、Rackだったらなん
  でもホストできます。

• いい名前を思い付いただけで、うまくいくとい
  うわけではないようです。

More Related Content

Similar to へろくしーの挫折 (17)

JAWSDAYS2016 Technical Deep DIVE by 陽平 山口, has 62 slides with 3757 views.
JAWSDAYS2016 Technical Deep DIVE JAWSDAYS2016 Technical Deep DIVE
JAWSDAYS2016 Technical Deep DIVE
陽平 山口
62 slides3.8K views
Getting started with Handoff by Yuichi Yoshida, has 33 slides with 5514 views.
Getting started with HandoffGetting started with Handoff
Getting started with Handoff
Yuichi Yoshida
33 slides5.5K views
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway by Amazon Web Services Japan, has 84 slides with 69794 views.
AWS Black Belt Tech シリーズ 2015 - Amazon API GatewayAWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
AWS Black Belt Tech シリーズ 2015 - Amazon API Gateway
Amazon Web Services Japan
84 slides69.8K views
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜 by SORACOM,INC, has 62 slides with 839 views.
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
SORACOM,INC
62 slides839 views
laravel x モバイルアプリ by Masaki Oshikawa, has 42 slides with 3697 views.
laravel x モバイルアプリlaravel x モバイルアプリ
laravel x モバイルアプリ
Masaki Oshikawa
42 slides3.7K views
Azure でサーバーレス、 Infrastructure as Code どうしてますか? by Kazumi IWANAGA, has 51 slides with 7210 views.
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi IWANAGA
51 slides7.2K views
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for... by Naoya Ito, has 47 slides with 5504 views.
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
47 slides5.5K views
Realm platform2019 by 昌桓 李, has 36 slides with 1262 views.
Realm platform2019Realm platform2019
Realm platform2019
昌桓 李
36 slides1.3K views
Swiftのプロパティオブザーバを使い倒す by Tomoki Hasegawa, has 47 slides with 3581 views.
Swiftのプロパティオブザーバを使い倒すSwiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
Tomoki Hasegawa
47 slides3.6K views
Android開発者向けempress暗号化資料 by ITDORAKU, has 21 slides with 311 views.
Android開発者向けempress暗号化資料Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料
ITDORAKU
21 slides311 views
[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成 by Tomoki Oyamatsu, has 29 slides with 1006 views.
[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成
[出張!雲勉 in Tokyo] Swagger で簡単APIドキュメント作成
Tomoki Oyamatsu
29 slides1K views
WordPress APIで作るモバイルアプリ by アシアル株式会社, has 62 slides with 10788 views.
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
アシアル株式会社
62 slides10.8K views
Transfer for sftp 20181212 by Noguchi Takaaki, has 17 slides with 307 views.
Transfer for sftp 20181212Transfer for sftp 20181212
Transfer for sftp 20181212
Noguchi Takaaki
17 slides307 views
AWS SDK for Smalltalk by Sho Yoshida, has 47 slides with 3555 views.
AWS SDK for SmalltalkAWS SDK for Smalltalk
AWS SDK for Smalltalk
Sho Yoshida
47 slides3.6K views
API通信周りの継続的なテストの仕組み~SideCIでの実践~ by Koichiro Sumi, has 24 slides with 614 views.
API通信周りの継続的なテストの仕組み~SideCIでの実践~API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~
Koichiro Sumi
24 slides614 views
Connect with Data API by Hajime Fujimoto, has 42 slides with 1789 views.
Connect with Data APIConnect with Data API
Connect with Data API
Hajime Fujimoto
42 slides1.8K views
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜 by SORACOM,INC, has 62 slides with 839 views.
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
SORACOM,INC
62 slides839 views
Azure でサーバーレス、 Infrastructure as Code どうしてますか? by Kazumi IWANAGA, has 51 slides with 7210 views.
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi IWANAGA
51 slides7.2K views
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for... by Naoya Ito, has 47 slides with 5504 views.
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
47 slides5.5K views
Swiftのプロパティオブザーバを使い倒す by Tomoki Hasegawa, has 47 slides with 3581 views.
Swiftのプロパティオブザーバを使い倒すSwiftのプロパティオブザーバを使い倒す
Swiftのプロパティオブザーバを使い倒す
Tomoki Hasegawa
47 slides3.6K views
Android開発者向けempress暗号化資料 by ITDORAKU, has 21 slides with 311 views.
Android開発者向けempress暗号化資料Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料
ITDORAKU
21 slides311 views
API通信周りの継続的なテストの仕組み~SideCIでの実践~ by Koichiro Sumi, has 24 slides with 614 views.
API通信周りの継続的なテストの仕組み~SideCIでの実践~API通信周りの継続的なテストの仕組み~SideCIでの実践~
API通信周りの継続的なテストの仕組み~SideCIでの実践~
Koichiro Sumi
24 slides614 views

Recently uploaded (9)

岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料 by Matsushita Laboratory, has 31 slides with 9 views.
岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料
岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料
Matsushita Laboratory
31 slides9 views
LoRa/LoRaWAN HMIタッチスクリーン LTS5 A4サイズ両面カタログ by CRI Japan, Inc., has 2 slides with 29 views.
LoRa/LoRaWAN HMIタッチスクリーン LTS5  A4サイズ両面カタログLoRa/LoRaWAN HMIタッチスクリーン LTS5  A4サイズ両面カタログ
LoRa/LoRaWAN HMIタッチスクリーン LTS5 A4サイズ両面カタログ
CRI Japan, Inc.
2 slides29 views
井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」 by Matsushita Laboratory, has 25 slides with 53 views.
井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」
井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」
Matsushita Laboratory
25 slides53 views
茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料 by Matsushita Laboratory, has 31 slides with 15 views.
茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料
茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料
Matsushita Laboratory
31 slides15 views
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面 by CRI Japan, Inc., has 2 slides with 40 views.
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
CRI Japan, Inc.
2 slides40 views
What the end of support of Windows 10 will mean? by Atomu Hidaka, has 14 slides with 8 views.
What the end of support of Windows 10 will mean?What the end of support of Windows 10 will mean?
What the end of support of Windows 10 will mean?
Atomu Hidaka
14 slides8 views
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC by shomayama0221, has 36 slides with 34 views.
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
shomayama0221
36 slides34 views
岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料 by Matsushita Laboratory, has 31 slides with 9 views.
岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料
岩本 駿平, 松下 光範, 堀 寛史, 杉本 明文「けが予防を目的とした跳躍動作の継続的計測による運動特性の評価」発表資料
Matsushita Laboratory
31 slides9 views
LoRa/LoRaWAN HMIタッチスクリーン LTS5 A4サイズ両面カタログ by CRI Japan, Inc., has 2 slides with 29 views.
LoRa/LoRaWAN HMIタッチスクリーン LTS5  A4サイズ両面カタログLoRa/LoRaWAN HMIタッチスクリーン LTS5  A4サイズ両面カタログ
LoRa/LoRaWAN HMIタッチスクリーン LTS5 A4サイズ両面カタログ
CRI Japan, Inc.
2 slides29 views
井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」 by Matsushita Laboratory, has 25 slides with 53 views.
井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」
井上梨々花,畑玲音,松下光範「ニュースに対するコメントの属性提示が意見形成に与える影響の調査」
Matsushita Laboratory
25 slides53 views
茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料 by Matsushita Laboratory, has 31 slides with 15 views.
茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料
茂木奈々瀬,畑玲音,安尾萌,松下光範「LLMによる生成コメントがもたらすニュースの印象変化分析」発表資料
Matsushita Laboratory
31 slides15 views
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面 by CRI Japan, Inc., has 2 slides with 40 views.
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
LoRaWANプッシュボタン PB05-L カタログ A4サイズ Draginoカタログ両面
CRI Japan, Inc.
2 slides40 views
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC by shomayama0221, has 36 slides with 34 views.
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
自宅でも出来る!!VCF構築-概要編-JapanVMUG Spring Meeting with NEC
shomayama0221
36 slides34 views

へろくしーの挫折