Submit Search
Upload
IaaS を活用した情報セキュリティ演習環境の設計と実装
•
Download as PPTX, PDF
•
0 likes
•
27 views
Daisuke Kotani
Follow
ITRC meet45 CIS分科会で 2019/5/17 に発表した資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 18
Download now
Recommended
D3.jsと学ぶVisualization(可視化)の世界
D3.jsと学ぶVisualization(可視化)の世界
AdvancedTechNight
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
Yosuke Onoue
Yahoo!ボックスAPI Hackathon向け資料
Yahoo!ボックスAPI Hackathon向け資料
Yahoo!デベロッパーネットワーク
Yahoo!ボックスAPI Hackday資料
Yahoo!ボックスAPI Hackday資料
Yahoo!デベロッパーネットワーク
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
Yuji Isobe
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
Ryuma Tsukano
swooleを試してみた
swooleを試してみた
Yukihiro Katsumi
A Case Study On Event Driven Web Applications And View Modularization
A Case Study On Event Driven Web Applications And View Modularization
LINE Corporation (Tech Unit)
Recommended
D3.jsと学ぶVisualization(可視化)の世界
D3.jsと学ぶVisualization(可視化)の世界
AdvancedTechNight
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
AngularJSとD3.jsによるインタラクティブデータビジュアライゼーション
Yosuke Onoue
Yahoo!ボックスAPI Hackathon向け資料
Yahoo!ボックスAPI Hackathon向け資料
Yahoo!デベロッパーネットワーク
Yahoo!ボックスAPI Hackday資料
Yahoo!ボックスAPI Hackday資料
Yahoo!デベロッパーネットワーク
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
Yuji Isobe
Backbone model collection (jscafe 8)
Backbone model collection (jscafe 8)
Ryuma Tsukano
swooleを試してみた
swooleを試してみた
Yukihiro Katsumi
A Case Study On Event Driven Web Applications And View Modularization
A Case Study On Event Driven Web Applications And View Modularization
LINE Corporation (Tech Unit)
MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略
ippei_suzuki
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたい
Yosuke Onoue
⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4
Nishida Kansuke
Parse introduction
Parse introduction
Tamura Koya
iPhone, iPad アプリ開発勉強会#3
iPhone, iPad アプリ開発勉強会#3
Hiroe Orz
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
Akabane Hiroyuki
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
D3.js と SVG によるデータビジュアライゼーション
D3.js と SVG によるデータビジュアライゼーション
Kohei Kadowaki
はじめてのCouch db
はじめてのCouch db
Eiji Kuroda
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
崇之 清水
とあるイルカのバーボンハウス
とあるイルカのバーボンハウス
yoku0825
SolrとElasticsearchの比較
SolrとElasticsearchの比較
genta kaneyama
Ext Schedulerを使ってみる
Ext Schedulerを使ってみる
久司 中村
第一回Miim勉強会
第一回Miim勉強会
Yuri Kawamoto
Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624
Tetsuya Sodo
【第3回初心者勉強会】データベースを使おう
【第3回初心者勉強会】データベースを使おう
Shuhei Iitsuka
リアルFacebookガジェットを作った
リアルFacebookガジェットを作った
Mariko Goda
機械学習 (AI/ML) 勉強会 #1 基本編
機械学習 (AI/ML) 勉強会 #1 基本編
Fujio Kojima
リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)
Mariko Goda
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化
Hideki Saito
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Hibino Hisashi
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
Yoshitaka Seo
More Related Content
What's hot
MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略
ippei_suzuki
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたい
Yosuke Onoue
⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4
Nishida Kansuke
Parse introduction
Parse introduction
Tamura Koya
iPhone, iPad アプリ開発勉強会#3
iPhone, iPad アプリ開発勉強会#3
Hiroe Orz
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
Akabane Hiroyuki
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
Yohei Sasaki
D3.js と SVG によるデータビジュアライゼーション
D3.js と SVG によるデータビジュアライゼーション
Kohei Kadowaki
はじめてのCouch db
はじめてのCouch db
Eiji Kuroda
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
崇之 清水
とあるイルカのバーボンハウス
とあるイルカのバーボンハウス
yoku0825
SolrとElasticsearchの比較
SolrとElasticsearchの比較
genta kaneyama
Ext Schedulerを使ってみる
Ext Schedulerを使ってみる
久司 中村
第一回Miim勉強会
第一回Miim勉強会
Yuri Kawamoto
Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624
Tetsuya Sodo
【第3回初心者勉強会】データベースを使おう
【第3回初心者勉強会】データベースを使おう
Shuhei Iitsuka
What's hot
(16)
MongoDB: システム可用性を拡張するインデクス戦略
MongoDB: システム可用性を拡張するインデクス戦略
AngularJSでデータビジュアライゼーションがしたい
AngularJSでデータビジュアライゼーションがしたい
⑱jQueryをおぼえよう!その4
⑱jQueryをおぼえよう!その4
Parse introduction
Parse introduction
iPhone, iPad アプリ開発勉強会#3
iPhone, iPad アプリ開発勉強会#3
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
BPStudy32 CouchDB 再入門
BPStudy32 CouchDB 再入門
D3.js と SVG によるデータビジュアライゼーション
D3.js と SVG によるデータビジュアライゼーション
はじめてのCouch db
はじめてのCouch db
[初音ミク] Kinesis でフリーザを撃て!
[初音ミク] Kinesis でフリーザを撃て!
とあるイルカのバーボンハウス
とあるイルカのバーボンハウス
SolrとElasticsearchの比較
SolrとElasticsearchの比較
Ext Schedulerを使ってみる
Ext Schedulerを使ってみる
第一回Miim勉強会
第一回Miim勉強会
Elasticsearch勉強会#44 20210624
Elasticsearch勉強会#44 20210624
【第3回初心者勉強会】データベースを使おう
【第3回初心者勉強会】データベースを使おう
Similar to IaaS を活用した情報セキュリティ演習環境の設計と実装
リアルFacebookガジェットを作った
リアルFacebookガジェットを作った
Mariko Goda
機械学習 (AI/ML) 勉強会 #1 基本編
機械学習 (AI/ML) 勉強会 #1 基本編
Fujio Kojima
リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)
Mariko Goda
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化
Hideki Saito
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Hibino Hisashi
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
Yoshitaka Seo
最低限知っておきたい Webセキュリティーについて@MT関西
最低限知っておきたい Webセキュリティーについて@MT関西
Masayuki Abe
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
Kentaro Yoshida
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
Yukihiro Kitazawa
Infrastructure as code for azure
Infrastructure as code for azure
Keiji Kamebuchi
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
Shotaro Suzuki
SORACOM UG 関西 x JAWS-UG 関西 IoT専門支部共催 | #あのボタン 開発のちょっといい話とSORACOM アップデート
SORACOM UG 関西 x JAWS-UG 関西 IoT専門支部共催 | #あのボタン 開発のちょっといい話とSORACOM アップデート
SORACOM,INC
自作saoriの紹介
自作saoriの紹介
wizstargaer
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
Hibino Hisashi
20110714 j queryベーシック
20110714 j queryベーシック
良太 増子
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
Akira Kanaoka
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
JPCERT Coordination Center
Azure Machine Learning Services 概要 - 2019年3月版
Azure Machine Learning Services 概要 - 2019年3月版
Daiyu Hatakeyama
Rとcdisc@moss10 公開用
Rとcdisc@moss10 公開用
Masafumi Okada
Similar to IaaS を活用した情報セキュリティ演習環境の設計と実装
(20)
リアルFacebookガジェットを作った
リアルFacebookガジェットを作った
機械学習 (AI/ML) 勉強会 #1 基本編
機械学習 (AI/ML) 勉強会 #1 基本編
リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)
OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」
Azure IoT Edge で Custom Vision
Azure IoT Edge で Custom Vision
最低限知っておきたい Webセキュリティーについて@MT関西
最低限知っておきたい Webセキュリティーについて@MT関西
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
MySQLと組み合わせて始める全文検索プロダクト"elasticsearch"
20130924 Picomon CRH勉強会
20130924 Picomon CRH勉強会
Infrastructure as code for azure
Infrastructure as code for azure
Building React, Flutter and Blazor development and debugging environment with...
Building React, Flutter and Blazor development and debugging environment with...
SORACOM UG 関西 x JAWS-UG 関西 IoT専門支部共催 | #あのボタン 開発のちょっといい話とSORACOM アップデート
SORACOM UG 関西 x JAWS-UG 関西 IoT専門支部共催 | #あのボタン 開発のちょっといい話とSORACOM アップデート
自作saoriの紹介
自作saoriの紹介
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所
20110714 j queryベーシック
20110714 j queryベーシック
データマイニング+WEB勉強会資料第6回
データマイニング+WEB勉強会資料第6回
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
検索可能暗号の概観と今後の展望(第2回次世代セキュア情報基盤ワークショップ)
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Apache Sling におけるサービス運用妨害(無限ループ)の脆弱性
Azure Machine Learning Services 概要 - 2019年3月版
Azure Machine Learning Services 概要 - 2019年3月版
Rとcdisc@moss10 公開用
Rとcdisc@moss10 公開用
Recently uploaded
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Recently uploaded
(9)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
IaaS を活用した情報セキュリティ演習環境の設計と実装
1.
IaaS を活用した 情報セキュリティ演習環境の設計と実装 小谷 大祐
(京都大学) http://bit.ly/itrc45-basic-seccap-kyoto
2.
「情報セキュリティ演習」 Basic SecCap
(enPiT-Security) で京都大学が開講する 演習科目の一つ (通称 PBL演習M) 京都大学工学部の正式科目、夏期集中 (9月) 2019/5/17 ここ ITRC meet45, (C) Daisuke Kotani 2
3.
「情報セキュリティ演習」の内容 攻撃を見つけるというのはどういうことなのかを学ぶ ネットワーク型侵入検知システム(NIDS)の仕組みと役割
攻撃とはどのようなものかを理解する (攻撃してみる) 一般的なシグネチャ型 NIDS (Snort) がどのように 攻撃を検知しているのかを実践を通して理解する 自分でしてみた攻撃を検知するシグネチャを書く False Positive や False Negative があることを体験する 機械学習を用いてより攻撃の通信の検知を試みる Kyoto2006+ 準拠のトラフィックデータから正常通信と攻撃を分類 2019/5/17 外部からの不正アクセスの試みを検知する侵入検知システム(IDS)では、 膨大な数の警報が発せられ、その解析は人手では困難である。ここでは、 IDSの仕組みと役割を学んだ上で、機械学習によりIDSの警報ログから正 常通信と攻撃を分類する演習を実施する。 ITRC meet45, (C) Daisuke Kotani 3
4.
演習に必要な演習環境 攻撃・IDS による攻撃検知を実践できる
NIDS がリアルタイムに通信を監視するには root 権限が必要 攻撃するホスト/されるホスト/IDS の最低3台必要 誤って外に攻撃してしまうことがないように 機械学習の実践によく利用されるソフトウェアが利用可能 Jupyter Notebook + 多くのライブラリ (scikit-learn など) 経験のある学生が自分で使いたいライブラリを追加できる 演習中に一からインストールする時間はない 数GB〜数十GBのトラフィック (セッション) データを扱える 2019/5/17ITRC meet45, (C) Daisuke Kotani 4
5.
演習環境を設計する上での考慮 Basic SecCap
の枠組みで他大学の学生を受け入れるが 受講生数が読みにくい (必要な機材が必要かわからない) Basic SecCap 参加校数・受講生数とも毎年増加 本学の演習を履修するかどうかは受講生の希望次第 enPiT への補助金が終了しても継続できる (人・お金) 正式科目なのですぐにはやめられない 2日間だけ動けばよい 通年で計算資源を持ち続ける必要はない 私の負担を減らす つまらない単純作業に時間を費やすのは避けたい 2019/5/17ITRC meet45, (C) Daisuke Kotani 5
6.
方針 受講生に root を渡せる、 誤って外部に攻撃することを防げる、 複数台のホストが必要。 機械学習によく利用される ソフトウェアをあらかじめ準備。 希望により追加インストール可。 受講生数が読みづらく、 必要な機材の量が予想しにくい。 数GB〜数十GBのトラフィック データを扱える。 外部とは切り離されたネット ワークに接続したVMを毎年構築し、 受講生に提供。 上記のVMに予めインストール。 追加時は教員に申し出て 一時的にインターネットに接続。 受講者数・データサイズに応じた VM
を IaaS 上に構築。 VM にアクセスするための端末は受 講生に持ち込ませる (BYOD)。 今回はさくらのクラウド 2019/5/17ITRC meet45, (C) Daisuke Kotani 6
7.
方針 (その他) enPiT の補助金が終了しても継続で きる
(人・お金)。 2日間だけ動けばよい。 私の負担を減らす。 補助金が終わったら別途措置される はずの予算額に応じて定員を設定。 トラブルが起こったらその場で なんとかする。 アカウント管理は手を抜く。 環境構築をできる限り自動化し、自 動化するために必要なスクリプトの み保管。毎年使い回す。 2019/5/17ITRC meet45, (C) Daisuke Kotani 7
8.
不採用の選択肢 各々の PC
に VM のイメージをダウンロードさせる 十分な性能の PC を持っているとは限らない 本学の演習用端末も性能不足 予めダウンロードするのを忘れた人が WiFi 一斉にダウンロードする のに必要な時間を考えると難しい 演習2日しかないのに 本学プライベートクラウドを利用 API の提供がなく、VM やネットワークの作成を自動化しづらい 年額課金しかなくお金の無駄 (閉じたネットワークを利用するのに交渉が必要そうだがそうしてま で利用する必要性はない) 物理サーバを買う 仮想化基盤を維持し続ける手間を無視できない 受講生が増えた際にスケールアウトしにくい (補助金が終了する時期がちょうど買い換えの時期) 2019/5/17ITRC meet45, (C) Daisuke Kotani 8
9.
演習環境 3〜4人1グループで以下のVMを提供 受講人数が増えたらこのセットを増やしていく
構築時はインターネットに接続、演習時は遮断 2019/5/17 作業用サーバ Metasploit, Jupyter Notebook, Wireshark, MATE Desktop, xrdp, トラフィックの データセット等 IDS サーバ Snort (1プロセス /ユーザ) 脆弱性てんこ盛り サーバ WebShell 的なものと ShellShock 今年は約30VM ITRC meet45, (C) Daisuke Kotani 9
10.
演習環境全体 2019/5/17 IDSサーバ 脆弱性てんこ盛りサーバ IDSサーバ 脆弱性てんこ盛りサーバ … SSHログインサーバ VDIサーバ (Guacamole) 管理 サーバ NAPT ルータ インターネット 作業用サーバ
作業用サーバ SSHログイン Web経由の GUIアクセス SSH ログイン ITRC meet45, (C) Daisuke Kotani 10
11.
環境構築の自動化: Infrastructure as Code
向けのツールの採用 Infrastructure as Code: “自動化、バージョン管理、テスト、継続的インテグレー ションといった、ソフトウェア開発のプラクティスをシス テム管理に応用するための方法論” Infrastructure as Code (O’Reilly) より 今回は短期間で利用するため、自動化の部分を利用 バージョン管理、継続的インテグレーションは重要ではない テストは手つかず 理想: コマンド1〜2発で構築完了 2019/5/17ITRC meet45, (C) Daisuke Kotani 11
12.
環境構築の自動化: VM やネットワークの作成
VM や閉じたネットワークの作成 → Terraform サーバやディスク、ネットワークの数や接続関係などの 宣言的な記述から IaaS の API を利用し自動で作成 2019/5/17 resource "sakuracloud_disk" "work" { count = "${var.set_count}" name = "work${count.index}" hostname = work${count.index}" source_archive_id = "${image_id}" plan = "${var.work_disk_plan}" size = "${var.work_disk_size}" password = "${var.root_password}" } resource "sakuracloud_switch" "mgmtsw" { name = "mgmtsw" } resource "sakuracloud_server" "work" { count = "${var.set_count}" name = "${var.work_name}${count.index}" disks = ["${sakuracloud_disk.work.*.id[count.index]} "] core = "${var.work_core}" memory = "${var.work_memory}" nic = "${sakuracloud_switch. mgmtsw.id}" ipaddress = "${var.work_mgmt_ipaddr[count.index]}" nw_mask_len = "${var.mgmt_masklen}" gateway = "${var.vpc_ipaddr}" additional_nics = ["${sakuracloud_switch.loginsw.id}", "${sakuracloud_switch.workidssw.id}"] } ITRC meet45, (C) Daisuke Kotani 12
13.
環境構築の自動化: サーバの設定 ソフトウェアのインストール・設定
→ Ansible サーバの構成を管理するツールの1つ サーバにインストールされているべきソフトウェアや設定を 記述し実行すると、現状との差分を検出しインストール・設定 2019/5/17 - name: users exist user: name: "{{item.name}}" password: "{{item.password}}" group: "{{item.group}}" uid: "{{item.uid}}" state: present shell: /bin/bash groups: seccap with_items: "{{users}}" become: true - name: apt install become: true apt: name: "{{item}}" state: present with_items: "{{apt_install}}" ITRC meet45, (C) Daisuke Kotani 13
14.
Terraform + Ansible
による演習環境の自動構築 2019/5/17 Terraform, Ansible 設定生 成スクリプト • ユーザ生成 パスワード生成 • IPアドレス計算 ユーザ数 サーバ数 等 設定ファイルテンプレート Terraform 設定ファイル Terraform さくらの クラウド API サーバや スイッチの生成 Ansible Playbook Ansible サーバ サーバの設定 ソフトウェアの導入・設定 Terraform, Ansible 設定生成スクリプト、Terraform、Ansible はそれぞれ手動実行 (構成を変更したときにその部分だけ再実行しやすいように) 謝辞: 多くの部分を SRC Software さんに外注 ITRC meet45, (C) Daisuke Kotani 14
15.
狙い通りの効果が得られた点 私の負担が減った サーバの準備のための単純作業の繰り返しによる精神的な負担
うまく動かない時に気軽に再インストールできるようになった 10分ほどあれば終わる 演習内容自体の改善に使える時間が増えたような気がする 演習中に不具合が発覚した場合に速やかに修正できる 修正が必要な部分だけ Ansible の Playbook を書いて実行することで 一括して変更できる 2019/5/17ITRC meet45, (C) Daisuke Kotani 15
16.
思ったより軽くならなかった部分 Ansible の
Playbook で書きにくい処理がいくつもある コンパイルしてインストールする必要のあるソフトウェア GUI で変更することを想定していそうな設定 日本語表示・入力にするとか できるのだけど資料がなかなか見つからない データベースの初期化 Ansible Playbook の維持に手間がかかる ソフトウェアのアップグレード対応 Ubuntu 16.04 LTS → Ubuntu 18.04 LTS: OS の基本的な設定方法の変更 (netplan) Bug fix や演習内容の改善への対応 年1回の演習のためにどこまで手間をかけるのが適切か難しい 2019/5/17ITRC meet45, (C) Daisuke Kotani 16
17.
継続性の課題 価格が抑えられている クラウド利用料:
約2500円/人 準備・確認・アップデートのための利用料を除く 特定のクラウドサービスへの依存が課題 Terraform から設定するためのプラグインが必要 Terraform の設定ファイルの記述がクラウドサービス依存 (さくらのクラウドがなくなったら他のクラウドに向けて書き直し) Ansible Playbook の実行時間が長い フルで実行すると6時間程度 (コンパイルなどしている都合) コピー元となるディスクイメージを作るためのPlaybook と、 各サーバ固有の設定をする Playbook を分けたほうがよさそう コンテナの活用? 人への依存 2019/5/17ITRC meet45, (C) Daisuke Kotani 17
18.
まとめ Basic SecCap
の京都大学開講演習科目「情報セキュリティ演習」 の演習環境を半自動化 Ansible と Terraform を活用 同じような構成の VM を自動で大量に作ることができる 構築スクリプトのみ維持すればよく保存するもののサイズが小さくて済む 自動化により得られる利点と手間のバランスが難しい 年1回しか構築しない環境でどこまで手をかけるか 多少汚くても動けばいいのをある程度許容する テストは手付かず 2019/5/17ITRC meet45, (C) Daisuke Kotani 18
Download now