Ubuntu - заблокировать доступ в Интернет для всех приложений, кроме нескольких избранных

Чтобы перехватить вывод команды gawk и запустить команду с именами файлов, сохраненными в переменных, вам просто нужно сделать следующее:

compareAwkOut=$(gawk -f $COMPARE_AWK_SCRIPT $filename1 $filename2)

Из вашего вопроса было неясно, но если имена файлов хранятся в файле с именем в переменных, это может быть то, что вам нужно:

filename1=$(cat $diffedRowFromFirstFile)
filename2=$(cat $diffedRowFromSecondFile)
5
19.04.2017, 12:51
3 ответа

gufw и другие брандмауэры, поставляемые по умолчанию, не предназначены для фильтрации по приложениям - gufw - это несложный интерфейс с графическим интерфейсом для ufw , который не предназначен для фильтрации на уровне приложений, это просто несложный интерфейс для настройки основных правил фильтрации на основе IP, порта и т. д.

То, что вы ищете, выходит за рамки стандартных наборов правил брандмауэра в Linux, которые ufw и ] gufw может разместить. Есть несколько предлагаемых методов (связанный - это элементы управления на основе групп, поэтому вам нужно добавить приложения, которые вы хотите получить доступ к сети, в определенную группу), но есть также другие приложения, такие как Douane , который также может делать это на прикладном уровне.

6
27.01.2020, 20:37

Я нашел для вас одно возможное решение: Douane - домашняя страница

Однако мне не удалось найти упакованную версию для вашей Ubuntu.

Но так как все довольно хорошо описано на Douane — странице компиляции GitHub, я не вижу в этом проблемы.

1
27.01.2020, 20:37

Одним из методов, который может блокировать доступ в Интернет для каждого приложения , является «песочница».

Часто сетевой доступ к приложениям и из них косвенно контролируется с помощью правил брандмауэра. Обычно бывает так, что приложение пытается последовательно установить связь (либо с определенным портом/адресом, либо с определенного порта/адреса )и с брандмауэром вы можете запретить доступ к/от определенного порта или адреса, чтобы лишить приложение доступа к Интернету (или к какому-либо другому компьютеру ). Однако, если приложение не взаимодействует согласованным образом, было бы очень сложно написать правила брандмауэра, в которых вы были бы уверены, что все его сети блокируются. Также возможно, что приложение, с которым вы хотите работать, также обменивается данными, используя тот же порт/адрес, и брандмауэр, скорее всего, заблокирует оба приложения.

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

Я не буду подробно -описывать настройку, но такие программы, как Docker и Kubernetes, разрабатывались именно с учетом этого;вы можете разрешить как можно меньше, так и больше сетевого доступа к программному обеспечению, работающему в их «контейнерах» (, также известных как песочница ).

Излишне говорить, что выполнение всего внутри контейнера требует гораздо больше усилий, но если есть несколько конкретных приложений, которые вас беспокоят, это может оказаться полезным для них.

0
27.01.2020, 20:37

Теги

Похожие вопросы