تقوم هذه الحاوية بتشغيل خادم ويب يخدم متصفح Firefox الفعلي عند التنقل إليه. تحت الغطاء ، تقوم الحاوية بتشغيل XRDP على Apache Guacamole لتقديم نافذة Firefox.

استلهم هذا المشروع من منشور المدونة هذا. إن إنشاء Ivonet رائع حقًا ، لكنني اعتقدت أنني سأبني بلدي وأضيف بعض التحسينات. أولاً ، قمت بتحديث صورة Apache Guacamole إلى صورة أكثر حداثة. ثم قمت بتبديل المتصفح إلى Firefox واكتشفت كيفية التحميل إلى الامتدادات حتى يتم خبزها بالفعل في المتصفح عند بناء الصورة. أخيرًا ، قمت بإنشاء مرشح القائمة البيضاء SecComp لمزيد من الأمان.
يشمل هذا الإنشاء Firefox وتمديد PIA VPN. علق Dockerfile أيضًا خطوطًا لأصل Ublock و Decentraleyes و Privacy Badger. لقد تم التعليق عليهم للمساعدة في الاستقرار ، ولكن يمكنك بسهولة إلغاء إلغاء احتياجاتك.
تم نشر هذه الصورة على Docker Hub ، ويمكنك تشغيلها مع الأمر:
$ docker run -d --rm --shm-size=1G -p 8080:8080 --name foxception lawndoc/foxception:latest
من المهم تضمين جميع الأعلام من أجل تشغيل حاوية Docker هذه وإغلاقها بشكل صحيح. أنصحك بقراءة جميع الأعلام المستخدمة وما تعنيه (انظر الملاحظة المهمة أدناه).
يمكنك تشغيل هذه الصورة باستخدام مرشح SECCOMP لتقليل syscalls المسموح به للحاوية في حالة استغلال ناجح. للقيام بذلك ، يمكنك استنساخ هذا الريبو ، وإنشاء صورة مع البرنامج النصي المقدم ، وتشغيله مع مرشح 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 التي تم إجراؤها على kernel ثم يقوم بإنشاء مرشح SecComp عند إيقاف الحاوية. يتيح المرشح المقدم فقط syscalls المطلوبة لهذا الحاوية أن تعمل كما كان المقصود. أوصي بشدة باستخدام مرشح SECCOMP لأنني لم أقم بأي نوع من تحليلات الضعف في هذه الخدمة (انظر الملاحظة المهمة أدناه).
أيضًا ، ضع في اعتبارك أنه إذا قمت بتعديل الحاوية أكثر من اللازم ، فقد تتطلب إجراءات إضافية لا تتطلب القائمة البيضاء بواسطة مرشح SECCOMP المقدم. في هذا السيناريو ، يمكنك استخدام الأداة المذكورة أعلاه لإنشاء مرشح جديد.
لاختيار ملحقاتك الافتراضية الخاصة بك ، تحتاج إلى إضافة أرشيف XPI إلى الدليل/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/
يجب تسمية الأرشيف <معرف التطبيق> .xpi حيث يكون <sip> هو معرف التطبيق للإضافات. على سبيل المثال ، {EC8030F7-C20A-464F-9B0E-13A3A9E97384} هو معرف تطبيق Firefox ، وهو اسم الدليل الذي يجب عليك إضافة محفوظات XPI إلى. يمكنك العثور على معرف التطبيق/التمديد لأي وظيفة إضافية لديك بالفعل من خلال الذهاب إلى: تصحيح تصحيح في متصفح Firefox المحلي.
لتنزيل امتداد ، ما عليك سوى القيام بالتجعيد كما في Dockerfile. يمكنك الحصول على عنوان URL لتنزيل أرشيف XPI الإضافي من خلال الانتقال إلى موقع Firefox Add-Ons والتحوم فوق الزر "Add to Firefox".
اعتمادًا على الإعداد الخاص بك ، قد يتعرض هذا المتصفح للإنترنت. نظرًا لأنه يعمل على شبكتك ، سيتم ربط أي شيء يتم إجراؤه على المتصفح إلى الشبكة المضيفة. لذلك ، تأكد من أنك تعرف من أين يمكن الوصول إليها والتحكم في الوصول إلى جدران الحماية ، و Htpasswd ، وما إلى ذلك ... أيضًا ، لم أقم بأي تحليل للضعف على هذه الحاوية ، لذلك قد يكون من المقرر القيام بالأشياء التي لم يكن المقصود القيام بها. لهذا السبب ، يجب عليك أيضًا تشغيل هذه الحاوية مع مرشح SecComp المقدم كما هو موضح أعلاه.