
리눅스 네임스페이스 및 seccomp-bpf 샌드박스
Firejail은 (잠재적으로 신뢰할 수 없는) 애플리케이션을 실행하기 위한 제한된 환경을 설정하여 Linux 시스템을 보호하도록 설계된 경량 보안 도구입니다.
보다 구체적으로, Linux namespaces, seccomp-bpf 및 Linux capabilities를 사용하여 보안 침해 위험을 줄이는 SUID 샌드박스 프로그램입니다. 이를 통해 프로세스와 그 모든 하위 프로세스가 네트워크 스택, 프로세스 테이블, 마운트 테이블과 같이 전역적으로 공유되는 커널 리소스에 대해 자체적인 개별 뷰를 가질 수 있습니다. Firejail은 SELinux 또는 AppArmor 환경에서 작동할 수 있으며, Linux Control Groups와 통합되어 있습니다.
의존성이 거의 없는 C로 작성된 이 소프트웨어는 커널 버전 3.x 이상인 모든 Linux 컴퓨터에서 실행됩니다. 서버, 그래픽 애플리케이션, 심지어 사용자 로그인 세션 등 모든 유형의 프로세스를 샌드박싱할 수 있습니다. 이 소프트웨어에는 Mozilla Firefox, Chromium, VLC, Transmission 등과 같은 보다 일반적인 여러 Linux 프로그램에 대한 샌드박스 프로필이 포함되어 있습니다.
샌드박스는 경량이며 오버헤드가 낮습니다. 편집할 복잡한 구성 파일도, 열려 있는 소켓 연결도, 백그라운드에서 실행되는 데몬도 없습니다. 모든 보안 기능은 Linux 커널에 직접 구현되어 있으며 모든 Linux 컴퓨터에서 사용할 수 있습니다.
빠른 시작 |
고급 브라우저 보안 |
Tor 브라우저 보안 |
SECURITY.md를 참조하십시오.
지원되는 버전은 SECURITY.md를 참조하십시오.
참고: Debian stable 및 backports의 버전은 오래되었을 가능성이 있으므로, 현재로서는 최신 릴리스에서 .deb 패키지를 다운로드하여 설치하는 것을 권장합니다:
또는 소스에서 빌드하는 것을 권장합니다.
Debian stable (bullseye): backports 패키지를 사용하는 것을 권장합니다.
참고: 배포판 및 PPA의 버전은 오래되었을 가능성이 있으므로, 현재로서는 최신 릴리스에서 .deb 패키지를 다운로드하여 설치하는 것을 권장합니다:
또는 소스에서 빌드하는 것을 권장합니다.
참고: PPA 권장 사항은 주로 firejail 자체를 위한 것입니다. firetools 및 firejail 관련 도구가 PPA에 없고 업데이트 빈도가 낮은 경우 배포판에서 직접 설치해도 무방합니다.
Ubuntu 18.04+ 및 파생 배포판(예: Linux Mint)의 사용자는 PPA를 사용할 것을 강력히 권장합니다.
PPA를 추가하고 설치하는 방법:
sudo add-apt-repository ppa:deki/firejail
sudo apt-get update
sudo apt-get install firejail firejail-profiles
이유: Ubuntu 20.04용 firejail 패키지는 Launchpad에 패치가 게시된 후 몇 달 동안 CVE-2021-26910에 취약한 상태로 방치되었습니다:
https://wiki.ubuntu.com/SecurityTeam/FAQ도 참조하십시오:
Ubuntu 보안 팀이 지원하는 소프트웨어는 무엇입니까?
Ubuntu는 현재 main, restricted, universe, multiverse의 네 가지 구성 요소로 나뉩니다. main 및 restricted의 모든 바이너리 패키지는 Ubuntu 릴리스 수명 동안 Ubuntu 보안 팀의 지원을 받는 반면, universe 및 multiverse의 바이너리 패키지는 Ubuntu 커뮤니티의 지원을 받습니다.
또한 PPA 버전은 더 최신이며 더 많은 프로필 수정 사항을 포함할 가능성이 높습니다.
자세한 내용은 다음 논의를 참조하십시오:
Firejail은 여러 Linux 배포판에서 사용할 수 있습니다:
앞서 언급한 예외를 제외하고, 배포판에서 지원되는 버전의 firejail을 제공하는 한 일반적으로 배포판에서 설치하는 것이 좋습니다.
설치 후 firejail --version으로 버전을 확인할 수 있습니다.
릴리스된 패키지 중 하나를 설치할 수도 있습니다.
현재 개발 버전을 소스에서 빌드하고 설치하는 지침입니다.
해당되는 경우 아래의 배포판별 지침을 사용하는 것이 좋습니다. 이는 네이티브 패키지를 생성하여 시스템의 나머지 부분 및 패키지 관리와의 통합을 더 쉽게 만들어 주기 때문입니다.
다른 배포판의 경우 일반 지침을 참조하십시오.
배포판별 빌드가 CI에서 어떻게 수행되는지는 .gitlab-ci.yml을 참조하십시오.
참고: AUR 패키지는 저희가 유지 관리하지 않습니다.
AUR에서 firejail-git을 설치하십시오.
예:
yay -S firejail-git
Debian, Ubuntu 및 파생 배포판의 경우:
참고: 모든 ./configure 플래그는 mkdeb.sh에 전달해야 합니다 (예: ./mkdeb.sh --enable-foo).
sudo apt-get update -qy
sudo apt-get install -qy \
git build-essential fakeroot lintian libapparmor-dev pkg-config gawk
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./mkdeb.sh &&
sudo dpkg -i ./*.deb &&
make installcheck
Fedora 및 파생 배포판의 경우:
참고: 모든 ./configure 플래그는 mkrpm.sh에 전달해야 합니다 (예: ./platform/rpm/mkrpm.sh --enable-foo).
sudo dnf update -y
sudo dnf install -y rpm-build gcc make
git clone 'https://github.com/netblue30/firejail.git' &&
cd firejail &&
./configure &&
make dist &&
./platform/rpm/mkrpm.sh &&
sudo rpm -i ./*.rpm &&
make installcheck
일반 빌드/설치 지침: