スタートアップがSecurityをSREから担保するには?

 スタートアップがSecurityをSREから担保するには?

B2B SaaS Tech「避けては通れぬセキュリティ」

Aa438786215088ca65d9d0b42ef37675?s=128

Eiji Sugiura

July 31, 2019
Tweet

Transcript

  1. freee 株式会社
 スタートアップがSecurityをSREから担保するには?
 B2B SaaS Tech 2019-07-31


  2. 10年間、受託開発。TCP/IPとかLinux Kernel netfilter
 10年間、MSSPでUTMのOSとサービス基盤を開発
 
 2017年12月にfreeeにjoin
 Eiji Sugiura 杉浦 英史


    freee株式会社 
 CSIRT専属エンジニア
 2 Incident Response
 SRE

  3. freee 株式会社
 3


  4. 創業からIPOまで、中小企業活性化のためのサービスを一気通貫で提供
 freee会社概要
 ❂ 納税する
 ↗ 育てる
 ↻ 運営する 
 ✩

    はじめる
 会社設立 freee
 開業 freee
 クラウド会計ソフト freee 
 人事労務 freee
 (マイナンバー管理 freee 含む) 
 クラウド申告 freee
 161億603万円 (資本準備金等含む) 従業員数 事業内容 クラウド型バックオフィスサービスの開発・販売 資本金 設立年月日 2012年7月 505名(2019年1月末時点) 2017年「働きがいのある会社」 ランキング3位 4

  5. 会計・給与共に法人シェアNo.1
 クラウド給与ソフト
 市場
 40% クラウド会計ソフト
 市場
 35.2% 100万
 事業所
 以上


    10万
 事業所
 以上
 * BCN調べ * MM総研調べ * 2017年8月より、クラウド給与計算ソフト freeeは、機能を強化し、新たに 「人事労務 freee」というサービス名に変更しました。  
 5
  6. 6 成長企業においての導入が進む
 41 社 資金調達TOP100社における freee 導入社数 *VCからの資金調達額TOP100社: 直近1年で1億円以上の 資金調達をした企業 を対象に調査。

    6

  7. 01 freee の直面する恐怖
 7
 Section

  8. 最新テクノロジーでリアルタイムデータ収集
 8 クレジット
 金融機関
 決済サービス
 業務データ
 freee Core Engine 


  9. 9 9 金融機関・
 各種サービス連携数
 4,000 以上
 ※2019年1月時点
 POSレジ
 金融機関
 ログイン・

    認証
 業務システム
 ECサイト
 共有ツール
 決済サービス
 ファイル取込
 クラウド会計ソフト 業界最多の連携数を実現 9

  10. 生の経営情報
 深刻な情報漏洩
 金融機関サイトからのスクレイピング、API連携
 10


  11. freeeの失敗=Fintech業界の危機
 一企業を超えた悪影響
 Fintech業界のセキュリティにおいて重要な役割を担っている
 11


  12. Culture of Developers 開発文化 12 品質を犠牲にしない最高速度 最優先するミッションは、高速リリースにより顧客に価値を届けること リリースには、顧客にとって価値がある最低限の品質が求められる 速さと品質を両立するために、自動化や開発プロセスの工夫を行なう トラッカビリティ大事

    プロダクトや施策は作りっぱなしにせず追跡可能な状態にしておく 推測より計測:反復するかどうかは、計測されたデータを見て決める 失敗して攻めよう 学びのある失敗をして最速で成長しよう 学びのある失敗=チームやプロダクトの成長につながる失敗 学びのある失敗をしていない=成長への挑戦が足りない あえて、共有する あえて、記事に残す チームの壁を突き抜けろ! freeeの開発文化は、開発をする上で実際に全員が 意識している判断基準です
  13. スタートアップらしくリスクは取り、
 高いセキュリティも実現する
 あえて、二兎を追う
 13


  14. 02 CloudNative SaaSをどう守る?
 14
 Section

  15. VPC 外部と内部からの侵入を想定
 想定攻略経路/Cyber Kill Chain
 Security group Availability Zone web

    ALB log jpeg pdf Redis Amazon RDS WAF Instance Profile Users GuardDuty Gotanda HQ Developer Maintainer Step 15

  16. VPC 外部と内部からの侵入を想定
 想定攻略経路/Cyber Kill Chain
 Security group Availability Zone web

    ALB log jpeg pdf Redis Amazon RDS Instance Profile Users GuardDuty Gotanda HQ Developer Maintainer Step intruder intruder WAF 16

  17. ログを残さないと、検知できない
 Access Log, Deny/Accept Log
 17


  18. Logを集める = S3 Centric Apploach
 VPC ALB Flow logs WAF

    Firehose Redshift Log Elasticsearch 18

  19. 外部からの侵入
 HTTP request regex filter
 L3/L4 restriction
 IPS = HTTP

    request signature filter
 
 Ratelimit/session/URI
 Application Logic
 AntiMalware
 LogInspection
 IntegrityCheck
 ALB WAF Security Group Flow logs 19

  20. VPC 内部からの侵入
 MFA
 IP restriction
 Login/Logout
 Remote copy restriction
 Console

    logging
 web api Gotanda HQ Step 20

  21. PR出さないと、変更できない
 Change History, Review
 21


  22. Codeで記述する
 VPC Security Group  Auto Scaling group ALB IAM 22


  23. SREって何をしてる?
 新しい環境への先導役
 Kubernetes on AWSの場合
 
 23


  24. 03 Securityを意識したSaaSを作るに は?
 Section 24


  25. Security Group Namespace ClusterにNamespaceは1つだけ
 EKS / Single Cluster でサービスするには...
 WAF

    GuardDuty IAM Node Node Node worker nodeにいれるには?
 
 k8s未対応?
 使えない?
 流用できそう
 Flow logs 直kubectl exec -it $POD bash
 ログなしでアクセス可能
 EKS 25

  26. 伝統的なtoolは、k8s非対応?
 IPS/AntiMalwareが動かない?
 worker nodeにいれるには?
 k8s signatureある?
 podで入れられる
 default ruleでOK?
 


    26

  27. SecurityGroup、FlowLogがk8s非対応
 Namespaceの中は把握できない?
 Security Group Namespace Node Node Node EKS podで入れられる


    L3/L4/L7 Firewall
 
 27

  28. 内部からの侵入が容易?
 MFA
 IP restriction
 Login/Logout
 Remote copy restriction
 Console logging


    Gotanda HQ Namespace Node Session Manager 直kubectl exec -it $POD /bin/bashを許さない
 28

  29. これまでのものだけでは記述できない
 Clusterを何で記述する?
 Security Group Namespace Node IAM ECR EKS HELMFILE

    ekscluster 29

  30. DevSecOps
 普通にcode書いてdeployしたら、secure SaaSになる仕組み
 code書かないとdeploy出来ません
 
 30


  31. まとめ Logがないと検知できない
 
 Passive/Active Defence
 
 PR出さないと変更できない
 
 yaml書かないと、releaseできない
 なければ作る


    
 Hack Everything★
 共有する
 
 みんなで感じる、考える
 31
  32. 32 • サイバー脅威を知る
 ◦ サイバー脅威を知るには、攻撃者の思考を知るのが一番
 • 脆弱性を探せ!
 ◦ あえてヨワヨワにしたプロダクトを、修正・強化する研修プログラム
 ◦

    実際に攻撃をうける体験をすることで、セキュリティ意識を醸成
 新人研修でHardening Program
 Private Network
 Shared System:zzz.zzz.zzz.zzz 会計 認証基盤 DB 人事労務 KVS Team A システム
 xxx.xxx.xxx.xxx
 application Team B システム
 yyy.yyy.yyy.yyy
 application 攻撃者
 攻撃
 ユーザX
 登録
 閲覧
 ユーザY
 登録
 閲覧
 通常
 利用

  33. カジュアルに失敗から何を学んだかを共有する
 希望者によるLT形式
 月1回の「失敗.js」
 33


  34. Engineer組織としてSecureになる
 Security Engineerなんていない世界
 Monitoring, Vulnability management, Incident Responseについては、またの機会に...
 
 34


  35. スモールビジネスを、
 世界の主役に。
 35