Chcę uruchamiać małe niezaufane programy, ale ograniczam im dostęp do plików poza ich folderem, dostęp do sieci i wszystko, czego tak naprawdę nie potrzebują. Jaki jest najprostszy sposób na osiągnięcie tego?
Chcę uruchamiać małe niezaufane programy, ale ograniczam im dostęp do plików poza ich folderem, dostęp do sieci i wszystko, czego tak naprawdę nie potrzebują. Jaki jest najprostszy sposób na osiągnięcie tego?
Odpowiedzi:
Jeśli są naprawdę niezaufane i chcesz mieć pewność, skonfigurujesz osobne pudełko. Naprawdę lub wirtualnie.
Co więcej, nie chcesz, aby to pole było w tej samej sieci, co twoje ważne rzeczy, jeśli jesteś wystarczająco paranoikiem. We wszystkich rozwiązaniach ustawiałbyś osobnego użytkownika bez uprawnień, więc nie otwieraj zbyt wielu narzędzi dla potencjalnego kompromisu.
Jeśli jesteś zmuszony uruchomić go w tym samym pudełku, masz na przykład tę opcję
chroot
. Jest to domyślna opcja dla wielu osób, a dla niespecyficznych zagrożeń może nawet działać. Ale to NIE jest opcja bezpieczeństwa i można ją łatwo usunąć. Sugerowałbym używać tego zgodnie z przeznaczeniem, tj. Nie ze względów bezpieczeństwa.W końcu może być konieczne skonfigurowanie określonego modelu piaskownicy bez kłopotów związanych z wirtualizacją lub oddzielnymi skrzynkami lub sytuacją zagrożenia chroot
. Wątpię, by o to ci chodziło, ale spójrz na ten link, aby uzyskać bardziej szczegółowe informacje.
Firejail jest dość nowy i ciągle się rozwija. Łatwy w użyciu.
Możesz po prostu:
sudo apt-get install firejail
firejail app
Docker pomoże ci skonfigurować kontenery, które możesz uruchomić z obecnego jądra, a jednocześnie trzymać z dala od reszty systemu. Wydaje się to całkiem nowatorskie, ale dobra dokumentacja koncentruje się na Ubuntu.
Jednym z możliwych rozwiązań jest oprogramowanie do wirtualizacji, takie jak VirtualBox, które można znaleźć w centrum oprogramowania.
Możesz teraz zainstalować oprogramowanie, któremu nie ufasz, aby zobaczyć, co on robi. Nie może zdenerwować świata zewnętrznego ani hostować systemu operacyjnego, ponieważ nie ma dostępu.
Może jednak zniszczyć twoją maszynę wirtualną, ale jeśli tak, możesz po prostu przywrócić ją z migawki.
Mogą istnieć inne metody ograniczania niszczycielskiej mocy niezaufanego oprogramowania, ale jest to najsolidniejsza metoda, jaką mogę wymyślić.
Inną opcją może być LXC więcej informacji tutaj
LXC to pakiet kontrolny przestrzeni użytkownika dla kontenerów Linux, lekki mechanizm systemu wirtualnego czasami określany jako „chroot na sterydach”.
LXC składa się z chroot w celu wdrożenia kompletnych systemów wirtualnych, dodając zarządzanie zasobami i mechanizmy izolacyjne do istniejącej infrastruktury zarządzania procesami w Linuksie.
Jest dostępny w centrum oprogramowania. Nie mam jednak doświadczenia.
Mbox to lekki mechanizm piaskownicy, z którego może korzystać każdy użytkownik bez specjalnych uprawnień w systemach operacyjnych dla towarów.
Użyłem go do kilku rzeczy niezawodnie.
Możesz użyć subuser do piaskownicy swoich aplikacji za pomocą Dockera. Pozwala to robić takie rzeczy jak aplikacje GUI w sandboxie, co nie jest łatwe do wykonania bezpośrednio z Dockerem.
sudo apt install subuser
Myślę, że możliwym rozwiązaniem jest utworzenie osobnego użytkownika do celów testowych i ograniczenie jego uprawnień. W ten sposób nie stracisz wydajności, co na pewno zdarzy się na maszynie wirtualnej, ale myślę, że jest to mniej bezpieczne, jeśli nie skonfigurowane bardzo poprawnie, czego nie mogę poradzić, jak to zrobić.
Jeśli chcesz po prostu piaskownicować aktywność użytkowników, możesz użyć „DoSH”
DoSH (skrót od Docker SHell) to program do tworzenia kontenerów Docker, gdy użytkownicy logują się w systemie Linux i uruchamiają w nich powłokę, zamiast symetrycznego tworzenia powłoki.