웹사이트 검색

Firejail - Linux에서 신뢰할 수 없는 애플리케이션을 안전하게 실행


때로는 다른 환경에서 제대로 테스트되지 않은 응용 프로그램을 사용하고 싶지만 사용해야 할 수도 있습니다. 이러한 경우 시스템 보안에 대해 우려하는 것은 정상입니다. Linux에서 수행할 수 있는 한 가지 작업은 샌드박스에서 애플리케이션을 사용하는 것입니다.

'샌드박싱'은 제한된 환경에서 애플리케이션을 실행하는 기능입니다. 이렇게 하면 애플리케이션을 실행하는 데 필요한 충분한 양의 리소스가 제공됩니다. Firejail이라는 애플리케이션 덕분에 Linux에서 신뢰할 수 없는 애플리케이션을 안전하게 실행할 수 있습니다.

FirejailLinux 네임스페이스seccomp-bpf를 사용하여 신뢰할 수 없는 프로그램의 실행 환경을 제한하여 보안 침해 노출을 줄이는 SUID(Set Owner User ID) 애플리케이션입니다. .

이는 프로세스와 그 모든 하위 항목이 네트워크 스택, 프로세스 테이블, 마운트 테이블과 같이 전역적으로 공유되는 커널 리소스에 대한 자체 비밀 보기를 갖도록 만듭니다.

Firejail이 사용하는 일부 기능은 다음과 같습니다.

  • Linux 네임스페이스
  • 파일 시스템 컨테이너
  • 보안 필터
  • 네트워킹 지원
  • 자원 할당

Firejail 기능에 대한 자세한 내용은 공식 페이지에서 확인할 수 있습니다.

Linux에 Firejail을 설치하는 방법

그림과 같이 git 명령을 사용하여 프로젝트의 github 페이지에서 최신 패키지를 다운로드하면 설치가 완료됩니다.

git clone https://github.com/netblue30/firejail.git
cd firejail
./configure && make && sudo make install-strip

시스템에 git이 설치되어 있지 않은 경우 다음을 사용하여 설치할 수 있습니다.

sudo apt install git  [On Debian/Ubuntu]
yum install git       [On CentOS/RHEL]
dnf install git       [On Fedora 22+]

firejail을 설치하는 또 다른 방법은 Linux 배포판과 관련된 패키지를 다운로드하고 패키지 관리자를 사용하여 설치하는 것입니다. 파일은 프로젝트의 SourceForge 페이지에서 다운로드할 수 있습니다. 파일을 다운로드한 후 다음을 사용하여 설치할 수 있습니다.

sudo dpkg -i firejail_X.Y_1_amd64.deb   [On Debian/Ubuntu]
sudo rpm -i firejail_X.Y-Z.x86_64.rpm   [On CentOS/RHEL/Fedora]

Linux에서 Firejail로 애플리케이션을 실행하는 방법

이제 Firejail을 사용하여 애플리케이션을 실행할 준비가 되었습니다. 이는 터미널을 시작하고 실행하려는 명령 앞에 firejail을 추가하면 수행됩니다.

예는 다음과 같습니다.

firejail firefox    #start Firefox web browser
firejail vlc        # start VLC player

보안 프로필 생성

Firejail에는 다양한 애플리케이션에 대한 많은 보안 프로필이 포함되어 있으며 다음 위치에 저장됩니다.

/etc/firejail

소스에서 프로젝트를 빌드한 경우 다음에서 프로필을 찾을 수 있습니다.

path-to-firejail/etc/

rpm/deb 패키지를 사용한 경우 다음에서 보안 프로필을 찾을 수 있습니다.

/etc/firejail/

사용자는 자신의 프로필을 다음 디렉터리에 배치해야 합니다.

~/.config/firejail

기존 보안 프로필을 확장하려면 프로필 경로와 함께 include를 사용하고 나중에 줄을 추가할 수 있습니다. 이는 다음과 같아야 합니다.

cat ~/.config/firejail/vlc.profile

include /etc/firejail/vlc.profile
net none

특정 디렉토리에 대한 애플리케이션 액세스를 제한하려면 블랙리스트 규칙을 사용하여 정확하게 이를 달성할 수 있습니다. 예를 들어 보안 프로필에 다음을 추가할 수 있습니다.

blacklist ${HOME}/Documents

동일한 결과를 얻는 또 다른 방법은 제한하려는 폴더의 전체 경로를 실제로 설명하는 것입니다.

blacklist /home/user/Documents

액세스 금지, 읽기 전용 액세스 허용 등 보안 프로필을 구성할 수 있는 다양한 방법이 있습니다. 사용자 정의 프로필을 작성하는 데 관심이 있는 경우 다음 Firejail 지침을 확인할 수 있습니다.

Firejail은 보안에 관심이 많고 시스템을 보호하려는 사용자를 위한 훌륭한 도구입니다.