Advertisement

業務系クラウドサービスが取り組んでいるセキュリティ対策

President at Velc, Inc
Apr. 21, 2016
Advertisement

More Related Content

Viewers also liked(17)

Advertisement

Similar to 業務系クラウドサービスが取り組んでいるセキュリティ対策(20)

Recently uploaded(20)

Advertisement

業務系クラウドサービスが取り組んでいるセキュリティ対策

  1. 業務系クラウドサービスが 取り組んでいるセキュリティ対策 2016/04/20 「VAddy」ユーザーミートアップ Vol.2 ヴェルク田向祐介
  2.  田向祐介(@fw_tx76129)  ヴェルク株式会社  フューチャーアーキテクト→ベンチャー →起業  現在起業して6年目  スマホアプリ開発・クラウド・Webシス テム開発など 自己紹介
  3. boardについて
  4. https://the-board.jp 見積書・請求書の作成・発行から 発注管理・売上見込管理・経営分析など 個人事業主・中小規模の会社の 業務・経営をサポートするシステム
  5. 自分が会社を経営していく上で 欲しいから作った
  6. 見積書や請求書のサービスはあるよね?
  7. 書類を作ることも大事だけど 経営する上では いかにして売上の見込みを把握するが重要 既存の見積書・請求書サービスだと 経営管理のために別途Excelで 集計しないといけなかったので 経営者視点で設計・開発
  8. ドッグフーディングしながら開発している
  9. boardでのセキュリティに対する考え
  10. ユーザの方々の 大事なデータを預かっている
  11. セキュリティに 十分な時間とお金をかけるのは 業務系クラウドサービス としての責務
  12. “予算がないから” “時間がないから” といって セキュリティを軽視しない
  13. boardのセキュリティ対策〜システム編
  14. 機密情報の暗号化 • 重要なデータは暗号化して保存 • 流出時の被害防止 • 内部持ち出しの予防 • 会社(アカウント)ごとに異なる暗号化キー • 暗号化キーはサーバと別の場所に保管
  15. WAF(Web Application Firewall) • クラウド型WAFのScutumを導入 • XSS・SQLインジェクション等のアプリケーションレ イヤの攻撃をブロック • 自社ではなく、第三者のセキュリティの専門家が運用 しているということが重要 • 導入も簡単で、コストも手頃なので、積極的に導入し た方がよい(受託案件でもよく提案している)
  16. IDS・IPS • トレンドマイクロのDeep Securityを導入 • サーバへの不正侵入を検知・ブロック • 非常に高価なイメージがあるが、最近は価格も下がっ てきて、導入しやすくなった
  17. 不正プログラム(ウイルス等)対策 • トレンドマイクロのDeep Securityを導入 • ファイルアップロード機能があるため、万が一に備え て導入
  18. セキュリティテスト • リリース時に、外部にセキュリティテストを依頼 • 現在は、継続的セキュリティテストサービスのVAddy を導入 • WAFとレイヤはかぶるが、より確実にブロックするた め、また「脆弱性はバグなのでテストしよう」という ことで導入
  19. boardのセキュリティ対策〜運用編
  20. セキュリティアップデート • セキュリティアップデートを自動通知 • 内容の緊急度を元に、即日〜1週間程度でアップデー トする運用 • 今後は、Linux用脆弱性スキャナー「Vuls」を試して みたい • https://github.com/future-architect/vuls
  21. アクセス権の管理 • 内部持ち出し対策 • 責任者以外は、サーバやDBへのアクセスができない • 暗号化キーの保管場所も同様に、責任者以外はアクセ スできない • 運用上、本番のサーバ・DBにアクセスする必要性は ないはずなので、アクセス権の管理は厳格に行う
  22. boardのセキュリティ対策〜機能編
  23. ユーザ向けのセキュリティ対策機能 • 一定回数ログインに失敗したらアカウントをロック • IP制限 • 2段階認証 • 操作履歴の自動記録
  24. boardでのVAddyの活用
  25. E2Eテストの整備 • VAddyにクロールさせるため、E2Eテストを整備 • RSpec+turnip+Capybara • PoltergeistとSeleniumのどちらでも動くようにする • 普段はCircleCIからPoltergeistでE2Eテスト • SeleniumはVAddyクロール用
  26. E2Eとセキュリティテストのニーズの違い • VAddyへのクロールは、同じ画面を1回操作すればOK • E2Eテストでは、テスト内容に応じて、複数回同じ画 面を操作する可能性がある • E2Eテストを全てクロールさせると、セキュリティテ ストとしては、重複したテストを実施してしまい、や たら時間がかかる
  27. VAddyを考慮したE2Eテストの整備 • featureファイルを細かく分割 • 画面単体のテストとシナリオテスト的な内容を分ける • VAddyに流すのは、画面単体のテストのみ • 細かく分けていると、変更があった箇所だけテストで きる
  28. VAddyのラベル機能を活用する • 前回のミートアップ後に追加されたラベルを活用する • 細かく分割したテストごとにクロールさせ、ラベルを つけていく
  29. VAddyにクロールさせるスクリプト • VAddyクロール用モードでrspecを実行できるようし、 自動的に以下の処理を行うようにする • クロール用のプロキシ設定 • SeleniumでFirefox起動 • クロール開始用URLにアクセス • E2Eテストを実行 • クロール終了用URLにアクセス
  30. CircleCIからVAddy実行 • 指定のブランチにpushされたら、CircleCIからVAddy のラベル指定で順次実行 git clone git@github.com:vaddy/vaddy-api-ruby.git cd ./vaddy-api-ruby/ ruby vaddy.rb $VADDY_TOKEN $VADDY_USER $VADDY_HOST 001_login ruby vaddy.rb $VADDY_TOKEN $VADDY_USER $VADDY_HOST 002_settings ・・・ ただ、全てのテストを実行すると2時間以上かかるため、 pushのタイミングではなく1日1回などにする必要があり そう
  31. VAddyクロール情報の更新 • E2Eテストが更新されたら、そのテストだけ、VAddy に再クロールさせる • 同じラベル名を付けておくと、最新のクロール情報が 使用される
  32. VAddyのメリット • 一度クロールさせれば、非常に簡単にテストが実施で きる • 通常の開発・テストでは、脆弱性に気づく機会は意外 と少ない。 • セキュリティの勉強にもなる • CSRFトークンの扱いなどもきちんと考慮してくれる • E2Eテストを整備するモチベーションになった
  33. VAddy運用上の課題 • システムの規模が大きくなれば、単純にE2Eテストを クロールさせれば良いというわけにはいかない • テスト時間短縮のため、無駄な操作を省きたい • ただしE2Eテストとの二重管理は避けたい • 問題が見つかった時の該当箇所の特定
  34. エンジニア募集しています!
  35. enjoy life and creation ご静聴ありがとうございました
Advertisement