レポート

Zappa作者が語る“何でも作ってみよう!”―「PyCon Singapore 2019」レポート

この記事を読むのに必要な時間:およそ 7.5 分

「2FA, WTF」―Phil Nash

タイトルがちょっとアレですが,2FA(2要素認証)についての発表です。スピーカーのPhil Nash@philnash氏はTwilioのエンジニアです。

まず最初にパスワードのみの認証は危険だという例として,Mat Honanさんの悲劇について触れました。私はこの事件を知らなかったんですが,悪意のあるユーザーにiPhone,MacBook,Twitter,Googleアカウント,Gmailなどが乗っ取られデータが削除されたそうです。恐ろしすぎます……。

また,Ashley Madisonというサイトから数100万のアカウントが盗まれそこにはパスワードが平文で入っていたそうです。で,最も使用されているパスワードは「123456」だそうです。120,511ユーザーが使用しているそうで,これはひどい……。

まとめとしては当然ですが,難しいパスワードは覚えられないので1Password,LastPassなどのパスワードマネージャーを使いましょうというものでした。

次に2要素認証の話です。2要素認証の主な手法としてSMS,トークン,プッシュの3つがあげられていました。それぞれコードの例と利点,欠点があげられていました。

SMS
  • SMSで認証コードを送信する仕組み
  • 利点:多くの人が使用できる
  • 欠点:SMS送信にお金がかかる。電波が必要。SMSは壊れている(SIMを盗まれたりなど簡単になりすませる)
トークン
  • HOTP,TOTPといったワンタイムパスワードを生成。pyauth/pyotpを使用したトークン生成のデモを実施していました
  • 利点;無料,オフラインでも利用可能
  • 欠点;スマートフォンが必要,リカバリー用のバックアップコードが必要
プッシュ
  • Webで操作すると専用のスマートフォンアプリケーションに通知をする仕組み
  • 利点;よりよいユーザー体験,最も安全
  • 欠点;スマートフォンとネイティブアプリが必要。オフラインでは利用できない

Phil Nash氏によるpyotpのデモ

Phil Nash氏によるpyotpのデモ

最後に「2要素認証を使おう」というまとめで発表は終わりました。TOTPなどのワンタイムパスワードを生成するためにpyotpを使用してると簡単そうだなと思いました。

Keynote:Rich Jones

Rich Jones氏はPython製のサーバーレスフレームワークZappaの作者です。

Rich Jones氏

Rich Jones氏

この「Hello」から始まるスライドは400枚を超えており,終始ハイテンションでしゃべりまくるエネルギッシュなキーノートでした。50分間1人でライトニングトークをし続ける,といった感じでした。ただ,しゃべっている内容はスライドにだいたい書いてあるので,英語を聞き取るのが苦手な私もわかりやすい発表でした。

前半は「Zappaでサーバーレスにしよう」と題して,AWS LambdaとAPI Gatewayを使用して,超スケーラブルなサービスを作ろう,という話をしていました。Zappaを使えばVPSに比べてコストも安く済み,メンテナンスも不要になる(その結果運用チームを解雇できるよ)とのことでした。基本的なZappaが提供しているコマンドの紹介や,さまざまなケーススタディでZappaを使用する例について紹介していました。

しかし後半の「なぜZappaを使うべきではないのか」というところから,話の方向が変わっていきます。Amazonがコミュニティに対して何度も敵対しているという話から始まります。AWSはOSSコミュニティと敵対し,結果としてMongoDB,Redis,ElasticSearchのライセンスが変更になりました。

またAmazonは税金を払っていない,アメリカの小さな街を破壊した,従業員を低賃金で働かせすぎているとすごい勢いで批判を続けます。ここで「AmazonはPyCon Singaporeのスポンサーじゃないよね?」と確認していました(笑⁠⁠。

そこで「自分たちのLambdaを作ろう!」ということでOpenFaaSの紹介をしました。PLONK(Prometheus,Linkerd,OpenFaas,NATS,Kubernetes)というスタックでオープンなAWS Lambda,API Gatewayの代わりとなるものを作っているそうです。そしてOpenFaasを使用して実際にファンクションを作成して動作させる手順について説明がありました。

そして自身のプロジェクトであるFashionの紹介です。FashionはOpenFaasの機能をPython的に使用できるライブラリだそうです。使い勝手などを知りたいので,ぜひ利用してみてほしいと呼びかけていました。

最後に「新しいインターネットを作ろう」というタイトルで,ピアツーピア(P2P)のWeb技術を紹介しました。いくつかP2PのWeb技術があるそうですが,ここではdat://を紹介していました。datはgitとBitTorrentとHTTPを併せたようなもので,データサイエンティストが大きなデータセットを共有するために設計されたそうです。⁠Google,Twitter,Facebook,Netflix,Slackなどを置き換えなければならない」と呼びかけていました。そして「広告のない世界で生きていきたい!」と語っていました。

いわゆるハッカーだなという感じのRichさんのキーノートでした。一部過激な内容もありましたが,個人的にも頷ける部分があるなと思いました。

著者プロフィール

鈴木たかのり(すずきたかのり)

一般社団法人PyCon JP,副代表理事,株式会社ビープラウド所属。

部内のサイトを作るためにZope/Ploneと出会い,その後必要にかられてPythonを使い始める。PyCon JPでは2011年1月のPyCon mini JPからスタッフとして活動し,2014年-2016年のPyCon JP座長。他の主な活動は,Pythonボルダリング部(#kabepy)部長,Python mini Hack-a-thon(#pyhack)主催など。

共著書に『Pythonによるあたらしいデータ分析の教科書(2018 翔泳社刊)』『Pythonプロフェッショナルプログラミング 第3版(2018 秀和システム刊)』『Pythonエンジニア ファーストブック(2017 技術評論社刊)』『いちばんやさしいPythonの教本(2017 インプレス刊)』などがある。

最近の楽しみはPython Boot Campの講師で訪れた土地で,現地のクラフトビールを飲むこと。2019年は世界各国のPyConでの発表に挑戦している。趣味は吹奏楽とボルダリングとレゴとペンシルパズル。

Facebook:takanory.net

Twitter:@takanory

Github:takanory