
ハッキングセミナー用にアプリの実行環境を作成するということで、今回はパワフルなESXi用の物理サーバを調達したのでDockerで用意しました。

それではインストールしていきます。
Docker + WordPress + CentOS7のインストール
SELinux無効化
| 
					 1 2 3 4 5  | 
						# vi /etc/sysconfig/selinux SELINUX=enforcing ↓ SELINUX=disabled  | 
					
再起動
| 
					 1  | 
						# reboot now  | 
					
ポート解放
| 
					 1 2  | 
						firewall-cmd --permanent --zone public --add-port 80/tcp firewall-cmd --reload  | 
					
Dockerのインストール
| 
					 1 2 3 4 5 6 7  | 
						yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum makecache fast yum install docker-ce-17.12.1.ce-1.el7.centos systemctl start docker systemctl enable docker  | 
					
docker-composeコマンドインストール
| 
					 1 2 3  | 
						curl -L https://github.com/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > docker-compose sudo mv docker-compose /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose  | 
					
WEBディレクトリの作成
| 
					 1 2  | 
						# mkdir -p /var/www/dev/wordpress # cd /var/www/dev/wordpress  | 
					
Dockerfile作成
| 
					 1 2 3 4 5 6  | 
						# vi Dockerfile FROM wordpress:latest RUN usermod -u 1000 www-data \     && groupmod -g 1000 www-data  | 
					
イメージ化
| 
					 1 2 3 4  | 
						# docker build -t wordpress:auth . Successfully built 693daf0ce4e9 Successfully tagged wordpress:auth  | 
					
docker-compose.ymlの作成
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38  | 
						# vi docker-compose.yml version: '2' services:    db:      image: mysql:5.7      ports:        - "3306:3306"      volumes:        - db_data:/var/lib/mysql      restart: always      environment:        MYSQL_ROOT_PASSWORD: hoge        MYSQL_DATABASE: hoge        MYSQL_USER: hoge        MYSQL_PASSWORD: hoge      privileged: true      restart: always    wordpress:      depends_on:        - db      image: wordpress:auth      ports:        - "80:80"      restart: always      working_dir: /var/www/html      volumes:        - /var/www/dev/wordpress:/var/www/html/      environment:        WORDPRESS_DB_HOST: db:3306        WORDPRESS_DB_PASSWORD: hoge      privileged: true      restart: always volumes:     db_data:  | 
					
ビルド
| 
					 1  | 
						docker-compose up -d  | 
					

http://IPアドレス/
操作
プロセスの確認
| 
					 1 2 3 4  | 
						# docker ps -a CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES e7a62fc1693d        wordpress:auth      "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes        0.0.0.0:80->80/tcp                  wordpress_wordpress_1 026ed89ac43f        mysql:5.7           "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp   wordpress_db_1/tcp, 33060/tcp   wordpress_db_1  | 
					
すべてのコンテナを停止させる
| 
					 1  | 
						docker stop $(docker ps -q)  | 
					
すべてのコンテナを削除する
| 
					 1  | 
						docker rm $(docker ps -q -a)  | 
					
終了 クリーンアップ(データは残る)
| 
					 1  | 
						docker-compose down  | 
					
DBデータも削除する場合
| 
					 1  | 
						docker-compose down --volumes  | 
					
お疲れ様です。
セミナー用のサーバなのでここから脆弱性となる穴をしこしこと仕込んでいきます。
					        
              