신뢰할 수없는 작은 프로그램을 실행하고 싶지만 폴더 외부의 파일, 네트워크 액세스 및 실제로 필요하지 않은 모든 파일에 액세스하지 못하게하십시오. 이것을 달성하는 가장 간단한 방법은 무엇입니까?
신뢰할 수없는 작은 프로그램을 실행하고 싶지만 폴더 외부의 파일, 네트워크 액세스 및 실제로 필요하지 않은 모든 파일에 액세스하지 못하게하십시오. 이것을 달성하는 가장 간단한 방법은 무엇입니까?
답변:
그들이 정말로 신뢰할 수없고 확신하기를 원한다면 별도의 상자를 설정해야합니다. 실제로 또는 사실상.
또한, 당신이 충분히 편집증이라면 그 상자가 중요한 것들과 동일한 네트워크에 있기를 원하지 않습니다. 모든 솔루션에서 권한이없는 별도의 사용자를 설정 했으므로 공격자가 너무 많은 도구를 열지 마십시오.
같은 상자에서 실행해야한다면이 옵션이 있습니다.
chroot
. 이것은 많은 사람들에게이 작업을 수행하기위한 기본 옵션이며 비 특정 위협의 경우에는 작동 할 수도 있습니다. 그러나 이것은 보안 옵션이 아니며 오히려 쉽게 벗어날 수 있습니다. 보안 목적이 아닌 의도 한대로 사용하는 것이 좋습니다.결국 번거로운 가상화 나 별도의 상자 또는 여전히 위험 상황없이 특정 샌드 박싱 모델을 설정해야 할 수도 있습니다 chroot
. 이것이 당신이 의미하는 바는 아니지만, 더 자세한 정보 는 이 링크 를 보십시오 .
Firejail 은 상당히 새롭고 지속적으로 개발되고 있습니다. 사용하기 쉬운.
간단하게 할 수 있습니다 :
sudo apt-get install firejail
firejail app
Docker를 사용 하면 현재 커널에서 벗어날 수있는 컨테이너를 설정하는 동시에 다른 시스템과 격리시킬 수 있습니다. 꽤 최첨단 인 것처럼 보이지만 우분투에는 좋은 문서가 있습니다.
가능한 솔루션 중 하나는 소프트웨어 센터에서 찾을 수있는 VirtualBox와 같은 가상화 소프트웨어입니다.
신뢰할 수없는 소프트웨어를 설치하여 기능을 확인할 수 있습니다. 외부 세계를 화나게하거나 액세스 권한이 없으므로 OS를 호스팅 할 수 없습니다.
그러나 가상 머신을 폐기 할 수 있지만 스냅 샷에서 복원 할 수 있습니다.
신뢰할 수없는 소프트웨어의 파괴적인 힘을 제한하는 다른 방법이있을 수 있지만 이것이 제가 생각할 수있는 가장 강력한 방법입니다.
LXC는 가벼운 가상 시스템 메커니즘 인 Linux Containers의 사용자 공간 제어 패키지로, "Chroot on steroids"라고도합니다.
LXC는 chroot에서 빌드되어 완전한 가상 시스템을 구현하여 Linux의 기존 프로세스 관리 인프라에 리소스 관리 및 격리 메커니즘을 추가합니다.
소프트웨어 센터에서 구할 수 있습니다. 그러나 나는 경험이 없다.
하위 사용자를 사용하여 Docker로 애플리케이션을 샌드 박싱 할 수 있습니다. 이를 통해 Docker에서 직접 수행하기 어려운 샌드 박스 GUI 앱을 수행 할 수 있습니다.
sudo apt install subuser
가능한 해결책은 테스트 목적으로 별도의 사용자를 만들고 그의 권한을 제한하는 것입니다. 이런 식으로 성능을 잃지 않을 것입니다. 가상 머신에서 확실히 일어날 일이지만, 제대로 설정하지 않으면 안전하지 않다고 생각합니다.