Wadah ini menjalankan server web yang melayani browser Firefox yang sebenarnya saat Anda menavigasi ke sana. Di bawah kap, wadah menjalankan XRDP di atas Apache Guacamole untuk menyajikan ke atas jendela Firefox.

Proyek ini terinspirasi oleh posting blog ini. Kreasi Ivonet sangat keren, tetapi saya pikir saya akan membangun sendiri dan menambahkan beberapa perbaikan. Pertama, saya memperbarui gambar Apache Guacamole ke yang lebih saat ini. Kemudian saya mengganti browser ke Firefox dan menemukan cara untuk memuat ekstensi sehingga mereka sudah dipanggang ke browser saat Anda membangun gambar. Terakhir, saya membuat filter daftar putih SECComp untuk keamanan tambahan.
Bangunan ini termasuk Firefox dan PIA VPN Extension. Dockerfile juga telah mengomentari antrean untuk asal Ublock, Decentraleyes, dan Privacy Badger. Mereka telah dikomentari untuk membantu stabilitas, tetapi Anda dapat dengan mudah melepaskannya agar sesuai dengan kebutuhan Anda.
Gambar ini diterbitkan di Docker Hub, dan Anda dapat menjalankannya dengan perintah:
$ docker run -d --rm --shm-size=1G -p 8080:8080 --name foxception lawndoc/foxception:latest
Penting untuk memasukkan semua bendera agar wadah Docker ini berjalan dan menutup dengan benar. Saya sarankan Anda membaca semua bendera yang digunakan dan apa artinya (lihat catatan penting di bawah).
Anda dapat menjalankan gambar ini dengan filter SECCOMP untuk meminimalkan syscall wadah yang diizinkan jika terjadi eksploitasi yang berhasil. Untuk melakukan ini, Anda mengkloning repo ini, membangun gambar dengan skrip yang disediakan, dan menjalankan dengan filter SECCOMP yang disediakan:
$ 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
Filter SECCOMP dibuat dengan alat ini yang mencatat semua syscall yang dibuat ke kernel dan kemudian menghasilkan filter SECCOMP saat Anda menghentikan wadah. Filter yang disediakan hanya memungkinkan syscall yang diperlukan untuk wadah ini berfungsi sebagaimana dimaksud. Saya sangat merekomendasikan menggunakan filter SECCOMP karena saya belum melakukan analisis kerentanan apa pun pada layanan ini (lihat catatan penting di bawah).
Juga, perlu diingat bahwa jika Anda memodifikasi wadah terlalu banyak, mungkin memerlukan syscall tambahan yang tidak masuk daftar putih oleh filter SECCOMP yang disediakan. Dalam skenario itu, Anda dapat menggunakan alat yang disebutkan di atas untuk menghasilkan filter baru.
Untuk memilih ekstensi default Anda sendiri, Anda perlu menambahkan arsip XPI ke direktori/usr/share/mozilla/ekstensi/{EC8030F7-C20A-464F-9B0E-13A3A9E97384}/
Arsip harus dinamai <app id> .xpi di mana <app id adalah id aplikasi add-on. Misalnya, {EC8030F7-C20A-464F-9B0E-13A3A9E97384} adalah ID aplikasi Firefox, dan merupakan nama direktori yang harus Anda tambahkan arsip XPI. Anda dapat menemukan ID aplikasi/ekstensi dari add-on apa pun yang sudah Anda miliki dengan pergi ke sekitar: Debugging di browser Firefox lokal Anda.
Untuk mengunduh ekstensi, lakukan saja ikal seperti di Dockerfile. Anda bisa mendapatkan URL unduhan dari arsip XPI add-on dengan pergi ke situs web Firefox Add-On dan melayang di atas atau mengklik kanan tombol "Tambahkan ke Firefox".
Bergantung pada pengaturan Anda, browser ini mungkin terpapar ke internet. Karena berjalan di jaringan Anda, apa pun yang dilakukan di browser akan diikat kembali ke jaringan host. Oleh karena itu, pastikan Anda tahu dari mana ia dapat diakses dan mengontrol akses dengan firewall, htpasswd, dll ... Juga, saya belum melakukan analisis kerentanan pada wadah ini, sehingga sangat mungkin dapat melakukan hal -hal yang tidak dimaksudkan untuk dilakukan. Untuk alasan itu, Anda juga harus menjalankan wadah ini dengan filter SECCOMP yang disediakan seperti yang diinstruksikan di atas.