スタートアップがSecurityをSREから担保するには?
by
Eiji Sugiura
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
freee 株式会社 スタートアップがSecurityをSREから担保するには? B2B SaaS Tech 2019-07-31
Slide 2
Slide 2 text
10年間、受託開発。TCP/IPとかLinux Kernel netfilter 10年間、MSSPでUTMのOSとサービス基盤を開発 2017年12月にfreeeにjoin Eiji Sugiura 杉浦 英史 freee株式会社 CSIRT専属エンジニア 2 Incident Response SRE
Slide 3
Slide 3 text
freee 株式会社 3
Slide 4
Slide 4 text
創業からIPOまで、中小企業活性化のためのサービスを一気通貫で提供 freee会社概要 ❂ 納税する ↗ 育てる ↻ 運営する ✩ はじめる 会社設立 freee 開業 freee クラウド会計ソフト freee 人事労務 freee (マイナンバー管理 freee 含む) クラウド申告 freee 161億603万円 (資本準備金等含む) 従業員数 事業内容 クラウド型バックオフィスサービスの開発・販売 資本金 設立年月日 2012年7月 505名(2019年1月末時点) 2017年「働きがいのある会社」 ランキング3位 4
Slide 5
Slide 5 text
会計・給与共に法人シェアNo.1 クラウド給与ソフト 市場 40% クラウド会計ソフト 市場 35.2% 100万 事業所 以上 10万 事業所 以上 * BCN調べ * MM総研調べ * 2017年8月より、クラウド給与計算ソフト freeeは、機能を強化し、新たに 「人事労務 freee」というサービス名に変更しました。 5
Slide 6
Slide 6 text
6 成長企業においての導入が進む 41 社 資金調達TOP100社における freee 導入社数 *VCからの資金調達額TOP100社: 直近1年で1億円以上の 資金調達をした企業 を対象に調査。 6
Slide 7
Slide 7 text
01 freee の直面する恐怖 7 Section
Slide 8
Slide 8 text
最新テクノロジーでリアルタイムデータ収集 8 クレジット 金融機関 決済サービス 業務データ freee Core Engine
Slide 9
Slide 9 text
9 9 金融機関・ 各種サービス連携数 4,000 以上 ※2019年1月時点 POSレジ 金融機関 ログイン・ 認証 業務システム ECサイト 共有ツール 決済サービス ファイル取込 クラウド会計ソフト 業界最多の連携数を実現 9
Slide 10
Slide 10 text
生の経営情報 深刻な情報漏洩 金融機関サイトからのスクレイピング、API連携 10
Slide 11
Slide 11 text
freeeの失敗=Fintech業界の危機 一企業を超えた悪影響 Fintech業界のセキュリティにおいて重要な役割を担っている 11
Slide 12
Slide 12 text
Culture of Developers 開発文化 12 品質を犠牲にしない最高速度 最優先するミッションは、高速リリースにより顧客に価値を届けること リリースには、顧客にとって価値がある最低限の品質が求められる 速さと品質を両立するために、自動化や開発プロセスの工夫を行なう トラッカビリティ大事 プロダクトや施策は作りっぱなしにせず追跡可能な状態にしておく 推測より計測:反復するかどうかは、計測されたデータを見て決める 失敗して攻めよう 学びのある失敗をして最速で成長しよう 学びのある失敗=チームやプロダクトの成長につながる失敗 学びのある失敗をしていない=成長への挑戦が足りない あえて、共有する あえて、記事に残す チームの壁を突き抜けろ! freeeの開発文化は、開発をする上で実際に全員が 意識している判断基準です
Slide 13
Slide 13 text
スタートアップらしくリスクは取り、 高いセキュリティも実現する あえて、二兎を追う 13
Slide 14
Slide 14 text
02 CloudNative SaaSをどう守る? 14 Section
Slide 15
Slide 15 text
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
Slide 16
Slide 16 text
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
Slide 17
Slide 17 text
ログを残さないと、検知できない Access Log, Deny/Accept Log 17
Slide 18
Slide 18 text
Logを集める = S3 Centric Apploach VPC ALB Flow logs WAF Firehose Redshift Log Elasticsearch 18
Slide 19
Slide 19 text
外部からの侵入 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
Slide 20
Slide 20 text
VPC 内部からの侵入 MFA IP restriction Login/Logout Remote copy restriction Console logging web api Gotanda HQ Step 20
Slide 21
Slide 21 text
PR出さないと、変更できない Change History, Review 21
Slide 22
Slide 22 text
Codeで記述する VPC Security Group Auto Scaling group ALB IAM 22
Slide 23
Slide 23 text
SREって何をしてる? 新しい環境への先導役 Kubernetes on AWSの場合 23
Slide 24
Slide 24 text
03 Securityを意識したSaaSを作るに は? Section 24
Slide 25
Slide 25 text
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
Slide 26
Slide 26 text
伝統的なtoolは、k8s非対応? IPS/AntiMalwareが動かない? worker nodeにいれるには? k8s signatureある? podで入れられる default ruleでOK? 26
Slide 27
Slide 27 text
SecurityGroup、FlowLogがk8s非対応 Namespaceの中は把握できない? Security Group Namespace Node Node Node EKS podで入れられる L3/L4/L7 Firewall 27
Slide 28
Slide 28 text
内部からの侵入が容易? MFA IP restriction Login/Logout Remote copy restriction Console logging Gotanda HQ Namespace Node Session Manager 直kubectl exec -it $POD /bin/bashを許さない 28
Slide 29
Slide 29 text
これまでのものだけでは記述できない Clusterを何で記述する? Security Group Namespace Node IAM ECR EKS HELMFILE ekscluster 29
Slide 30
Slide 30 text
DevSecOps 普通にcode書いてdeployしたら、secure SaaSになる仕組み code書かないとdeploy出来ません 30
Slide 31
Slide 31 text
まとめ Logがないと検知できない Passive/Active Defence PR出さないと変更できない yaml書かないと、releaseできない なければ作る Hack Everything★ 共有する みんなで感じる、考える 31
Slide 32
Slide 32 text
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 登録 閲覧 通常 利用
Slide 33
Slide 33 text
カジュアルに失敗から何を学んだかを共有する 希望者によるLT形式 月1回の「失敗.js」 33
Slide 34
Slide 34 text
Engineer組織としてSecureになる Security Engineerなんていない世界 Monitoring, Vulnability management, Incident Responseについては、またの機会に... 34
Slide 35
Slide 35 text
スモールビジネスを、 世界の主役に。 35