特定のプログラムを許可または拒否するためにファイアウォールルールをどのように設定しますか?

特定のプログラムを許可または拒否するためにファイアウォールルールをどのように設定しますか?

このチュートリアルDansGuardian、Privoxy、およびいくつかのファイアウォールルールを使用して簡単な子供保護を設定する方法を示します。私はそれをテストしましたが、これまでほとんどの場合うまくいくようです。

しかし、私が理解できないいくつかのことがあります。つまり、このチュートリアルでは、次のファイアウォールルールなどを設定するように指示されます。

sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m owner --uid-owner privoxy -j ACCEPT
sudo iptables -A OUTPUT -o lo -p tcp --dport 8118 -m owner --uid-owner dansguardian -j ACCEPT

待つ... -m owner --uid-owner dansguardian, -m owner --uid-owner privoxy? ?

私はいつもuidがユーザー名またはグループになり、プロセスやファイルではなくユーザーに割り当てることができると思いました。私が間違って読んだと思います...

getent groupの項目は表示されますが。の項目はdansguardian表示されないため、さらに混乱しています。したがって、ユーザーでもグループでもないので、これが何を意味するのかprivoxyわかりません。--uid-owner privoxyprivoxy

私にこれを説明していただきありがとうございます。

答え1

私はいつもuidがユーザー名またはグループであると思いました。

それらはいユーザー名。Privoxy名前付きユーザーprixovyDansGuardian名前付きユーザーとして実行できるように設計されていますdansguardian

getent グループは dansguardian のエントリを表示しますが、privoxy のエントリは表示しないため、これはさらに混乱します。

cat /etc/passwdユーザーのリストを表示するには、次のようにします。 DebianまたはUbuntuにパッケージをインストールした場合は、privoxyシステムのユーザーである可能性が高くなります。そんな相手がprivoxyいないかもしれない。groupdansguardian

答え2

使用しているポートに基づいて、メッセンジャーアプリなどのプログラムをブロックできます。 iptablesでは、名前に基づいてプログラムをブロックすることはできません。一部のファイアウォールは、名前に基づいてプログラムをブロックすることがあります。

関連情報