Arachni: เตรียม Environment
เตรียม environment สำหรับทดสอบความปลอดภัยของ web application
เตรียม Server
ผมเลือกใช้ server ของ vultr และ domain (zugarzeeker.com) ของ p&t hosting
OS ที่ใช้เป็น ubuntu 16.10
Install Nginx
nginx เป็น web server ที่ใช้จัดการเกี่ยวกับการเข้าถึงเว็บที่เรารันอยู่ใน server ว่าจะใช้ domain ใด subdomain ใด และอื่นๆ
โดยติดตั้งง่ายๆ ดังนี้
$ sudo apt-get update
$ sudo apt-get install nginx
Install Docker
Docker คือ โปรแกรม ในการจำลอง environment คล้ายพวก VM (Virtual Machine) โดย Run Application ที่อยู่ใน Container ดังคำกล่าวที่ว่า “Build Once, Run Anywhere”
สำหรับ VM จะจำลอง OS เลย แล้วจึง Run Application แต่สำหรับ Docker นั้นมีเพียงไฟล์ระบบบางส่วน (Lightweight Container) และเวลาทำงาน ก็ใช้ร่วมกับไฟล์ระบบจริงๆ ทำให้กินทรัพยากรน้อย ไม่เหมือน Run OS อีกตัวใน VM
มาเริ่มติดตั้งกัน
Add docker repo
$ sudo apt-get update
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D$ sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
$ sudo apt-get update
Install docker
$ sudo apt-get install -y docker-engine
ลองรันคำสั่งดู
$ sudo docker
Install Arachni
เครื่องมือสำหรับใช้ scan ความปลอดภัยของ web และ จัดทำ report
ใช้ได้ทั้งแบบ CLI และ Web UI
$ docker run -d --name arachni -p 9998:9292 ahannigan/docker-arachni bin/arachni_web -o 0.0.0.0
***ตัวอย่างที่ install นี้ แค่ Web UI
Install DVWA
DVWA (Dam Vulnerable Web Application) เป็น opensource ที่พัฒนาด้วย php เอาไว้เพื่อศึกษาช่องโหว่ต่างๆ (ซึ่งจะใช้ arachni ในการหาช่องโหว่ของ dvwa)
$ sudo docker run -d --name dvwa --rm -it -p 9999:80 vulnerables/web-dvwa
Setup Reverse Proxy
setup subdomain
แก้ไขไฟล์ /etc/nginx/site-availables/zugarzeeker.com
$ sudo service nginx restart
คราวนี้เราก็สามารถเข้าผ่านลิงค์เหล่านี้ได้แล้ว
เท่านี้เราก็สามารถใช้ Arachni สแกน DVWA ได้แล้ว
References
https://hub.docker.com/r/vulnerables/web-dvwa
https://hub.docker.com/r/ahannigan/docker-arachni
how-to-install-nginx-on-ubuntu-16-04