@nirvimel

Какой самый простой способ в Linux получить шелл (песочницу), из которого заблокирован доступ к сети?

Я никогда не пользовался всеми этими SELinux/AppArmor и прочими LXC по той причине, что задачи под них, которые возникают на домашнем десктопе, не стоят того времени, которое требуется для раскуривания документации, ручного написания конфигов и ввода кучи команд в консоли на каждый чих. Но может быть существует реально простой способ без танцев с бубном создать огорошенную песочницу (все порождаемые процессы остаются внутри), которая отличается от внешнего к ней мира только отсутствием доступа ко всем сетевым интерфейсам (возможно, кроме loopback).
  • Вопрос задан
  • 900 просмотров
Решения вопроса 1
Mystray
@Mystray
NOC
Запустить процесс в отдельном network namespace - самый простой способ.
В нем будет только потушенный интерфейс lo. Можно пробрасывать внутрь интерфейсы, при необходимости.
# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 38:2c:4a:bf:18:41 brd ff:ff:ff:ff:ff:ff
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:15:17:0e:24:42 brd ff:ff:ff:ff:ff:ff
# ip route
default via 192.168.0.1 dev eth0 
169.254.0.0/16 dev eth0  scope link  metric 1000 
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.12
# ip netns add TEST
# ip netns exec TEST bash #все последующее выполняется уже "внутри" неймспейса:
# ip route
# ip link
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы