Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ハードウェアから攻めるクラウド / Cloud attack from hardware

ハードウェアから攻めるクラウド / Cloud attack from hardware

Hosting Casual Talks #5 @さくらインターネット福岡オフィス

5c46069076f949cac9bf78f82a59379d?s=128

Takumi Takahashi

March 22, 2019
Tweet

Transcript

  1. ハードウェアから 攻めるクラウド Takumi Takahashi 2019/03/22

  2. Takumi Takahashi @takumin @takumiiinn 2

  3. 本日のレシピ 1. ベアメタルで考慮すべき所 2. ソフトウェアによる再現 3. デモンストレーション 4. さいごに 3

  4. 1. ベアメタルで考慮すべき所

  5. ハードウェアの多様性 カーネルの多様性 ディストリビューションの多様性 ネットワークの多様性 テスト手法 その他たくさん 5

  6. ハードウェアの多様性 カーネルの多様性 ディストリビューションの多様性 ネットワークの多様性 テスト手法 その他たくさん 6

  7. CPU x86 ARM RISC-V etc... 7

  8. Firmware BIOS UEFI Proprietery etc... 8

  9. ハードウェアの多様性 カーネルの多様性 ディストリビューションの多様性 ネットワークの多様性 テスト手法 その他たくさん 9

  10. NT Darwin Linux kernel RTOS 自作OS etc... 10

  11. ハードウェアの多様性 カーネルの多様性 ディストリビューションの多様性 ネットワークの多様性 テスト手法 その他たくさん 11

  12. Debian Family Ubuntu etc... Redhat Family CentOS etc.. Gentoo Linux

    etc... 12
  13. ハードウェアの多様性 カーネルの多様性 ディストリビューションの多様性 ネットワークの多様性 テスト手法 その他たくさん 13

  14. 物理NW Ethernet In niBand EtherCAT etc... 仮想NW Linux Network Namespace

    VLAN VXLAN etc... 14
  15. ハードウェアの多様性 カーネルの多様性 ディストリビューションの多様性 ネットワークの多様性 テスト手法 その他たくさん 15

  16. テスト環境 仮想マシン コンテナ 16

  17. テストアプリケーション テストフレームワーク CIツール 17

  18. ハードウェアの多様性 カーネルの多様性 ディストリビューションの多様性 ネットワークの多様性 テスト手法 その他たくさん 18

  19. どのような場所に設置するか? 電源をどうするか? 空調をどうするか? 故障検知/対応をどのように行うか? 19

  20. 結論 全部一人でやるのは無理ゲー 既存ベンダの凄さを再認識

  21. 無理ゲーにしないためには? ハードウェアはどうにもならない部分が多い… 21

  22. それならソフトウェアで再現しよう! 22

  23. 2. ソフトウェアによる再現

  24. 24

  25. 今回はVagrant+Libvirtでトライしてみました 25

  26. Vagrant leの仕組みは仮想環境の再現性高い Web界隈では仮想環境のデファクト? 仮想N/W構築など期待値は高い 26

  27. QEMU+KVMを採用 抽象度が非常に高いがバックエンドの知識も必要 27

  28. Vagrant管理外で仮想ネットワークを独自に構築 EDK2/OVMF UEFIで初期ネットワーク起動 UEFIからチェーン処理されるiPXE BIOS/UEFI両対応+その他便利機能 API(メタデータ)サーバ 諸々のシステムを糊付けします 28

  29. 3. デモンストレーション やってみた!

  30. 4. さいごに こんなツールあるとうれしい

  31. mruby + KVM + UEFI + netns = ??? Vagrantは仕組みが巨大なため動作に難がある

    Linuxに限定すればKVM APIを直接触れる Firecracker(Jailer)をバックエンドにすれば...? GNS3のようなシステム構成可視化ツール 例えば上記ツールがGraphvizなどを出力 システム全体の検証ツールとして使えます 31
  32. Thank you for your a en on!!