บทนำ (Overview)
ตัวอย่างการติดตั้งโปรแกรมช่องโหว่. DVNA Damn Vulnerability Node Js แสดงให้เห็นถึงช่องโหว่ OWASP 10 ประการ และวิธีการปิดช่องโหว่ดังกล่าวด้วย โดยตัวอย่างติดตั้งบน MacOS ผ่าน Docker Node.js คือ Cross Platform Runtime Environment สำหรับฝั่ง Server และเป็น Open Source ซึ่งเขียนด้วยภาษา JavaScript NodeJS ก็คือ Platform ตัวหนึ่งที่เขียนด้วย JavaScript สำหรับเป็น Web Server Docker คือ Virtualization อย่างนึงโดยจะสร้าง Containers เพื่อจำลองสภาพแวดล้อมการทำงานอยู่บนระดับ OS ต่างกับ VM ที่ต้องจำลอง Guest OS (VMware, Virtual Box) ก่อน
ขั้นตอน (Steps)
ติดตั้ง Docker
- ดาวน์โหลด Docker สำหรับติดตั้งบน MacOs https://docs.docker.com/docker-for-mac/install/#download-docker-for-mac
- ติดตั้ง Docker.dmg โดย Double click ไฟล์ และลากไปไว้ใน application
- ให้เข้าไป Sign up https://cloud.docker.com
- จะได้ Email สำหรับ Confirm. การลงทะเบียน ให้กดปุ่ม Confirm
- ไปที่มุมขวาบน เพื่อทำการ Login.
- ใช้บัญชีผู้ใช้ที่เราได้ลงทะเบียนไปแล้ว
ติดตั้งฐานข้อมูลบน Docker
- สร้างไฟล์ Environment โดยสร้างไฟล์ชื่อ vars.env โดยตรวจสอบให้แน่ใจว่าไฟล์ต้องไม่นามสกุล .txt
MYSQL_USER=dvna MYSQL_DATABASE=dvna MYSQL_PASSWORD=passw0rd MYSQL_RANDOM_ROOT_PASSWORD=yes MYSQL_HOST=mysql-db MYSQL_PORT=3306
- ติดตั้งและ Setup MySQL ผ่าน Docker โดยใช้คำสั่ง
docker run --name dvna-mysql --env-file vars.env -d mysql:5.7
- จากนั้นเรียกใช้งานเว็บ DVNA ผ่าน Docker โดยใช้คำสั่ง
docker run --name dvna-app --env-file vars.env --link dvna-mysql:mysql-db -p 9090:9090 appsecco/dvna
เข้าใช้งาน DVNA
- สามารถเข้าผ่าน Web browser http://127.0.0.1:9090/
- ไปที่หน้า Register a new account เพื่อสร้าง Username และรหัสผ่านของเราเพื่อใช้งาน
- จากนั้นเราสามารถ Login โดยใช้ Account. ดังกล่าว
อ้างอิง
- https://appsecco.com/books/dvna-developers-security-guide/setup.html
- https://www.docker.com/what-docker
- https://devahoy.com/posts/getting-started-with-nodejs/