특정 프로그램을 허용하거나 거부하기 위해 방화벽 규칙을 어떻게 설정합니까?

특정 프로그램을 허용하거나 거부하기 위해 방화벽 규칙을 어떻게 설정합니까?

이 튜토리얼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를 사용하면 이름을 기준으로 프로그램을 차단할 수 없습니다. 일부 방화벽은 이름에 따라 프로그램을 차단할 수 있습니다.

관련 정보