最近、インターネットアクセスを特定のプログラムに制限する問題に遭遇しました。特定のソフトウェアを使用せずに、誰かがそれを行うための良い方法をお勧めできますか?
私にとっての解決策はたまたま単純でした。
groupadd no-internet
grep no-internet /etc/group
useradd -g no-internet username
usermod -a -G no-internet userName
確認する : Sudo groups userName
nano /home/username/.local/bin/no-internet
chmod 755 /home/username/.local/bin/no-internet
#!/bin/bash
sg no-internet "$@"
iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
4.たとえば、Firefoxで次のコマンドを実行して確認します。
no-internet "firefox"
例外を作成し、プログラムがローカルネットワークにアクセスできるようにする場合:
iptables -A OUTPUT -m owner --gid-owner no-internet -d 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner no-internet -d 127.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -m owner --gid-owner no-internet -j DROP
注:スポーンの場合、ルールは維持されます。たとえば、no-internetルールでプログラムを実行し、そのプログラムがブラウザウィンドウを開く場合でも、ルールは適用されます。