คอนเทนเนอร์นี้เรียกใช้เว็บเซิร์ฟเวอร์ที่ให้บริการเบราว์เซอร์ Firefox จริงเมื่อคุณนำทางไป ภายใต้ประทุนคอนเทนเนอร์กำลังใช้ XRDP เหนือ Apache Guacamole เพื่อให้บริการหน้าต่าง Firefox

โครงการนี้ได้รับแรงบันดาลใจจากโพสต์บล็อกนี้ การสร้างของ Ivonet นั้นเจ๋งจริง ๆ แต่ฉันคิดว่าฉันจะสร้างตัวเองและเพิ่มการปรับปรุงบางอย่าง ก่อนอื่นฉันอัปเดตอิมเมจ Apache Guacamole เป็นภาพปัจจุบันมากขึ้น จากนั้นฉันเปลี่ยนเบราว์เซอร์เป็น Firefox และหาวิธีการขยายส่วนขยายเพื่อให้พวกเขาอบเข้ากับเบราว์เซอร์เมื่อคุณสร้างภาพ สุดท้ายฉันสร้างตัวกรอง seccomp whitlist เพื่อเพิ่มความปลอดภัย
งานสร้างนี้รวมถึง Firefox และส่วนขยาย PIA VPN DockerFile ยังได้แสดงความคิดเห็นเกี่ยวกับสายสำหรับแหล่งกำเนิด ublock, Deventraleyes และ Badger ความเป็นส่วนตัว พวกเขาได้รับความคิดเห็นเพื่อช่วยด้วยความมั่นคง แต่คุณสามารถทำความเข้าใจกับพวกเขาให้เหมาะกับความต้องการของคุณได้อย่างง่ายดาย
ภาพนี้เผยแพร่บน Docker Hub และคุณสามารถเรียกใช้ได้ด้วยคำสั่ง:
$ docker run -d --rm --shm-size=1G -p 8080:8080 --name foxception lawndoc/foxception:latest
มันเป็นสิ่งสำคัญที่จะรวมธงทั้งหมดเพื่อให้คอนเทนเนอร์ Docker นี้ทำงานและปิดอย่างถูกต้อง ฉันขอแนะนำให้คุณอ่านธงทั้งหมดที่ใช้และสิ่งที่พวกเขาหมายถึง (ดูบันทึกสำคัญด้านล่าง)
คุณสามารถเรียกใช้ภาพนี้ด้วยตัวกรอง SECCOMP เพื่อลด syscalls ที่ได้รับอนุญาตของคอนเทนเนอร์ในกรณีที่ประสบความสำเร็จในการแสวงหาผลประโยชน์ ในการทำเช่นนี้คุณโคลน repo นี้สร้างภาพด้วยสคริปต์ที่ให้ไว้และเรียกใช้กับตัวกรอง SECComp ที่ให้ไว้:
$ git clone https://github.com/lawndoc/foxception.git
$ cd foxception
$ ./build.sh
$ sudo docker run -d --shm-size=1G -p 8080:8080 --security-opt seccomp=foxception_seccomp.json --name foxception lawndoc/foxception:latest
ตัวกรอง SECCOMP ทำด้วยเครื่องมือนี้ซึ่งบันทึก syscalls ทั้งหมดที่ทำกับเคอร์เนลแล้วสร้างตัวกรอง SECCOMP เมื่อคุณหยุดคอนเทนเนอร์ ตัวกรองที่ให้ไว้อนุญาตเฉพาะ syscalls ที่จำเป็นสำหรับคอนเทนเนอร์นี้ในการทำงานตามที่ตั้งใจไว้ ฉันขอแนะนำให้ใช้ตัวกรอง SECCOMP เพราะฉันยังไม่ได้ทำการวิเคราะห์ช่องโหว่ใด ๆ ในบริการนี้ (ดูบันทึกสำคัญด้านล่าง)
นอกจากนี้โปรดทราบว่าหากคุณปรับเปลี่ยนคอนเทนเนอร์มากเกินไปอาจต้องใช้ syscalls เพิ่มเติมที่ไม่ได้รับการอนุญาตโดยตัวกรอง SECComp ที่ให้ไว้ ในสถานการณ์นั้นคุณสามารถใช้เครื่องมือที่กล่าวถึงข้างต้นเพื่อสร้างตัวกรองใหม่
ในการเลือกส่วนขยายเริ่มต้นของคุณเองคุณต้องเพิ่ม XPI Archive ลงในไดเรกทอรี/usr/share/mozilla/ส่วนขยาย/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
คลังเก็บจะต้องมีชื่อว่า <app id> .xpi โดยที่ <app id> เป็นรหัสแอปพลิเคชันของ add-on ตัวอย่างเช่น {EC8030F7-C20A-464F-9B0E-13A3A9E97384} เป็นรหัสแอพของ Firefox และเป็นชื่อของไดเรกทอรีที่คุณควรเพิ่มคลังข้อมูล XPI คุณสามารถค้นหารหัสแอพ/ส่วนขยายของส่วนเสริมใด ๆ ที่คุณมีอยู่แล้วโดยไปที่: การดีบักในเบราว์เซอร์ Firefox ในพื้นที่ของคุณ
ในการดาวน์โหลดส่วนขยายให้ทำงอเหมือนใน Dockerfile คุณสามารถรับ URL ดาวน์โหลดของ Add-on's XPI Archive ได้โดยไปที่เว็บไซต์ Add-Ons Firefox และวางตัวไปหรือคลิกขวาที่ปุ่ม "Add to Firefox"
เบราว์เซอร์นี้อาจสัมผัสกับอินเทอร์เน็ตทั้งนี้ขึ้นอยู่กับการตั้งค่าของคุณ เนื่องจากมันทำงานบนเครือข่ายของคุณสิ่งใดก็ตามที่ทำบนเบราว์เซอร์จะถูกผูกติดกับเครือข่ายโฮสต์ ดังนั้นให้แน่ใจว่าคุณรู้ว่ามันสามารถเข้าถึงได้จากที่และควบคุมการเข้าถึงด้วยไฟร์วอลล์ HTPassWD ฯลฯ ... นอกจากนี้ฉันยังไม่ได้ทำการวิเคราะห์ช่องโหว่ใด ๆ ในภาชนะนี้ดังนั้นมันจึงสามารถทำสิ่งต่าง ๆ ได้ ด้วยเหตุผลดังกล่าวคุณควรเรียกใช้คอนเทนเนอร์นี้ด้วยตัวกรอง SECCOMP ที่ให้ไว้ตามคำแนะนำข้างต้น