Заблокируйте сетевой доступ для приложений Linux

Заблокируйте сетевой доступ для приложений Linux

Я хочу запустить одно ненадежное приложение в виртуальной машине Linux (хост — Windows 10 с VirtualBox). Ему нужен доступ к другому серверу в моей локальной сети, но я хочу заблокировать любой другой сетевой доступ за пределами этого порта на одном IP.

AppArmor, похоже, не допускает столь точных сетевых ограничений.

Я бы предпочел не блокировать сетевой доступ всей гостевой ОС, поскольку я хочу иметь возможность запускать, например sudo apt-get update, , но если это все, что я могу сделать, то это приемлемо.

Какое лучшее решение? Возможно, скрипт, который устанавливает временные общесистемные правила брандмауэра перед запуском этой программы?

решение1

Поскольку ваша виртуальная машина — Linux, я бы воспользовался преимуществами Linux.пространства имензапустить это приложение вв песочницесреда, например, с использованиемПожарная тюрьма. В вашем случае одним из возможных подходов было бы созданиевиртуальный сетевой интерфейсс ограниченной областью действия, которая может достичь только другого сервера в вашей локальной сети.

Затем запустите свое приложение с помощью Firejail, чтобы оно могло «видеть» только один сетевой интерфейс — ограниченный.

В командной строке результирующая команда будет выглядеть примерно так:

firejail --net=veth0 yourapp

Но вы также можете создать индивидуальный профиль.

Связанный контент