이 컨테이너는 웹 서버를 실행하여 실제 Firefox 브라우저를 사용하여 이동할 때 웹 서버를 사용합니다. 후드 아래에서, 컨테이너는 Apache Aucamole을 통해 XRDP를 실행하여 Firefox 창을 제공합니다.

이 프로젝트는이 블로그 게시물에서 영감을 받았습니다. Ivonet의 창조물은 정말 시원하지만, 나는 내 자신을 만들고 약간의 개선을 추가 할 것이라고 생각했습니다. 먼저, Apache Aucamole 이미지를보다 최신 이미지로 업데이트했습니다. 그런 다음 브라우저를 Firefox로 전환하고 이미지를 빌드 할 때 이미 브라우저에 구워 지도록 확장을 옆으로 부재하는 방법을 알아 냈습니다. 마지막으로, 추가 보안을 위해 SecComp 화이트리스트 필터를 만들었습니다.
이 빌드에는 Firefox 및 PIA VPN 확장 기능이 포함됩니다. Dockerfile은 또한 Ublock Origin, Decentraleyes 및 Privacy Badger에 대한 라인을 언급했습니다. 그들은 안정성을 돕기 위해 논평을 받았지만, 당신은 당신의 필요에 맞게 쉽게 무우 할 수 있습니다.
이 이미지는 Docker Hub에 게시되며 명령으로 실행할 수 있습니다.
$ docker run -d --rm --shm-size=1G -p 8080:8080 --name foxception lawndoc/foxception:latest
이 Docker 컨테이너가 제대로 작동하고 닫으려면 모든 플래그를 포함시키는 것이 중요합니다. 사용중인 모든 깃발과 그 의미를 읽는 것이 좋습니다 (아래의 중요한 참고 사항 참조).
SecComp 필터 로이 이미지를 실행하여 활용이 성공적인 경우 컨테이너의 허용 된 시설을 최소화 할 수 있습니다. 이렇게하려면이 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 필터를 생성합니다. 제공된 필터는이 컨테이너가 의도 한대로 작동하는 데 필요한 SyScall 만 허용합니다. 이 서비스에 대해 어떤 종류의 취약성 분석도 수행하지 않았기 때문에 SECCOMP 필터를 사용하는 것이 좋습니다 (아래 중요한 참고 사항 참조).
또한 컨테이너를 너무 많이 수정하면 제공된 SECComp 필터에 의해 유명하지 않은 추가 SyScalls가 필요할 수 있습니다. 이 시나리오에서는 위에서 언급 한 도구를 사용하여 새 필터를 생성 할 수 있습니다.
자신의 기본 확장을 선택하려면 XPI 아카이브를 디렉토리/USR/Share/Mozilla/Extensions/{EC8030F7-C20A-464F-9B0E-13A3A97384}에 추가해야합니다.
아카이브는 <app id> .xpi로 명명되어야합니다. 여기서 <app id>는 애드온의 응용 프로그램 ID입니다. 예를 들어, {ec8030f7-c20a-464f-9b0e-13a3a9e97384}는 Firefox의 앱 ID이며 XPI 아카이브를 추가 해야하는 디렉토리의 이름입니다. 현지 Firefox 브라우저에서 디버깅을 통해 이미 가지고있는 모든 추가 기능의 앱/확장 ID를 찾을 수 있습니다.
확장자를 다운로드하려면 Dockerfile에서와 같이 컬을하십시오. Firefox Add-Nons 웹 사이트로 이동하여 "Firefox에 추가"버튼을 오른쪽으로 클릭하거나 마우스 오른쪽 버튼으로 클릭하여 애드온 XPI 아카이브의 다운로드 URL을 얻을 수 있습니다.
설정에 따라이 브라우저는 인터넷에 노출 될 수 있습니다. 네트워크에서 실행되므로 브라우저에서 수행되는 모든 작업은 호스트 네트워크에 다시 연결됩니다. 따라서 방화벽, HTPasswd 등으로 액세스 할 수있는 위치를 알고 액세스를 제어 할 수 있도록하십시오 ... 또한이 컨테이너에 대한 취약성 분석을 수행하지 않았으므로 의도하지 않은 일을 할 수 있습니다. 이런 이유로 위의 지시에 따라 제공된 Seccomp 필터와 함께이 컨테이너를 실행해야합니다.