도쿠마루 책의 환경 구축을 편하게 하는 툴을 Ansible와 쉘로 만들어 보았다
자동화할 수 있는 프로세스가 얼마나 있는지 확인
도쿠마루 책의 연습 환경의 구축 방법은, 서적의 제2장에서 해설되어 있습니다. 이 구축 방법 중 모두가 자동화 가능이라고 하는 것은 아닙니다. 자동화 여부를 아래 표에 정리했습니다.
행정
자동화 여부
필요한 소스 VM 파일 다운로드
예 1
Firefox 설치
예 2
VirtualBox 설치
예
호스트 네트워크 관리자 설정 (VirtualBox)
예
VM 가져 오기 (VirtualBox) 및 설정
예
hosts 파일에 FQDN 등록
예
OWASP ZAP 설치
예
OWASP ZAP 초기 설정
불가
FoxyProxy-Standard 설치
불가
이번에는 Ubuntu가 설치되어 있는 VM에 환경 구축을 실시하는 것을 상정해 툴을 구축했기 때문에, Firefox의 인스톨은 툴에서는 실시하지 않습니다. 따라서 7할 5분의 행정은 자동화 가능하다는 것을 위의 표에서 알 수 있습니다.
환경 구축 지원 도구 구현
툴의 구현은, 실행부는 쉘로 구현해, 내부에서 Ansible가 실행되도록(듯이) 하고 있습니다. 소스는 필자의 GitLab에 있습니다. 자유롭게 다운로드하여 사용하실 수 있습니다 (MIT 라이센스). 구축 매뉴얼 도 놓고 있습니다.
build.sh (실행 부)
#!/bin/bash
apt install -y ansible wget
ansible-playbook -i inventory playbook.yml
playbook.yml (2021/5/19 개정)
- hosts: localhost
environment:
zap_ver: 2.10.0
become: yes
tasks:
- name: Download sources
shell: cat auth.txt | xargs -n 2 sh -c 'wget -P /home/wasbook/ --http-user=$0 --http-password=$1 https://wasbook.org/download/wasbook.zip' && \
unzip -od /home/wasbook/wasbook /home/wasbook/wasbook.zip warn=False && \
chown -R wasbook /home/wasbook/wasbook warn=False && \
chgrp -R wasbook /home/wasbook/wasbook warn=False
- name: Download VM image file
shell: cat auth.txt | xargs -n 2 sh -c 'wget -P /home/wasbook/ --http-user=$0 --http-password=$1 https://wasbook.org/download/wasbook.ova' && \
chown wasbook /home/wasbook/wasbook.ova warn=False && \
chgrp wasbook /home/wasbook/wasbook.ova warn=False
- name: Install Open JDK 11
apt:
name: openjdk-11-jdk
- name: Install OWASP ZAP
shell: wget https://download.opensuse.org/repositories/home:/cabelo/xUbuntu_18.04/amd64/owasp-zap_{{ ansible_env.zap_ver }}_amd64.deb -P /home/wasbook/ warn=False && \
dpkg -i /home/wasbook/owasp-zap_{{ ansible_env.zap_ver }}_amd64.deb
- name: Register hosts
shell: echo "192.168.56.101 example.jp api.example.net trap.example.com" >> /etc/hosts
- name: Add oracle vbox 2016 keys
shell: wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - warn=False && \
add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian bionic contrib"
- name: Install Virtual Box
apt:
name: virtualbox-6.0
update_cache: yes
- name: Change HOME
shell: export HOME=/home/wasbook
- name: Import VM
shell: vboxmanage import --options keepallmacs /home/wasbook/wasbook.ova && \
vboxmanage hostonlyif create && \
vboxmanage modifyvm wasbook --nic1 nat && \
vboxmanage modifyvm wasbook --nic2 hostonly && \
vboxmanage modifyvm wasbook --hostonlyadapter2 "vboxnet0"
become_user: wasbook
- name: Restore HOME
shell: export HOME=/root
인벤토리
[localhost]
127.0.0.1 ansible_connection=local
인벤토리 파일을 수정하여 원격으로 VM에 환경을 구축할 수도 있습니다.
VM 상에 구축할 때의 유의 사항
VM상에서 구축할 때 OS마다 추천 하이퍼바이저를 기재해 둡니다.
Mac
Windows


요약
도쿠마루 책의 연습 환경의 구축을 지원하는 툴을 Ansible와 쉘로 구현해 보았습니다. 실제로 Ubuntu의 인스톨 된 VM상에서 실행한 곳, 환경 구축이 원활하게 실행할 수 있었습니다. 이 도구는 MIT 라이센스입니다. 개량안의 제안, Issue의 발행, 풀 리퀘스트는 환영합니다.
Reference
Software Design 2018년 12월호
htps : // / cs. 오 c. 코 m/엔/ゔぃr 츠아아자치온/ゔぃr
소스 및 VM 파일을 다운로드하려면 책의 자격 증명이 필요합니다. 이번에 구현한 도구도 자격 증명이 필요합니다. ↩
VM에서 Linux를 사용하는 경우 설치 필요 없음 ↩
Reference
이 문제에 관하여(도쿠마루 책의 환경 구축을 편하게 하는 툴을 Ansible와 쉘로 만들어 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y-vectorfield/items/f97341f05043eeefb412텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)