LINUX.ORG.RU

Iptables для ньюфага(запретить выход конкретному приложению)

 


0

1

Привет, делал по инструкции

https://serverfault.com/questions/550276/how-to-block-internet-access-to-certain-programs-on-linux

Create, validate new group; add required users to this group:

Create: groupadd no-internet

Validate: grep no-internet /etc/group

Add user: useradd -g no-internet username

Note: If you’re modifying already existing user you should run: usermod -a -G no-internet userName check with : sudo groups userName

Create a script in your path and make it executable:

Create: nano /home/username/.local/bin/no-internet

Executable: chmod 755 /home/username/.local/bin/no-internet

Content: #!/bin/bash sg no-internet «$@»

Add iptables rule for dropping network activity for group no-internet:

iptables -I OUTPUT 1 -m owner –gid-owner no-internet -j DROP

Note: Don’t forget to make the changes permanent, so it would be applied automatically after reboot. Doing it, depends on your Linux distribution.

  1. Check it, for example on Firefox by running:

no-internet «firefox»

После того как ввожу no-internet «firefox» или sudo no-internet «firefox» получаю bash/sudo соответственно no-internet: command not found Что я делаю не так?



Последнее исправление: newphonebass (всего исправлений: 2)

Что я делаю не так?

  • за 4 года не освоил разметку форума;
  • не добавил /home/username/.local/bin/ в PATH.
vvn_black ★★★★★
()

А если /home/username/.local/bin/no-internet firefox?

zloelamo ★★★★
()

Можно проще без iptables, с использованием пространств имен: unshare -nUc firefox

deadNightTiger ★★★★★
()
Ответ на: комментарий от vvn_black

не добавил /home/username/.local/bin/ в PATH

В Ubuntu .local/bin есть в PATH, в других дистрибутивах надо добавлять. Для этого в ~/.profile добавить (все приходится подсматривать у убунты):

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

Или просто держать свои бинарники в ~/bin, что предлагают другие дистры, но этот каталог может резать глаза.

xomon47
()

Можно проще. Установить firejail

firejail --net=none vlc

Но там проблема, вроде как пульсу надо особым образом пробрасывать, чтобы звук был.

xomon47
()

Don’t forget to make the changes permanent, so it would be applied automatically after reboot. Doing it, depends on your Linux distribution

Вот как это делается в Ubuntu 16.04, если что (на примере добавления IP 1.2.3.4 в запрещенные, но в твоем случае правило выше)

sudo apt install iptables-persistent netfilter-persistent
sudo iptables -A OUTPUT -s 1.2.3.4 -j DROP (добавить правило на время сеанса)
sudo iptables -D OUTPUT -s 1.2.3.4 -j DROP (удалить правило из сеанса)
sudo iptables -L OUTPUT -v -n (посмотреть правила)
sudo nano /etc/iptables/rules.v4 (посмотреть правила)
sudo netfilter-persistent save (сохранить настройки постоянно)
sudo netfilter-persistent reload (применить новые настройки сразу)

xomon47
()
Ответ на: комментарий от xomon47

Окей, я добавил Path, добавил firefox в no internet, пока все равно есть доступ в сеть. Как можно проверить кто есть в no internet и как убрать тех кто есть? У меня debian если что.

newphonebass
() автор топика
Последнее исправление: newphonebass (всего исправлений: 1)

sudo no-internet

Кажется, нужно sudo -g no-internet …

ShiningRiver
()
Ответ на: комментарий от newphonebass

добавил firefox в no internet

Это как?

Запускаете firefox и смотрите GID (идентификатор группы) у этого процесс в списке процессов. Сами нагуглите как посмотреть список процессов и как посмотреть GID процесса.

Дальше проверяете, что у вас есть нужно запрещающее правило в iptables, а то может и какой firewalld переписывает. И если всё так, но firefox что-то качает, а у правила счётчик 0, то значит --gid-owner не работает.

mky ★★★★★
()

Iptables

не нужно, есть nftables

anonymous
()
Ответ на: комментарий от xomon47

Как все сложно. За что все так не любят SELinux? Прямо в базовом репозитории rhel есть соответствующие политики в готовом виде. Без настроек файрволла и создания новых пользователей.

i586 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.