Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

偶々MutillidaeⅡのサイトみたら… https://sourceforge.net/projects/mutillidae/ the OWASP Top Ten 2007, 2010, 2013 and 2017

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

というわけで、Dockerイメージ作って公開してみました。 何でDockerかって?配布が楽チンだからだよ(・∀・) https://hub.docker.com/r/zash11o/mutillidae2017/

Slide 7

Slide 7 text

というわけで、概念とか使い方とかザックリ説明します。 Dockerお勉強資料じゃないので、そのあたりはザックリです(;´Д`) 100%正しいことより、60%ぐらいの正しさ。 とりあえず使ってみようかな~と思ってもらえることを目指す (`・ω・´)

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

ハードウェア VMとかなかった時代(占有) VMができた時代(HW共有) コンテナの時代(OS共有) OS MW MW App App App ハードウェア ハイパーバイザ OS OS MW MW MW App App App App ハードウェア OS コンテナ MW コンテナ 全部 占有 HW 共有 OSカーネル 共有 MW App App App App

Slide 11

Slide 11 text

VMの時代: VMイメージ=OS+MW+Apps 仮にOS:1.0GB + MW:500MB + Apps:100MB = 1.6GB共有 コンテナの時代: コンテナ=MW+Apps OSの1.0GBは共有しなくて(・∀・)イイ!! Linuxさえ動けばおk! コンテナ自体はLinuxの技術。 Dockerは共通フォーマットみたいな感じ(JSONとか YAMLとか)

Slide 12

Slide 12 text

VMなら、OS起動時間+MW起動時間⇒数分 DockerならほぼMW起動時間だけ⇒数秒 +廃棄(Purge)も完全に!(脱獄除く) 一部セキュリティ製品(リモートブラウザ)でも採用。 スパコンでもコンテナ使ってるものも。 起動開始 VM ・カーネル読み込み ・ディスクマウント ・イニシャライズetc ・MW起動 コンテナ

Slide 13

Slide 13 text

ザックリと、ライブCDみたいなモノだと思ってください。 CD入れたら、サクッとOS起動!みたいな。 それがもう1段上のレイヤー(MW)で起こってます。 DockerHub ISOイメージ

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

前提条件: Linuxが動く。 Docker for Win/Macもあるけど使ったことない(;´Д`) 軽量なLinux(Mobi)入れてるだけだったから… VM上でも、物理PC(Me!)でも、様式は問いません。 それがいいところ。 今回はCentOS7で動かします! Debian/Ubuntuの人はyum→aptに読み替えてね。 あとパッケージ名がdockerじゃなくてdocker.ioです

Slide 16

Slide 16 text

AlpineLinux 4MiBぐらい!! MariaDB MySQLでもいいけど趣味 (こっちが本家と思ってる) ApacheHTTP + PHP DockerHub Alpine リポジトリ SourceForge unzip / wget apk (yum/apt相当) mutillidae.zip mutillidae wget unzip ユーティリティも最小限 (デフォじゃ入ってない)

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

まずはターミナルに繋ぐ&Dockerのインストール。 [root@cent7targ ~]# yum install -y docker (最新版のDocker使いたい場合はリポジトリADDしてください) ====================================================================================== Package アーキテクチャー バージョン リポジトリー 容量 ====================================================================================== インストール中: docker x86_64 2:1.12.6-68.gitec8512b.el7.centos extras 15 M トランザクションの要約 ====================================================================================== インストール 1 パッケージ 総ダウンロード容量: 15 M インストール容量: 52 M インストール: docker.x86_64 2:1.12.6-68.gitec8512b.el7.centos 完了しました! [root@cent7targ ~]#

Slide 20

Slide 20 text

Dockerサービスの起動。 [root@cent7targ ~]# systemctl start docker [root@cent7targ ~]# systemctl enable docker [root@cent7targ ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since 月 2018-01-22 19:07:24 JST; 1min 20s ago Docs: http://docs.docker.com Main PID: 2236 (dockerd-current)

Slide 21

Slide 21 text

予め作っておいたので、DockerHubからPullします。 [root@cent7targ ~]# docker pull zash11o/mutillidae2017 Using default tag: latest Trying to pull repository docker.io/zashshibainu/owasp-mutillidae-2017 ... latest: Pulling from docker.io/zashshibainu/owasp-mutillidae-2017 578b327bb460: Downloading 535.1 kB/67.09 MB 058d1a44bab8: Download complete 9c54cfa9684f: Waiting ~暫しかかります~ [root@cent7targ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/zash11o/mutillidae2017 latest a2496b33e26c 49 minutes ago 374.8 MB mutillidae2017 があればおk

Slide 22

Slide 22 text

Dockerコンテナ起動。 [root@cent7targ ~]# docker run -d -p 60080:80 \ docker.io/zash11o/mutillidae2017 c0d9a1f6e567197b6376c4cd5452c91ccf734117a71fce74ed0f2a492f37ef51 [root@cent7mgr mutillidae2017]# -pオプション:  ポートバインド:   ホストの60080にアクセスすると   コンテナの80番にリダイレクト

Slide 23

Slide 23 text

MutillidaeⅡの初期化画面が表示! 毎回出ちゃう… ⇒MariaDBの初期化が書き込まれないため  ⇒A)あきらめる(対処法はなきにしもあらず)

Slide 24

Slide 24 text

まあ、サクッと検証用の環境起動するにはいいかな? と。 探せば、DVWAとかのDockerイメージもあります。 MutillidaeⅡは古い(2013版)のしかなかったので作った。

Slide 25

Slide 25 text

No content